mirror of
https://git.mirrors.martin98.com/https://github.com/SoftFever/OrcaSlicer.git
synced 2025-10-22 22:51:09 +08:00
55 lines
1.3 KiB
C++
55 lines
1.3 KiB
C++
#pragma once
|
|
#define calib_pressure_advance_dd
|
|
|
|
#include <string>
|
|
#include "Point.hpp"
|
|
namespace Slic3r {
|
|
|
|
class GCode;
|
|
|
|
enum class CalibMode : int {
|
|
Calib_None = 0,
|
|
Calib_PA_Line,
|
|
Calib_PA_Tower,
|
|
Calib_Temp_Tower,
|
|
Calib_Vol_speed_Tower,
|
|
Calib_VFA_Tower
|
|
|
|
};
|
|
struct Calib_Params
|
|
{
|
|
Calib_Params();
|
|
double start, end, step;
|
|
bool print_numbers;
|
|
CalibMode mode;
|
|
};
|
|
|
|
class calib_pressure_advance
|
|
{
|
|
public:
|
|
calib_pressure_advance(GCode* gcodegen);
|
|
~calib_pressure_advance() {}
|
|
|
|
std::string generate_test(double start_pa = 0, double step_pa = 0.002, int count = 50);
|
|
void set_speed(double fast = 100.0,double slow = 20.0) {
|
|
m_slow_speed = slow;
|
|
m_fast_speed = fast;
|
|
}
|
|
double& line_width() { return m_line_width; };
|
|
bool& draw_numbers() { return m_draw_numbers; }
|
|
|
|
private:
|
|
std::string move_to(Vec2d pt);
|
|
std::string print_pa_lines(double start_x, double start_y, double start_pa, double step_pa, int num);
|
|
std::string draw_digit(double startx, double starty, char c);
|
|
std::string draw_number(double startx, double starty, double value);
|
|
private:
|
|
GCode* mp_gcodegen;
|
|
double m_length_short, m_length_long;
|
|
double m_space_y;
|
|
double m_slow_speed, m_fast_speed;
|
|
double m_line_width;
|
|
bool m_draw_numbers;
|
|
};
|
|
} // namespace Slic3r
|