mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-08-30 13:26:58 +00:00
Consolidate m_starting_point and pattern_start functions
This commit is contained in:
@@ -346,13 +346,23 @@ PatternSettings::PatternSettings(const CalibPressureAdvancePattern* cpap) :
|
|||||||
perim_speed(cpap->speed_adjust(cpap->speed_perimeter()))
|
perim_speed(cpap->speed_adjust(cpap->speed_perimeter()))
|
||||||
{ };
|
{ };
|
||||||
|
|
||||||
|
void CalibPressureAdvancePattern::set_starting_point(Vec2d pt)
|
||||||
|
{
|
||||||
|
if (is_delta()) {
|
||||||
|
pt.x() *= -1;
|
||||||
|
pt.y() -= (frame_size_y() / 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
m_starting_point = pt;
|
||||||
|
};
|
||||||
|
|
||||||
CustomGCode::Info CalibPressureAdvancePattern::generate_gcodes()
|
CustomGCode::Info CalibPressureAdvancePattern::generate_gcodes()
|
||||||
{
|
{
|
||||||
std::stringstream gcode;
|
std::stringstream gcode;
|
||||||
|
|
||||||
gcode << "; start pressure advance pattern for layer\n";
|
gcode << "; start pressure advance pattern for layer\n";
|
||||||
|
|
||||||
gcode << move_to(Vec2d(pattern_start_x(), pattern_start_y()), m_writer, "Move to start XY position");
|
gcode << move_to(m_starting_point, m_writer, "Move to start XY position");
|
||||||
gcode << m_writer.travel_to_z(m_height_first_layer, "Move to start Z position");
|
gcode << m_writer.travel_to_z(m_height_first_layer, "Move to start Z position");
|
||||||
gcode << m_writer.set_pressure_advance(m_params.start);
|
gcode << m_writer.set_pressure_advance(m_params.start);
|
||||||
|
|
||||||
@@ -360,8 +370,8 @@ CustomGCode::Info CalibPressureAdvancePattern::generate_gcodes()
|
|||||||
|
|
||||||
// create anchor frame
|
// create anchor frame
|
||||||
gcode << draw_box(
|
gcode << draw_box(
|
||||||
pattern_start_x(),
|
m_starting_point.x(),
|
||||||
pattern_start_y(),
|
m_starting_point.y(),
|
||||||
print_size_x(),
|
print_size_x(),
|
||||||
frame_size_y(),
|
frame_size_y(),
|
||||||
default_box_opt_args
|
default_box_opt_args
|
||||||
@@ -372,9 +382,9 @@ CustomGCode::Info CalibPressureAdvancePattern::generate_gcodes()
|
|||||||
draw_box_opt_args.is_filled = true;
|
draw_box_opt_args.is_filled = true;
|
||||||
draw_box_opt_args.num_perimeters = m_anchor_perimeters;
|
draw_box_opt_args.num_perimeters = m_anchor_perimeters;
|
||||||
gcode << draw_box(
|
gcode << draw_box(
|
||||||
pattern_start_x(),
|
m_starting_point.x(),
|
||||||
pattern_start_y() + frame_size_y() + line_spacing_anchor(),
|
m_starting_point.y() + frame_size_y() + line_spacing_anchor(),
|
||||||
glyph_tab_max_x() - pattern_start_x(),
|
glyph_tab_max_x() - m_starting_point.x(),
|
||||||
max_numbering_height() + line_spacing_anchor() + m_glyph_padding_vertical * 2,
|
max_numbering_height() + line_spacing_anchor() + m_glyph_padding_vertical * 2,
|
||||||
draw_box_opt_args
|
draw_box_opt_args
|
||||||
);
|
);
|
||||||
@@ -404,7 +414,7 @@ CustomGCode::Info CalibPressureAdvancePattern::generate_gcodes()
|
|||||||
// glyph on every other line
|
// glyph on every other line
|
||||||
for (int j = 0; j < num_patterns; j += 2) {
|
for (int j = 0; j < num_patterns; j += 2) {
|
||||||
double current_glyph_start_x =
|
double current_glyph_start_x =
|
||||||
pattern_start_x() +
|
m_starting_point.x() +
|
||||||
(j * (m_pattern_spacing + line_width())) +
|
(j * (m_pattern_spacing + line_width())) +
|
||||||
(j * ((m_wall_count - 1) * line_spacing_angle())) // this aligns glyph starts with first pattern perim
|
(j * ((m_wall_count - 1) * line_spacing_angle())) // this aligns glyph starts with first pattern perim
|
||||||
;
|
;
|
||||||
@@ -416,7 +426,7 @@ CustomGCode::Info CalibPressureAdvancePattern::generate_gcodes()
|
|||||||
|
|
||||||
gcode << draw_number(
|
gcode << draw_number(
|
||||||
current_glyph_start_x,
|
current_glyph_start_x,
|
||||||
pattern_start_y() + frame_size_y() + m_glyph_padding_vertical + line_width(),
|
m_starting_point.y() + frame_size_y() + m_glyph_padding_vertical + line_width(),
|
||||||
m_params.start + (j * m_params.step),
|
m_params.start + (j * m_params.step),
|
||||||
DrawDigitMode::Bottom_To_Top,
|
DrawDigitMode::Bottom_To_Top,
|
||||||
m_line_width,
|
m_line_width,
|
||||||
@@ -428,8 +438,8 @@ CustomGCode::Info CalibPressureAdvancePattern::generate_gcodes()
|
|||||||
|
|
||||||
DrawLineOptArgs draw_line_opt_args = default_line_opt_args;
|
DrawLineOptArgs draw_line_opt_args = default_line_opt_args;
|
||||||
|
|
||||||
double to_x = pattern_start_x() + pattern_shift();
|
double to_x = m_starting_point.x() + pattern_shift();
|
||||||
double to_y = pattern_start_y();
|
double to_y = m_starting_point.y();
|
||||||
double side_length = m_wall_side_length;
|
double side_length = m_wall_side_length;
|
||||||
|
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
@@ -814,45 +824,4 @@ double CalibPressureAdvancePattern::pattern_shift()
|
|||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
double CalibPressureAdvancePattern::pattern_start_x()
|
|
||||||
{
|
|
||||||
// double pattern_start_x =
|
|
||||||
// bed_center().x() -
|
|
||||||
// (object_size_x() + pattern_shift()) / 2
|
|
||||||
// ;
|
|
||||||
|
|
||||||
// if (is_delta()) {
|
|
||||||
// pattern_start_x = -pattern_start_x;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// return pattern_start_x;
|
|
||||||
|
|
||||||
double x = m_starting_point.x();
|
|
||||||
|
|
||||||
if (is_delta()) {
|
|
||||||
x = -x;
|
|
||||||
}
|
|
||||||
|
|
||||||
return x;
|
|
||||||
};
|
|
||||||
|
|
||||||
double CalibPressureAdvancePattern::pattern_start_y()
|
|
||||||
{
|
|
||||||
// double pattern_start_y = bed_center().y() - object_size_y() / 2;
|
|
||||||
|
|
||||||
// if (is_delta()) {
|
|
||||||
// pattern_start_y = -(frame_size_y() / 2);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// return pattern_start_y;
|
|
||||||
|
|
||||||
double y = m_starting_point.y();
|
|
||||||
|
|
||||||
if (is_delta()) {
|
|
||||||
y -= (frame_size_y() / 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
return y;
|
|
||||||
};
|
|
||||||
} // namespace Slic3r
|
} // namespace Slic3r
|
||||||
|
|||||||
@@ -200,7 +200,7 @@ public:
|
|||||||
double height_layer() const { return m_height_layer; };
|
double height_layer() const { return m_height_layer; };
|
||||||
double max_layer_z() { return m_height_first_layer + ((m_num_layers - 1) * m_height_layer); };
|
double max_layer_z() { return m_height_first_layer + ((m_num_layers - 1) * m_height_layer); };
|
||||||
|
|
||||||
void set_starting_point(Vec2d pt) { m_starting_point = pt; };
|
void set_starting_point(Vec2d pt);
|
||||||
|
|
||||||
CustomGCode::Info generate_gcodes();
|
CustomGCode::Info generate_gcodes();
|
||||||
protected:
|
protected:
|
||||||
@@ -242,9 +242,6 @@ private:
|
|||||||
double print_size_x() { return object_size_x() + pattern_shift(); };
|
double print_size_x() { return object_size_x() + pattern_shift(); };
|
||||||
double print_size_y() { return object_size_y(); };
|
double print_size_y() { return object_size_y(); };
|
||||||
|
|
||||||
double pattern_start_x();
|
|
||||||
double pattern_start_y();
|
|
||||||
|
|
||||||
const Calib_Params& m_params;
|
const Calib_Params& m_params;
|
||||||
const PrintConfig& m_config;
|
const PrintConfig& m_config;
|
||||||
GCodeWriter& m_writer;
|
GCodeWriter& m_writer;
|
||||||
|
|||||||
@@ -8137,7 +8137,7 @@ void Plater::_calib_pa_pattern(const Calib_Params& params)
|
|||||||
GCodeWriter writer;
|
GCodeWriter writer;
|
||||||
const Vec3d origin = print->get_plate_origin();
|
const Vec3d origin = print->get_plate_origin();
|
||||||
writer.set_xy_offset(origin(0), origin(1));
|
writer.set_xy_offset(origin(0), origin(1));
|
||||||
writer.set_is_bbl_machine(print->is_BBL_printer());
|
writer.set_is_bbl_machine(print->is_BBL_printer()); // TODO: make sure this is correctly set!
|
||||||
writer.apply_print_config(print->config());
|
writer.apply_print_config(print->config());
|
||||||
|
|
||||||
writer.set_extruders({0});
|
writer.set_extruders({0});
|
||||||
|
|||||||
Reference in New Issue
Block a user