mirror of
https://git.mirrors.martin98.com/https://github.com/slic3r/Slic3r.git
synced 2025-07-23 23:44:28 +08:00
reprap jerk unit fixed
also gcode-viewer now read them even if not marlin supermerill/SuperSlicer#1500
This commit is contained in:
parent
92f9b734e6
commit
2dc9bcc419
@ -1811,11 +1811,11 @@ void GCode::print_machine_envelope(FILE *file, Print &print)
|
||||
int(print.config().machine_max_acceleration_extruding.values.front() + 0.5),
|
||||
int(print.config().machine_max_acceleration_travel.values.front() + 0.5));
|
||||
if (std::set<uint8_t>{gcfRepRap}.count(print.config().gcode_flavor.value) > 0)
|
||||
_write_format(file, "M566 X%.2lf Y%.2lf Z%.2lf E%.2lf ; sets the jerk limits, mm/sec\n",
|
||||
print.config().machine_max_jerk_x.values.front(),
|
||||
print.config().machine_max_jerk_y.values.front(),
|
||||
print.config().machine_max_jerk_z.values.front(),
|
||||
print.config().machine_max_jerk_e.values.front());
|
||||
_write_format(file, "M566 X%.2lf Y%.2lf Z%.2lf E%.2lf ; sets the jerk limits, mm/min\n",
|
||||
print.config().machine_max_jerk_x.values.front() * 60,
|
||||
print.config().machine_max_jerk_y.values.front() * 60,
|
||||
print.config().machine_max_jerk_z.values.front() * 60,
|
||||
print.config().machine_max_jerk_e.values.front() * 60);
|
||||
if (std::set<uint8_t>{gcfMarlin, gcfLerdge, gcfRepetier}.count(print.config().gcode_flavor.value) > 0)
|
||||
_write_format(file, "M205 X%.2lf Y%.2lf Z%.2lf E%.2lf ; sets the jerk limits, mm/sec\n",
|
||||
print.config().machine_max_jerk_x.values.front(),
|
||||
|
@ -678,7 +678,8 @@ void GCodeProcessor::apply_config(const DynamicPrintConfig& config)
|
||||
}
|
||||
}
|
||||
|
||||
if (m_flavor == gcfMarlin) {
|
||||
const ConfigOptionEnum<MachineLimitsUsage>* machine_limits_usage = config.option<ConfigOptionEnum<MachineLimitsUsage>>("machine_limits_usage");
|
||||
if (machine_limits_usage && machine_limits_usage->value != MachineLimitsUsage::Ignore) {
|
||||
const ConfigOptionFloats* machine_max_acceleration_x = config.option<ConfigOptionFloats>("machine_max_acceleration_x");
|
||||
if (machine_max_acceleration_x != nullptr)
|
||||
m_time_processor.machine_limits.machine_max_acceleration_x.values = machine_max_acceleration_x->values;
|
||||
@ -2494,6 +2495,7 @@ void GCodeProcessor::process_M204(const GCodeReader::GCodeLine& line)
|
||||
|
||||
void GCodeProcessor::process_M205(const GCodeReader::GCodeLine& line)
|
||||
{
|
||||
// Note: Sprinter / Marlin gcode
|
||||
for (size_t i = 0; i < static_cast<size_t>(PrintEstimatedTimeStatistics::ETimeMode::Count); ++i) {
|
||||
if (static_cast<PrintEstimatedTimeStatistics::ETimeMode>(i) == PrintEstimatedTimeStatistics::ETimeMode::Normal ||
|
||||
m_time_processor.machine_envelope_processing_enabled) {
|
||||
@ -2579,6 +2581,7 @@ void GCodeProcessor::process_M402(const GCodeReader::GCodeLine& line)
|
||||
|
||||
void GCodeProcessor::process_M566(const GCodeReader::GCodeLine& line)
|
||||
{
|
||||
// RepRapFirmware gcode
|
||||
for (size_t i = 0; i < static_cast<size_t>(PrintEstimatedTimeStatistics::ETimeMode::Count); ++i) {
|
||||
if (line.has_x())
|
||||
set_option_value(m_time_processor.machine_limits.machine_max_jerk_x, i, line.x() * MMMIN_TO_MMSEC);
|
||||
|
Loading…
x
Reference in New Issue
Block a user