Fix: Circular bed shape (without 3D model) not rendering in correct position (#9333)

* Update 3DBed.cpp

* Update 3DBed.cpp

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
This commit is contained in:
yw4z 2025-04-14 10:25:13 +03:00 committed by GitHub
parent e2e06e5e89
commit 0e2582e0bb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -648,9 +648,11 @@ void Bed3D::update_bed_triangles()
(*model_offset_ptr)(1) = m_build_volume.bounding_volume2d().min.y() - bed_ext.min.y();
(*model_offset_ptr)(2) = -0.41 + GROUND_Z;
// ORCA fix for circular bed (without 3D model) beds rendered with shifted position
Vec2d point_shift = m_build_volume.type() == BuildVolume_Type::Circle ? Vec2d(0,0) : m_bed_shape[0];
std::vector<Vec2d> origin_bed_shape;
for (size_t i = 0; i < m_bed_shape.size(); i++) {
origin_bed_shape.push_back(m_bed_shape[i] - m_bed_shape[0]);
for (size_t i = 0; i < m_bed_shape.size(); i++) {
origin_bed_shape.push_back(m_bed_shape[i] - point_shift);
}
std::vector<Vec2d> new_bed_shape; // offset to correct origin
for (auto point : origin_bed_shape) {