From 0e2582e0bb7c82f2de8f09a925be8e9b189215a4 Mon Sep 17 00:00:00 2001 From: yw4z Date: Mon, 14 Apr 2025 10:25:13 +0300 Subject: [PATCH] Fix: Circular bed shape (without 3D model) not rendering in correct position (#9333) * Update 3DBed.cpp * Update 3DBed.cpp --------- Co-authored-by: Noisyfox --- src/slic3r/GUI/3DBed.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/3DBed.cpp b/src/slic3r/GUI/3DBed.cpp index 8e02ecf6cb..67dd8d1a83 100644 --- a/src/slic3r/GUI/3DBed.cpp +++ b/src/slic3r/GUI/3DBed.cpp @@ -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 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 new_bed_shape; // offset to correct origin for (auto point : origin_bed_shape) {