ENH: sync the different codes

especially for the translation files

Change-Id: I940578ff6e22b0939d42eeed2209bfeddb0eb191
This commit is contained in:
lane.wei 2022-12-14 21:12:36 +08:00 committed by Lane.Wei
parent 540ecb2fb2
commit 13a1dc03c1
23 changed files with 29 additions and 98 deletions

View File

@ -5847,14 +5847,6 @@ msgid ""
"object printing." "object printing."
msgstr "" msgstr ""
msgid "Max Radius"
msgstr ""
msgid ""
"Max clearance radius around extruder. Used for collision avoidance in by-"
"object printing."
msgstr ""
msgid "Extruder Color" msgid "Extruder Color"
msgstr "" msgstr ""

View File

@ -6227,14 +6227,6 @@ msgid ""
"object printing." "object printing."
msgstr "" msgstr ""
msgid "Max Radius"
msgstr ""
msgid ""
"Max clearance radius around extruder. Used for collision avoidance in by-"
"object printing."
msgstr ""
msgid "Extruder Color" msgid "Extruder Color"
msgstr "Extruder Farbe" msgstr "Extruder Farbe"

View File

@ -6115,14 +6115,6 @@ msgid ""
"object printing." "object printing."
msgstr "" msgstr ""
msgid "Max Radius"
msgstr ""
msgid ""
"Max clearance radius around extruder. Used for collision avoidance in by-"
"object printing."
msgstr ""
msgid "Extruder Color" msgid "Extruder Color"
msgstr "Extruder Color" msgstr "Extruder Color"

View File

@ -6215,14 +6215,6 @@ msgid ""
"object printing." "object printing."
msgstr "" msgstr ""
msgid "Max Radius"
msgstr ""
msgid ""
"Max clearance radius around extruder. Used for collision avoidance in by-"
"object printing."
msgstr ""
msgid "Extruder Color" msgid "Extruder Color"
msgstr "Color del extrusor" msgstr "Color del extrusor"

View File

@ -6201,14 +6201,6 @@ msgid ""
"object printing." "object printing."
msgstr "" msgstr ""
msgid "Max Radius"
msgstr ""
msgid ""
"Max clearance radius around extruder. Used for collision avoidance in by-"
"object printing."
msgstr ""
msgid "Extruder Color" msgid "Extruder Color"
msgstr "Couleur de l'extrudeuse" msgstr "Couleur de l'extrudeuse"

View File

@ -6197,14 +6197,6 @@ msgid ""
"object printing." "object printing."
msgstr "" msgstr ""
msgid "Max Radius"
msgstr ""
msgid ""
"Max clearance radius around extruder. Used for collision avoidance in by-"
"object printing."
msgstr ""
msgid "Extruder Color" msgid "Extruder Color"
msgstr "Extruder szín" msgstr "Extruder szín"

View File

@ -6225,14 +6225,6 @@ msgid ""
"object printing." "object printing."
msgstr "" msgstr ""
msgid "Max Radius"
msgstr ""
msgid ""
"Max clearance radius around extruder. Used for collision avoidance in by-"
"object printing."
msgstr ""
msgid "Extruder Color" msgid "Extruder Color"
msgstr "Extruder kleur" msgstr "Extruder kleur"

View File

@ -6116,14 +6116,6 @@ msgid ""
"object printing." "object printing."
msgstr "" msgstr ""
msgid "Max Radius"
msgstr ""
msgid ""
"Max clearance radius around extruder. Used for collision avoidance in by-"
"object printing."
msgstr ""
msgid "Extruder Color" msgid "Extruder Color"
msgstr "Extruder Färg" msgstr "Extruder Färg"

View File

