Fixed crash if toolchange G-code modifies final position,

because the extruder was not set yet.
This commit is contained in:
Vojtech Bubnik 2023-03-29 17:53:23 +02:00 committed by SoftFever
parent 93d025bfd4
commit 71be87ecef

View file

@ -6302,10 +6302,12 @@ Vec2d GCode::point_to_gcode(const Point &point) const
// convert a model-space scaled point into G-code coordinates
Point GCode::gcode_to_point(const Vec2d &point) const
{
Vec2d extruder_offset = EXTRUDER_CONFIG(extruder_offset);
return Point(
scale_(point(0) - m_origin(0) + extruder_offset(0)),
scale_(point(1) - m_origin(1) + extruder_offset(1)));
Vec2d pt = point - m_origin;
if (const Extruder *extruder = m_writer.extruder(); extruder)
// This function may be called at the very start from toolchange G-code when the extruder is not assigned yet.
pt += m_config.extruder_offset.get_at(extruder->id());
return scaled<coord_t>(pt);
}
Vec2d GCode::point_to_gcode_quantized(const Point& point) const