mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-20 14:08:20 +00:00
Merge upstream main: center of mass markers, adaptive TPMS, texture bake color mixing, post-processing preview fix, GLEW/OpenCSG removal
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
commit
8b5280098f
128 files changed
+5541
-67999
No files matched your search
@@ -5533,6 +5533,31 @@ void Print::export_gcode_from_previous_file(const std::string& file, GCodeProces
|
||||
}
|
||||
}
|
||||
|
||||
void Print::reload_gcode_moves(GCodeProcessorResult* result) const
|
||||
{
|
||||
GCodeProcessor processor;
|
||||
GCodeProcessor::s_IsBBLPrinter = is_BBL_printer();
|
||||
const Vec3d origin = this->get_plate_origin();
|
||||
processor.set_xy_offset(origin(0), origin(1));
|
||||
// Estimate the per-move times with the same nozzle-grouping slot context as the export.
|
||||
if (result->nozzle_group_result)
|
||||
processor.initialize_from_context(result->nozzle_group_result);
|
||||
try {
|
||||
processor.process_file(result->filename);
|
||||
} catch (const std::exception& ex) {
|
||||
// The edited file is what gets printed, so failing to preview it must not fail the slice.
|
||||
BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << ": cannot re-read the G-code file " << result->filename << ": " << ex.what();
|
||||
std::lock_guard<std::mutex> lock(result->result_mutex);
|
||||
result->lines_ends.clear();
|
||||
return;
|
||||
}
|
||||
|
||||
GCodeProcessorResult& reloaded = processor.result();
|
||||
std::lock_guard<std::mutex> lock(result->result_mutex);
|
||||
result->moves = std::move(reloaded.moves);
|
||||
result->lines_ends = std::move(reloaded.lines_ends);
|
||||
}
|
||||
|
||||
std::tuple<float, float> Print::object_skirt_offset(double margin_height) const
|
||||
{
|
||||
if (config().skirt_loops == 0 || config().skirt_type != stPerObject || m_objects.empty())
|
||||
|
||||
Reference in new issue
Block a user