@ -3430,7 +3430,7 @@ msgstr "是否保存修改到“%1%”?"
msgid "" msgid ""
"Successfully unmounted. The device %s(%s) can now be safely removed from the " "Successfully unmounted. The device %s(%s) can now be safely removed from the "
"computer." "computer."
msgstr "卸载成功。设备%s(%s)现在可安全地从电脑移除。" msgstr "卸载成功。设备%s(%s)现在可安全地从电脑移除。"
#, c-format, boost-format #, c-format, boost-format
msgid "Ejecting of device %s(%s) has failed." msgid "Ejecting of device %s(%s) has failed."
@ -3565,9 +3565,6 @@ msgstr "选中的模型不可分裂。"
msgid "Another export job is running." msgid "Another export job is running."
msgstr "有其他导出任务正在进行中。" msgstr "有其他导出任务正在进行中。"
msgid "Another export job is currently running."
msgstr "有其他导出任务正在进行中。"
msgid "Select a new file" msgid "Select a new file"
msgstr "选择新文件" msgstr "选择新文件"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -475,7 +475,7 @@ void Layer::make_fills(FillAdaptive::Octree* adaptive_fill_octree, FillAdaptive:
LayerRegion* layerm = this->m_regions[surface_fill.region_id]; LayerRegion* layerm = this->m_regions[surface_fill.region_id];
for (ExPolygon& expoly : surface_fill.expolygons) { 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. // Spacing is modified by the filler to indicate adjustments. Reset it for each expolygon.
f->spacing = surface_fill.params.spacing; f->spacing = surface_fill.params.spacing;
surface_fill.surface.expolygon = std::move(expoly); surface_fill.surface.expolygon = std::move(expoly);

View File

@ -4047,19 +4047,18 @@ void GCodeProcessor::update_slice_warnings()
warning.msg = BED_TEMP_TOO_HIGH_THAN_FILAMENT; warning.msg = BED_TEMP_TOO_HIGH_THAN_FILAMENT;
warning.error_code = "1000C001"; warning.error_code = "1000C001";
m_result.warnings.push_back(warning); m_result.warnings.push_back(warning);
}
//bbs:HRC checker //bbs:HRC checker
warning.params.clear();
warning.level=1;
if (m_result.nozzle_hrc!=0) { if (m_result.nozzle_hrc!=0) {
for (size_t i = 0; i < used_extruders.size(); i++) { for (size_t i = 0; i < used_extruders.size(); i++) {
int HRC=0; int HRC=0;
if (used_extruders[i] < m_result.required_nozzle_HRC.size()) if (used_extruders[i] < m_result.required_nozzle_HRC.size())
HRC = m_result.required_nozzle_HRC[used_extruders[i]]; HRC = m_result.required_nozzle_HRC[used_extruders[i]];
if (HRC != 0 && (m_result.nozzle_hrc<HRC)) { if (HRC != 0 && (m_result.nozzle_hrc<HRC))
GCodeProcessorResult::SliceWarning warning; warning.params.push_back(std::to_string(used_extruders[i]));
warning.level = 1;
warning.msg = THE_ACTUAL_NOZZLE_HRC_SMALLER_THAN_THE_REQUAIRED_NOZZLE_HRC;
m_result.warnings.emplace_back(std::move(warning));
}
} }
} }

View File

@ -1514,7 +1514,7 @@ static inline Polygons detect_overhangs(
const bool bridge_no_support = object_config.bridge_no_support.value; const bool bridge_no_support = object_config.bridge_no_support.value;
const coordf_t xy_expansion = scale_(object_config.support_expansion.value); const coordf_t xy_expansion = scale_(object_config.support_expansion.value);
if (layer_id == 0) if (layer_id == 0)
{ {
// Don't fill in the holes. The user may apply a higher raft_expansion if one wants a better 1st layer adhesion. // Don't fill in the holes. The user may apply a higher raft_expansion if one wants a better 1st layer adhesion.
overhang_polygons = to_polygons(layer.lslices); overhang_polygons = to_polygons(layer.lslices);

View File

@ -707,7 +707,7 @@ void TreeSupport::detect_object_overhangs()
if (m_object->tree_support_layer_count() >= m_object->layer_count()) if (m_object->tree_support_layer_count() >= m_object->layer_count())
return; return;
// Create Tree Support Layers // Clear and create Tree Support Layers
m_object->clear_tree_support_layers(); m_object->clear_tree_support_layers();
m_object->clear_tree_support_preview_cache(); 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 = config.line_width.value;
const coordf_t extrusion_width_scaled = scale_(extrusion_width); const coordf_t extrusion_width_scaled = scale_(extrusion_width);
const coordf_t max_bridge_length = scale_(config.max_bridge_length.value); 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 bool support_critical_regions_only = config.support_critical_regions_only.value;
const int enforce_support_layers = config.enforce_support_layers.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 area_thresh_well_supported = SQ(scale_(6));
const double length_thresh_well_supported = scale_(6); // min: 6mm const double length_thresh_well_supported = scale_(6);
static const double sharp_tail_max_support_height = 8.f; 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 // 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; const int thresh_layers_below = 10 / config.layer_height;
@ -825,15 +825,14 @@ void TreeSupport::detect_object_overhangs()
if (std::set<SupportType>{stTreeAuto, stHybridAuto, stTree}.count(stype))// == stTreeAuto || stype == stHybridAuto || stype == stTree) if (std::set<SupportType>{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.; 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 ExPolygons regions_well_supported;
std::map<ExPolygon, int, ExPolygonComp> region_layers_below; // regions and the number of layers below std::map<ExPolygon, int, ExPolygonComp> region_layers_below;
ExPolygons lower_overhang_dilated; // for small overhang ExPolygons lower_overhang_dilated;
for (size_t layer_nr = 0; layer_nr < m_object->layer_count(); layer_nr++) for (size_t layer_nr = 0; layer_nr < m_object->layer_count(); layer_nr++){
{
if (m_object->print()->canceled()) if (m_object->print()->canceled())
break; break;
if (!is_auto && layer_nr > enforce_support_layers) if (!is_auto && layer_nr > enforce_support_layers)
continue; continue;
@ -875,7 +874,7 @@ void TreeSupport::detect_object_overhangs()
// normal overhang // normal overhang
ExPolygons lower_layer_offseted = offset_ex(lower_polys, support_offset_scaled, SUPPORT_SURFACES_OFFSET_PARAMETERS); 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)); 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(), 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(); }), [extrusion_width_scaled](ExPolygon &area) { return offset_ex(area, -0.1 * extrusion_width_scaled).empty(); }),
overhang_areas.end()); 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 // 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. // 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()) { if (!offset_ex(new_overhang_expolys, -5.0 * extrusion_width_scaled).empty()) {
is_sharp_tail = false; is_sharp_tail = false;
break; break;
@ -1133,7 +1132,6 @@ void TreeSupport::detect_object_overhangs()
// if (erode1.empty() && !inter_with_others.empty()) // if (erode1.empty() && !inter_with_others.empty())
// blockers[layer_nr].push_back(p_overhang->contour); // blockers[layer_nr].push_back(p_overhang->contour);
} }
} }
} }
@ -1162,12 +1160,13 @@ void TreeSupport::detect_object_overhangs()
for (auto &area : ts_layer->overhang_areas) { for (auto &area : ts_layer->overhang_areas) {
ts_layer->overhang_types.emplace(&area, TreeSupportLayer::Detected); ts_layer->overhang_types.emplace(&area, TreeSupportLayer::Detected);
} }
// enforcers
if (layer_nr < enforcers.size()) { if (layer_nr < enforcers.size()) {
Polygons& enforcer = enforcers[layer_nr]; Polygons& enforcer = enforcers[layer_nr];
// coconut: enforcer can't do offset2_ex, otherwise faces with angle near 90 degrees can't have enforcers, which // 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. // 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 = 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) { for (const Polygon& poly : enforcer) {
ts_layer->overhang_areas.emplace_back(poly); ts_layer->overhang_areas.emplace_back(poly);
ts_layer->overhang_types.emplace(&ts_layer->overhang_areas.back(), TreeSupportLayer::Enforced); 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) if (!tree_support_enable)
return; return;
std::vector<std::vector<Node*>> contact_nodes(m_object->layers().size()); //Generate empty layers to store the points in. std::vector<std::vector<Node*>> contact_nodes(m_object->layers().size());
profiler.stage_start(STAGE_total); profiler.stage_start(STAGE_total);
@ -2058,10 +2057,10 @@ void TreeSupport::draw_circles(const std::vector<std::vector<Node*>>& contact_no
const Node& node = *p_node; const Node& node = *p_node;
ExPolygon area; ExPolygon area;
// 直接从overhang多边形生成如果 // ç´æŽ¥ä»Žoverhang多边形生æˆ<EFBFBD>ï¼Œå¦æžœï¼?
// 1) 是混合支撑里的普通部分, // 1) 是混合支撑里的普通部分,
// 2) 启用了顶部接触层, // 2) å<EFBFBD>¯ç”¨äº†é¡¶éƒ¨æŽ¥è§¦å±ï¼?
// 3) 是顶部空隙 // 3) 是顶部空éš?
if (node.type == ePolygon || (top_interface_layers>0 &&node.support_roof_layers_below > 0) || node.distance_to_top<0) { 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) if (node.overhang->contour.size() > 100 || node.overhang->holes.size()>1)
area = *node.overhang; area = *node.overhang;

View File

@ -399,7 +399,7 @@ struct SlabLines {
std::vector<IntersectionLines> at_slice; std::vector<IntersectionLines> at_slice;
// Projections of triangle set boundary lines into layer below (for projection from the top) // Projections of triangle set boundary lines into layer below (for projection from the top)
// or into layer above (for projection from the bottom). // 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<IntersectionLines> between_slices; std::vector<IntersectionLines> between_slices;
}; };

View File

@ -7651,13 +7651,13 @@ void Plater::import_model_id(const std::string& download_info)
wxString name = filename.substr(0, filename.length() - extension.length()); wxString name = filename.substr(0, filename.length() - extension.length());
filename = wxString::Format("%s(%d)%s", name, vecFiles.size() + 1, extension).ToStdString(); filename = wxString::Format("%s(%d)%s", name, vecFiles.size() + 1, extension).ToStdString();
} }
msg = _L("downloading project ..."); msg = _L("downloading project ...");
//target_path = wxStandardPaths::Get().GetTempDir().utf8_str().data(); //target_path = wxStandardPaths::Get().GetTempDir().utf8_str().data();
//target_path = wxGetApp().get_local_models_path().c_str(); //target_path = wxGetApp().get_local_models_path().c_str();
boost::uuids::uuid uuid = boost::uuids::random_generator()(); boost::uuids::uuid uuid = boost::uuids::random_generator()();
std::string unique = to_string(uuid).substr(0, 6); std::string unique = to_string(uuid).substr(0, 6);