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) {