diff --git a/bbl/i18n/BambuStudio.pot b/bbl/i18n/BambuStudio.pot index ac89017de..864fb77ba 100644 --- a/bbl/i18n/BambuStudio.pot +++ b/bbl/i18n/BambuStudio.pot @@ -5847,14 +5847,6 @@ msgid "" "object printing." msgstr "" -msgid "Max Radius" -msgstr "" - -msgid "" -"Max clearance radius around extruder. Used for collision avoidance in by-" -"object printing." -msgstr "" - msgid "Extruder Color" msgstr "" diff --git a/bbl/i18n/de/BambuStudio_de.po b/bbl/i18n/de/BambuStudio_de.po index b47feb940..8de39dc82 100644 --- a/bbl/i18n/de/BambuStudio_de.po +++ b/bbl/i18n/de/BambuStudio_de.po @@ -6227,14 +6227,6 @@ msgid "" "object printing." msgstr "" -msgid "Max Radius" -msgstr "" - -msgid "" -"Max clearance radius around extruder. Used for collision avoidance in by-" -"object printing." -msgstr "" - msgid "Extruder Color" msgstr "Extruder Farbe" diff --git a/bbl/i18n/en/BambuStudio_en.po b/bbl/i18n/en/BambuStudio_en.po index bb73832e2..9ea01cb7c 100644 --- a/bbl/i18n/en/BambuStudio_en.po +++ b/bbl/i18n/en/BambuStudio_en.po @@ -6115,14 +6115,6 @@ msgid "" "object printing." msgstr "" -msgid "Max Radius" -msgstr "" - -msgid "" -"Max clearance radius around extruder. Used for collision avoidance in by-" -"object printing." -msgstr "" - msgid "Extruder Color" msgstr "Extruder Color" diff --git a/bbl/i18n/es/BambuStudio_es.po b/bbl/i18n/es/BambuStudio_es.po index bc7c064ff..4d6b5a125 100644 --- a/bbl/i18n/es/BambuStudio_es.po +++ b/bbl/i18n/es/BambuStudio_es.po @@ -6215,14 +6215,6 @@ msgid "" "object printing." msgstr "" -msgid "Max Radius" -msgstr "" - -msgid "" -"Max clearance radius around extruder. Used for collision avoidance in by-" -"object printing." -msgstr "" - msgid "Extruder Color" msgstr "Color del extrusor" diff --git a/bbl/i18n/fr/BambuStudio_fr.po b/bbl/i18n/fr/BambuStudio_fr.po index c73a65aa5..71240fe32 100644 --- a/bbl/i18n/fr/BambuStudio_fr.po +++ b/bbl/i18n/fr/BambuStudio_fr.po @@ -6201,14 +6201,6 @@ msgid "" "object printing." msgstr "" -msgid "Max Radius" -msgstr "" - -msgid "" -"Max clearance radius around extruder. Used for collision avoidance in by-" -"object printing." -msgstr "" - msgid "Extruder Color" msgstr "Couleur de l'extrudeuse" diff --git a/bbl/i18n/hu/BambuStudio_hu.po b/bbl/i18n/hu/BambuStudio_hu.po index 099b49d8e..33b73cf4f 100644 --- a/bbl/i18n/hu/BambuStudio_hu.po +++ b/bbl/i18n/hu/BambuStudio_hu.po @@ -6197,14 +6197,6 @@ msgid "" "object printing." msgstr "" -msgid "Max Radius" -msgstr "" - -msgid "" -"Max clearance radius around extruder. Used for collision avoidance in by-" -"object printing." -msgstr "" - msgid "Extruder Color" msgstr "Extruder szín" diff --git a/bbl/i18n/nl/BambuStudio_nl.po b/bbl/i18n/nl/BambuStudio_nl.po index ce8f6ffa4..3dd3539e0 100644 --- a/bbl/i18n/nl/BambuStudio_nl.po +++ b/bbl/i18n/nl/BambuStudio_nl.po @@ -6225,14 +6225,6 @@ msgid "" "object printing." msgstr "" -msgid "Max Radius" -msgstr "" - -msgid "" -"Max clearance radius around extruder. Used for collision avoidance in by-" -"object printing." -msgstr "" - msgid "Extruder Color" msgstr "Extruder kleur" diff --git a/bbl/i18n/sv/BambuStudio_sv.po b/bbl/i18n/sv/BambuStudio_sv.po index 2d66ec882..49046d80c 100644 --- a/bbl/i18n/sv/BambuStudio_sv.po +++ b/bbl/i18n/sv/BambuStudio_sv.po @@ -6116,14 +6116,6 @@ msgid "" "object printing." msgstr "" -msgid "Max Radius" -msgstr "" - -msgid "" -"Max clearance radius around extruder. Used for collision avoidance in by-" -"object printing." -msgstr "" - msgid "Extruder Color" msgstr "Extruder Färg" diff --git a/bbl/i18n/zh_cn/BambuStudio_zh_CN.po b/bbl/i18n/zh_cn/BambuStudio_zh_CN.po index 107fce65b..a81a0e84d 100644 --- a/bbl/i18n/zh_cn/BambuStudio_zh_CN.po +++ b/bbl/i18n/zh_cn/BambuStudio_zh_CN.po @@ -3430,7 +3430,7 @@ msgstr "是否保存修改到“%1%”?" msgid "" "Successfully unmounted. The device %s(%s) can now be safely removed from the " "computer." -msgstr "卸载成功。设备%s(%s)现在可以安全地从电脑移除。" +msgstr "卸载成功。设备%s(%s)现在可能安全地从电脑移除。" #, c-format, boost-format msgid "Ejecting of device %s(%s) has failed." @@ -3565,9 +3565,6 @@ msgstr "选中的模型不可分裂。" msgid "Another export job is running." msgstr "有其他导出任务正在进行中。" -msgid "Another export job is currently running." -msgstr "有其他导出任务正在进行中。" - msgid "Select a new file" msgstr "选择新文件" diff --git a/resources/i18n/de/BambuStudio.mo b/resources/i18n/de/BambuStudio.mo index 9a4f0141d..5d65f784f 100644 Binary files a/resources/i18n/de/BambuStudio.mo and b/resources/i18n/de/BambuStudio.mo differ diff --git a/resources/i18n/en/BambuStudio.mo b/resources/i18n/en/BambuStudio.mo index 9a48f44de..f5952f13f 100644 Binary files a/resources/i18n/en/BambuStudio.mo and b/resources/i18n/en/BambuStudio.mo differ diff --git a/resources/i18n/es/BambuStudio.mo b/resources/i18n/es/BambuStudio.mo index 2ef1af092..741ca77c6 100644 Binary files a/resources/i18n/es/BambuStudio.mo and b/resources/i18n/es/BambuStudio.mo differ diff --git a/resources/i18n/fr/BambuStudio.mo b/resources/i18n/fr/BambuStudio.mo index ca4030b9e..5067d1175 100644 Binary files a/resources/i18n/fr/BambuStudio.mo and b/resources/i18n/fr/BambuStudio.mo differ diff --git a/resources/i18n/hu/BambuStudio.mo b/resources/i18n/hu/BambuStudio.mo index 9412ad3ec..870b9b4f9 100644 Binary files a/resources/i18n/hu/BambuStudio.mo and b/resources/i18n/hu/BambuStudio.mo differ diff --git a/resources/i18n/nl/BambuStudio.mo b/resources/i18n/nl/BambuStudio.mo index bc17718f9..386dd88b2 100644 Binary files a/resources/i18n/nl/BambuStudio.mo and b/resources/i18n/nl/BambuStudio.mo differ diff --git a/resources/i18n/sv/BambuStudio.mo b/resources/i18n/sv/BambuStudio.mo index 0afd883cd..b41931854 100644 Binary files a/resources/i18n/sv/BambuStudio.mo and b/resources/i18n/sv/BambuStudio.mo differ diff --git a/resources/i18n/zh_cn/BambuStudio.mo b/resources/i18n/zh_cn/BambuStudio.mo index 25961d7f7..35f8831a6 100644 Binary files a/resources/i18n/zh_cn/BambuStudio.mo and b/resources/i18n/zh_cn/BambuStudio.mo differ diff --git a/src/libslic3r/Fill/Fill.cpp b/src/libslic3r/Fill/Fill.cpp index 2f7b63a2e..6ee2b0965 100644 --- a/src/libslic3r/Fill/Fill.cpp +++ b/src/libslic3r/Fill/Fill.cpp @@ -475,7 +475,7 @@ void Layer::make_fills(FillAdaptive::Octree* adaptive_fill_octree, FillAdaptive: LayerRegion* layerm = this->m_regions[surface_fill.region_id]; for (ExPolygon& expoly : surface_fill.expolygons) { - f->no_overlap_expolygons = intersection_ex(surface_fill.no_overlap_expolygons, ExPolygons() = {expoly}); + f->no_overlap_expolygons = intersection_ex(surface_fill.no_overlap_expolygons, ExPolygons() = {expoly}); // Spacing is modified by the filler to indicate adjustments. Reset it for each expolygon. f->spacing = surface_fill.params.spacing; surface_fill.surface.expolygon = std::move(expoly); diff --git a/src/libslic3r/GCode/GCodeProcessor.cpp b/src/libslic3r/GCode/GCodeProcessor.cpp index faf3f19fb..91662e93c 100644 --- a/src/libslic3r/GCode/GCodeProcessor.cpp +++ b/src/libslic3r/GCode/GCodeProcessor.cpp @@ -4047,19 +4047,18 @@ void GCodeProcessor::update_slice_warnings() warning.msg = BED_TEMP_TOO_HIGH_THAN_FILAMENT; warning.error_code = "1000C001"; m_result.warnings.push_back(warning); + } //bbs:HRC checker + warning.params.clear(); + warning.level=1; if (m_result.nozzle_hrc!=0) { for (size_t i = 0; i < used_extruders.size(); i++) { int HRC=0; if (used_extruders[i] < m_result.required_nozzle_HRC.size()) HRC = m_result.required_nozzle_HRC[used_extruders[i]]; - if (HRC != 0 && (m_result.nozzle_hrctree_support_layer_count() >= m_object->layer_count()) return; - // Create Tree Support Layers + // Clear and create Tree Support Layers m_object->clear_tree_support_layers(); m_object->clear_tree_support_preview_cache(); @@ -720,11 +720,11 @@ void TreeSupport::detect_object_overhangs() const coordf_t extrusion_width = config.line_width.value; const coordf_t extrusion_width_scaled = scale_(extrusion_width); const coordf_t max_bridge_length = scale_(config.max_bridge_length.value); - const bool bridge_no_support = max_bridge_length > 0;// config.bridge_no_support.value; + const bool bridge_no_support = max_bridge_length > 0; const bool support_critical_regions_only = config.support_critical_regions_only.value; const int enforce_support_layers = config.enforce_support_layers.value; - const double area_thresh_well_supported = SQ(scale_(6)); // min: 6x6=36mm^2 - const double length_thresh_well_supported = scale_(6); // min: 6mm + const double area_thresh_well_supported = SQ(scale_(6)); + const double length_thresh_well_supported = scale_(6); static const double sharp_tail_max_support_height = 8.f; // a region is considered well supported if the number of layers below it exceeds this threshold const int thresh_layers_below = 10 / config.layer_height; @@ -825,15 +825,14 @@ void TreeSupport::detect_object_overhangs() if (std::set{stTreeAuto, stHybridAuto, stTree}.count(stype))// == stTreeAuto || stype == stHybridAuto || stype == stTree) { double threshold_rad = (config.support_threshold_angle.value < EPSILON ? 30 : config.support_threshold_angle.value+1) * M_PI / 180.; - ExPolygons regions_well_supported; // regions on buildplate or well supported - std::map region_layers_below; // regions and the number of layers below - ExPolygons lower_overhang_dilated; // for small overhang - - for (size_t layer_nr = 0; layer_nr < m_object->layer_count(); layer_nr++) - { + ExPolygons regions_well_supported; + std::map region_layers_below; + ExPolygons lower_overhang_dilated; + + for (size_t layer_nr = 0; layer_nr < m_object->layer_count(); layer_nr++){ if (m_object->print()->canceled()) break; - + if (!is_auto && layer_nr > enforce_support_layers) continue; @@ -875,7 +874,7 @@ void TreeSupport::detect_object_overhangs() // normal overhang ExPolygons lower_layer_offseted = offset_ex(lower_polys, support_offset_scaled, SUPPORT_SURFACES_OFFSET_PARAMETERS); ExPolygons overhang_areas = std::move(diff_ex(curr_polys, lower_layer_offseted)); - // overhang_areas = std::move(offset2_ex(overhang_areas, -0.1 * extrusion_width_scaled, 0.1 * extrusion_width_scaled)); + overhang_areas.erase(std::remove_if(overhang_areas.begin(), overhang_areas.end(), [extrusion_width_scaled](ExPolygon &area) { return offset_ex(area, -0.1 * extrusion_width_scaled).empty(); }), overhang_areas.end()); @@ -962,7 +961,7 @@ void TreeSupport::detect_object_overhangs() // 2.4 if the area grows fast than threshold, it get connected to other part or // it has a sharp slop and will be auto supported. - ExPolygons new_overhang_expolys = diff_ex({ expoly }, lower_layer_sharptails); + ExPolygons new_overhang_expolys = diff_ex({expoly}, lower_layer_sharptails); if (!offset_ex(new_overhang_expolys, -5.0 * extrusion_width_scaled).empty()) { is_sharp_tail = false; break; @@ -1133,7 +1132,6 @@ void TreeSupport::detect_object_overhangs() // if (erode1.empty() && !inter_with_others.empty()) // blockers[layer_nr].push_back(p_overhang->contour); } - } } @@ -1162,12 +1160,13 @@ void TreeSupport::detect_object_overhangs() for (auto &area : ts_layer->overhang_areas) { ts_layer->overhang_types.emplace(&area, TreeSupportLayer::Detected); } - + // enforcers if (layer_nr < enforcers.size()) { Polygons& enforcer = enforcers[layer_nr]; // coconut: enforcer can't do offset2_ex, otherwise faces with angle near 90 degrees can't have enforcers, which // is not good. For example: tails of animals needs extra support except the lowest tip. //enforcer = std::move(offset2_ex(enforcer, -0.1 * extrusion_width_scaled, 0.1 * extrusion_width_scaled)); + enforcer = offset(enforcer, 0.1 * extrusion_width_scaled); for (const Polygon& poly : enforcer) { ts_layer->overhang_areas.emplace_back(poly); ts_layer->overhang_types.emplace(&ts_layer->overhang_areas.back(), TreeSupportLayer::Enforced); @@ -1869,7 +1868,7 @@ void TreeSupport::generate_support_areas() if (!tree_support_enable) return; - std::vector> contact_nodes(m_object->layers().size()); //Generate empty layers to store the points in. + std::vector> contact_nodes(m_object->layers().size()); profiler.stage_start(STAGE_total); @@ -2058,10 +2057,10 @@ void TreeSupport::draw_circles(const std::vector>& contact_no const Node& node = *p_node; ExPolygon area; - // 直接从overhang多边形生成,如果: + // 直接从overhang多边形生成,如果? // 1) 是混合支撑里的普通部分, - // 2) 启用了顶部接触层, - // 3) 是顶部空隙 + // 2) 启用了顶部接触层? + // 3) 是顶部空? if (node.type == ePolygon || (top_interface_layers>0 &&node.support_roof_layers_below > 0) || node.distance_to_top<0) { if (node.overhang->contour.size() > 100 || node.overhang->holes.size()>1) area = *node.overhang; diff --git a/src/libslic3r/TriangleMeshSlicer.cpp b/src/libslic3r/TriangleMeshSlicer.cpp index 29f6a8f85..63b739e8e 100644 --- a/src/libslic3r/TriangleMeshSlicer.cpp +++ b/src/libslic3r/TriangleMeshSlicer.cpp @@ -399,7 +399,7 @@ struct SlabLines { std::vector at_slice; // Projections of triangle set boundary lines into layer below (for projection from the top) // or into layer above (for projection from the bottom). - // In both cases the intersection liens are CCW oriented. + // In both cases the intersection lines are CCW oriented. std::vector between_slices; }; diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 8ec2a77aa..2c257e153 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -7651,13 +7651,13 @@ void Plater::import_model_id(const std::string& download_info) wxString name = filename.substr(0, filename.length() - extension.length()); filename = wxString::Format("%s(%d)%s", name, vecFiles.size() + 1, extension).ToStdString(); } - + msg = _L("downloading project ..."); //target_path = wxStandardPaths::Get().GetTempDir().utf8_str().data(); - + //target_path = wxGetApp().get_local_models_path().c_str(); boost::uuids::uuid uuid = boost::uuids::random_generator()(); std::string unique = to_string(uuid).substr(0, 6);