mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-12 19:47:43 +00:00
Fix wrong warning info & revert exceeding boundary (#141)
This commit is contained in:
@@ -4341,9 +4341,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"An object is too close to the plate boundary. Spiral lift during printing "
|
"Model too close to bed boundary. Disable spiral lifting or keep at least "
|
||||||
"may exceed the bed and cause a crash. Please move the object away from the "
|
"3.5mm gap to avoid collision."
|
||||||
"edge (recommend keeping at least 3mm distance)."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Calibration step selection"
|
msgid "Calibration step selection"
|
||||||
|
|||||||
@@ -4268,11 +4268,10 @@ msgstr ""
|
|||||||
"请通过将其完全移动到构建板内或构建板外,并确认高度在构建空间以内来解决问题。"
|
"请通过将其完全移动到构建板内或构建板外,并确认高度在构建空间以内来解决问题。"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"An object is too close to the plate boundary. Spiral lift during printing "
|
"Model too close to bed boundary. Disable spiral lifting or keep at least "
|
||||||
"may exceed the bed and cause a crash. Please move the object away from the "
|
"3.5mm gap to avoid collision."
|
||||||
"edge (recommend keeping at least 3mm distance)."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"模型距离打印床边界太近。打印过程中的螺旋抬升可能会超出床范围导致撞机。请将模型移离边缘(建议保持至少3mm的距离)。"
|
"模型太靠近热床边界,建议暂时关闭螺旋抬升或至少距离边界3.5mm距离,防止超出打印区域引发撞击。"
|
||||||
|
|
||||||
msgid "Calibration step selection"
|
msgid "Calibration step selection"
|
||||||
msgstr "校准步骤选择"
|
msgstr "校准步骤选择"
|
||||||
|
|||||||
@@ -437,10 +437,6 @@ std::string WipeTowerIntegration::append_tcr(GCode& gcodegen, const WipeTower::T
|
|||||||
|
|
||||||
auto transform_wt_pt = [&alpha, this](const Vec2f& pt) -> Vec2f {
|
auto transform_wt_pt = [&alpha, this](const Vec2f& pt) -> Vec2f {
|
||||||
Vec2f out = Eigen::Rotation2Df(alpha) * pt;
|
Vec2f out = Eigen::Rotation2Df(alpha) * pt;
|
||||||
// Simple safety check to prevent extreme out-of-bounds coordinates
|
|
||||||
// This is a safety net for Rib wall geometry issues
|
|
||||||
out.x() = std::clamp(out.x(), -50.f, 500.f);
|
|
||||||
out.y() = std::clamp(out.y(), -50.f, 500.f);
|
|
||||||
out += m_wipe_tower_pos;
|
out += m_wipe_tower_pos;
|
||||||
return out;
|
return out;
|
||||||
};
|
};
|
||||||
@@ -701,10 +697,6 @@ std::string WipeTowerIntegration::append_tcr2(GCode& gcodegen, const WipeTower::
|
|||||||
|
|
||||||
auto transform_wt_pt = [&alpha, this](const Vec2f& pt) -> Vec2f {
|
auto transform_wt_pt = [&alpha, this](const Vec2f& pt) -> Vec2f {
|
||||||
Vec2f out = Eigen::Rotation2Df(alpha) * pt;
|
Vec2f out = Eigen::Rotation2Df(alpha) * pt;
|
||||||
// Simple safety check to prevent extreme out-of-bounds coordinates
|
|
||||||
// This is a safety net for Rib wall geometry issues
|
|
||||||
out.x() = std::clamp(out.x(), -50.f, 500.f);
|
|
||||||
out.y() = std::clamp(out.y(), -50.f, 500.f);
|
|
||||||
out += m_wipe_tower_pos;
|
out += m_wipe_tower_pos;
|
||||||
return out;
|
return out;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1237,11 +1237,6 @@ private:
|
|||||||
double s = sin(angle);
|
double s = sin(angle);
|
||||||
Vec2f result(float(pt.x() * c - pt.y() * s) + m_wipe_tower_width / 2.f, float(pt.x() * s + pt.y() * c) + m_wipe_tower_depth / 2.f);
|
Vec2f result(float(pt.x() * c - pt.y() * s) + m_wipe_tower_width / 2.f, float(pt.x() * s + pt.y() * c) + m_wipe_tower_depth / 2.f);
|
||||||
|
|
||||||
// Clamp rotated coordinates to valid range to prevent out-of-bounds positions
|
|
||||||
// This fixes issues with Rib wall geometry extending beyond expected bounds
|
|
||||||
result.x() = std::clamp(result.x(), 0.f, m_wipe_tower_width);
|
|
||||||
result.y() = std::clamp(result.y(), 0.f, m_wipe_tower_depth);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1969,10 +1964,9 @@ void WipeTower2::toolchange_Wipe(WipeTowerWriter2& writer, const WipeTower::box_
|
|||||||
|
|
||||||
// We may be going back to the model - wipe the nozzle. If this is followed
|
// We may be going back to the model - wipe the nozzle. If this is followed
|
||||||
// by finish_layer, this wipe path will be overwritten.
|
// by finish_layer, this wipe path will be overwritten.
|
||||||
// Clamp wipe point coordinates to valid range to prevent out-of-bounds positions
|
writer.add_wipe_point(writer.x(), writer.y())
|
||||||
float wipe_y = std::clamp(writer.y() - dy, 0.f, m_wipe_tower_depth);
|
.add_wipe_point(writer.x(), writer.y() - dy)
|
||||||
float wipe_x = std::clamp(!m_left_to_right ? m_wipe_tower_width : 0.f, 0.f, m_wipe_tower_width);
|
.add_wipe_point(! m_left_to_right ? m_wipe_tower_width : 0.f, writer.y() - dy);
|
||||||
writer.add_wipe_point(writer.x(), writer.y()).add_wipe_point(writer.x(), wipe_y).add_wipe_point(wipe_x, wipe_y);
|
|
||||||
|
|
||||||
if (m_layer_info != m_plan.end() && m_current_tool != m_layer_info->tool_changes.back().new_tool)
|
if (m_layer_info != m_plan.end() && m_current_tool != m_layer_info->tool_changes.back().new_tool)
|
||||||
m_left_to_right = !m_left_to_right;
|
m_left_to_right = !m_left_to_right;
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -9706,9 +9706,7 @@ void GLCanvas3D::_set_warning_notification(EWarning warning, bool state)
|
|||||||
break;
|
break;
|
||||||
// Snapmaker: 螺旋抬升靠近边界警告
|
// Snapmaker: 螺旋抬升靠近边界警告
|
||||||
case EWarning::SpiralLiftNearBoundary:
|
case EWarning::SpiralLiftNearBoundary:
|
||||||
text = _u8L("An object is too close to the plate boundary. "
|
text = _u8L("Model too close to bed boundary. Disable spiral lifting or keep at least 3.5mm gap to avoid collision.");
|
||||||
"Spiral lift during printing may exceed the bed and cause a crash. "
|
|
||||||
"Please move the object away from the edge (recommend keeping at least 3mm distance).");
|
|
||||||
error = ErrorType::SLICING_SERIOUS_WARNING;
|
error = ErrorType::SLICING_SERIOUS_WARNING;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user