diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 91771220ba..a037c0c483 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -841,7 +841,7 @@ void GCode::do_export(Print* print, const char* path, GCodeProcessorResult* resu m_processor.initialize(path_tmp); m_processor.set_print(print); #if ENABLE_BINARIZED_GCODE - m_processor.get_binary_data().reset(); + m_processor.get_binary_data() = bgcode::base::BinaryData(); #endif // ENABLE_BINARIZED_GCODE GCodeOutputStream file(boost::nowide::fopen(path_tmp.c_str(), "wb"), m_processor); if (! file.is_open()) @@ -984,7 +984,7 @@ namespace DoExport { unsigned int initial_extruder_id, PrintStatistics &print_statistics, bool export_binary_data, - bgcode::BinaryData &binary_data) + bgcode::base::BinaryData &binary_data) #else static std::string update_print_stats_and_format_filament_stats( const bool has_wipe_tower, @@ -1132,7 +1132,7 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato // 1) generate the thumbnails // 2) collect the config data if (export_to_binary_gcode) { - bgcode::BinaryData& binary_data = m_processor.get_binary_data(); + bgcode::base::BinaryData& binary_data = m_processor.get_binary_data(); // Unit tests or command line slicing may not define "thumbnails" or "thumbnails_format". // If "thumbnails_format" is not defined, export to PNG. @@ -1146,11 +1146,11 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato } // file data - binary_data.file_metadata.encoding_type = (uint16_t)bgcode::EMetadataEncodingType::INI; + binary_data.file_metadata.encoding_type = (uint16_t)bgcode::core::EMetadataEncodingType::INI; binary_data.file_metadata.raw_data.emplace_back("Producer", std::string(SLIC3R_APP_NAME) + " " + std::string(SLIC3R_VERSION)); // config data - binary_data.slicer_metadata.encoding_type = (uint16_t)bgcode::EMetadataEncodingType::INI; + binary_data.slicer_metadata.encoding_type = (uint16_t)bgcode::core::EMetadataEncodingType::INI; encode_full_config(print, binary_data.slicer_metadata.raw_data); // printer data @@ -1613,7 +1613,7 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato file.write(filament_stats_string_out); if (export_to_binary_gcode) { - bgcode::BinaryData& binary_data = m_processor.get_binary_data(); + bgcode::base::BinaryData& binary_data = m_processor.get_binary_data(); if (print.m_print_statistics.total_toolchanges > 0) binary_data.print_metadata.raw_data.push_back({ "total toolchanges", std::to_string(print.m_print_statistics.total_toolchanges) }); } diff --git a/src/libslic3r/GCode.hpp b/src/libslic3r/GCode.hpp index 7358c15058..1821576fd7 100644 --- a/src/libslic3r/GCode.hpp +++ b/src/libslic3r/GCode.hpp @@ -21,9 +21,6 @@ #include "GCode/GCodeProcessor.hpp" #include "EdgeGrid.hpp" #include "GCode/ThumbnailData.hpp" -#if ENABLE_BINARIZED_GCODE -#include "GCode/GCodeBinarizer.hpp" -#endif // ENABLE_BINARIZED_GCODE #include #include @@ -31,6 +28,10 @@ #include "GCode/PressureEqualizer.hpp" +#if ENABLE_BINARIZED_GCODE +#include +#endif // ENABLE_BINARIZED_GCODE + namespace Slic3r { // Forward declarations. diff --git a/src/libslic3r/GCode/GCodeProcessor.cpp b/src/libslic3r/GCode/GCodeProcessor.cpp index 6c0fb8c2cf..6ebddec853 100644 --- a/src/libslic3r/GCode/GCodeProcessor.cpp +++ b/src/libslic3r/GCode/GCodeProcessor.cpp @@ -70,7 +70,7 @@ const float GCodeProcessor::Wipe_Width = 0.05f; const float GCodeProcessor::Wipe_Height = 0.05f; #if ENABLE_BINARIZED_GCODE -bgcode::BinarizerConfig GCodeProcessor::s_binarizer_config{}; +bgcode::base::BinarizerConfig GCodeProcessor::s_binarizer_config{}; #endif // ENABLE_BINARIZED #if ENABLE_GCODE_VIEWER_DATA_CHECKING @@ -1041,7 +1041,7 @@ void GCodeProcessor::process_file(const std::string& filename, std::function& item) { return item.first == "Producer"; }); if (producer_it != file_metadata_block.raw_data.end() && boost::starts_with(producer_it->second, std::string(SLIC3R_APP_NAME))) @@ -1174,15 +1174,15 @@ void GCodeProcessor::process_binary_file(const std::string& filename, std::funct m_producer = EProducer::Unknown; // read printer metadata block - res = bgcode::read_next_block_header(*file, file_header, block_header, verify_checksum); - if (res != bgcode::EResult::Success) - throw Slic3r::RuntimeError("Error while reading file: " + filename + ": " + bgcode::translate_result(res) + "\n"); - if ((bgcode::EBlockType)block_header.type != bgcode::EBlockType::PrinterMetadata) + res = bgcode::core::read_next_block_header(*file, file_header, block_header, verify_checksum); + if (res != bgcode::core::EResult::Success) + throw Slic3r::RuntimeError("Error while reading file: " + filename + ": " + bgcode::core::translate_result(res) + "\n"); + if ((bgcode::core::EBlockType)block_header.type != bgcode::core::EBlockType::PrinterMetadata) throw Slic3r::RuntimeError("Unable to find printer metadata block in file: " + filename + "\n"); - bgcode::PrinterMetadataBlock printer_metadata_block; + bgcode::base::PrinterMetadataBlock printer_metadata_block; res = printer_metadata_block.read_data(*file, file_header, block_header); - if (res != bgcode::EResult::Success) - throw Slic3r::RuntimeError("Error while reading file: " + filename + ": " + bgcode::translate_result(res) + "\n"); + if (res != bgcode::core::EResult::Success) + throw Slic3r::RuntimeError("Error while reading file: " + filename + ": " + bgcode::core::translate_result(res) + "\n"); #if ENABLE_BINARIZED_GCODE_DEBUG OutputDebugStringA("Printer metadata:\n"); for (const auto& [key, value] : printer_metadata_block.raw_data) { @@ -1194,25 +1194,24 @@ void GCodeProcessor::process_binary_file(const std::string& filename, std::funct #endif // ENABLE_BINARIZED_GCODE_DEBUG // read thumbnail blocks - res = bgcode::read_next_block_header(*file, file_header, block_header, verify_checksum); - if (res != bgcode::EResult::Success) - throw Slic3r::RuntimeError("Error while reading file: " + filename + ": " + bgcode::translate_result(res) + "\n"); + res = bgcode::core::read_next_block_header(*file, file_header, block_header, verify_checksum); + if (res != bgcode::core::EResult::Success) + throw Slic3r::RuntimeError("Error while reading file: " + filename + ": " + bgcode::core::translate_result(res) + "\n"); - while ((bgcode::EBlockType)block_header.type == bgcode::EBlockType::Thumbnail) { - bgcode::ThumbnailBlock thumbnail_block; + while ((bgcode::core::EBlockType)block_header.type == bgcode::core::EBlockType::Thumbnail) { + bgcode::base::ThumbnailBlock thumbnail_block; res = thumbnail_block.read_data(*file, file_header, block_header); - if (res != bgcode::EResult::Success) - throw Slic3r::RuntimeError("Error while reading file: " + filename + ": " + bgcode::translate_result(res) + "\n"); - + if (res != bgcode::core::EResult::Success) + throw Slic3r::RuntimeError("Error while reading file: " + filename + ": " + bgcode::core::translate_result(res) + "\n"); #if ENABLE_BINARIZED_GCODE_DEBUG if (thumbnail_block.data.size() > 0) { - auto format_filename = [](const std::string& stem, const bgcode::ThumbnailBlock& block) { + auto format_filename = [](const std::string& stem, const bgcode::base::ThumbnailBlock& block) { std::string ret = stem + "_" + std::to_string(block.width) + "x" + std::to_string(block.height); - switch ((bgcode::EThumbnailFormat)block.format) + switch ((bgcode::core::EThumbnailFormat)block.format) { - case bgcode::EThumbnailFormat::PNG: { ret += ".png"; break; } - case bgcode::EThumbnailFormat::JPG: { ret += ".jpg"; break; } - case bgcode::EThumbnailFormat::QOI: { ret += ".qoi"; break; } + case bgcode::core::EThumbnailFormat::PNG: { ret += ".png"; break; } + case bgcode::core::EThumbnailFormat::JPG: { ret += ".jpg"; break; } + case bgcode::core::EThumbnailFormat::QOI: { ret += ".qoi"; break; } } return ret; }; @@ -1228,18 +1227,18 @@ void GCodeProcessor::process_binary_file(const std::string& filename, std::funct } #endif // ENABLE_BINARIZED_GCODE_DEBUG - res = bgcode::read_next_block_header(*file, file_header, block_header, verify_checksum); - if (res != bgcode::EResult::Success) - throw Slic3r::RuntimeError("Error while reading file: " + filename + ": " + bgcode::translate_result(res) + "\n"); + res = bgcode::core::read_next_block_header(*file, file_header, block_header, verify_checksum); + if (res != bgcode::core::EResult::Success) + throw Slic3r::RuntimeError("Error while reading file: " + filename + ": " + bgcode::core::translate_result(res) + "\n"); } // read print metadata block - if ((bgcode::EBlockType)block_header.type != bgcode::EBlockType::PrintMetadata) + if ((bgcode::core::EBlockType)block_header.type != bgcode::core::EBlockType::PrintMetadata) throw Slic3r::RuntimeError("Unable to find print metadata block in file: " + filename + "\n"); - bgcode::PrintMetadataBlock print_metadata_block; + bgcode::base::PrintMetadataBlock print_metadata_block; res = print_metadata_block.read_data(*file, file_header, block_header); - if (res != bgcode::EResult::Success) - throw Slic3r::RuntimeError("Error while reading file: " + filename + ": " + bgcode::translate_result(res) + "\n"); + if (res != bgcode::core::EResult::Success) + throw Slic3r::RuntimeError("Error while reading file: " + filename + ": " + bgcode::core::translate_result(res) + "\n"); #if ENABLE_BINARIZED_GCODE_DEBUG OutputDebugStringA("Print metadata:\n"); for (const auto& [key, value] : print_metadata_block.raw_data) { @@ -1251,15 +1250,15 @@ void GCodeProcessor::process_binary_file(const std::string& filename, std::funct #endif // ENABLE_BINARIZED_GCODE_DEBUG // read slicer metadata block - res = bgcode::read_next_block_header(*file, file_header, block_header, verify_checksum); - if (res != bgcode::EResult::Success) - throw Slic3r::RuntimeError("Error while reading file: " + filename + ": " + bgcode::translate_result(res) + "\n"); - if ((bgcode::EBlockType)block_header.type != bgcode::EBlockType::SlicerMetadata) + res = bgcode::core::read_next_block_header(*file, file_header, block_header, verify_checksum); + if (res != bgcode::core::EResult::Success) + throw Slic3r::RuntimeError("Error while reading file: " + filename + ": " + bgcode::core::translate_result(res) + "\n"); + if ((bgcode::core::EBlockType)block_header.type != bgcode::core::EBlockType::SlicerMetadata) throw Slic3r::RuntimeError("Unable to find slicer metadata block in file: " + filename + "\n"); - bgcode::SlicerMetadataBlock slicer_metadata_block; + bgcode::base::SlicerMetadataBlock slicer_metadata_block; res = slicer_metadata_block.read_data(*file, file_header, block_header); - if (res != bgcode::EResult::Success) - throw Slic3r::RuntimeError("Error while reading file: " + filename + ": " + bgcode::translate_result(res) + "\n"); + if (res != bgcode::core::EResult::Success) + throw Slic3r::RuntimeError("Error while reading file: " + filename + ": " + bgcode::core::translate_result(res) + "\n"); #if ENABLE_BINARIZED_GCODE_DEBUG OutputDebugStringA("Slicer metadata:\n"); for (const auto& [key, value] : slicer_metadata_block.raw_data) { @@ -1286,16 +1285,16 @@ void GCodeProcessor::process_binary_file(const std::string& filename, std::funct initialize_result_moves(); // read gcodes block - res = bgcode::read_next_block_header(*file, file_header, block_header, verify_checksum); - if (res != bgcode::EResult::Success) - throw Slic3r::RuntimeError("Error while reading file: " + filename + ": " + bgcode::translate_result(res) + "\n"); - if ((bgcode::EBlockType)block_header.type != bgcode::EBlockType::GCode) + res = bgcode::core::read_next_block_header(*file, file_header, block_header, verify_checksum); + if (res != bgcode::core::EResult::Success) + throw Slic3r::RuntimeError("Error while reading file: " + filename + ": " + bgcode::core::translate_result(res) + "\n"); + if ((bgcode::core::EBlockType)block_header.type != bgcode::core::EBlockType::GCode) throw Slic3r::RuntimeError("Unable to find gcode block in file: " + filename + "\n"); - while ((bgcode::EBlockType)block_header.type == bgcode::EBlockType::GCode) { - bgcode::GCodeBlock block; + while ((bgcode::core::EBlockType)block_header.type == bgcode::core::EBlockType::GCode) { + bgcode::base::GCodeBlock block; res = block.read_data(*file, file_header, block_header); - if (res != bgcode::EResult::Success) - throw Slic3r::RuntimeError("Error while reading file: " + filename + ": " + bgcode::translate_result(res) + "\n"); + if (res != bgcode::core::EResult::Success) + throw Slic3r::RuntimeError("Error while reading file: " + filename + ": " + bgcode::core::translate_result(res) + "\n"); // TODO: Update m_result.lines_ends @@ -1306,9 +1305,9 @@ void GCodeProcessor::process_binary_file(const std::string& filename, std::funct if (ftell(file) == file_size) break; - res = bgcode::read_next_block_header(*file, file_header, block_header, verify_checksum); - if (res != bgcode::EResult::Success) - throw Slic3r::RuntimeError("Error while reading file: " + filename + ": " + bgcode::translate_result(res) + "\n"); + res = bgcode::core::read_next_block_header(*file, file_header, block_header, verify_checksum); + if (res != bgcode::core::EResult::Success) + throw Slic3r::RuntimeError("Error while reading file: " + filename + ": " + bgcode::core::translate_result(res) + "\n"); } // Don't post-process the G-code to update time stamps. @@ -3696,7 +3695,7 @@ void GCodeProcessor::post_process() }; // update binary data - bgcode::BinaryData& binary_data = m_binarizer.get_binary_data(); + bgcode::base::BinaryData& binary_data = m_binarizer.get_binary_data(); binary_data.print_metadata.raw_data.push_back({ PrintStatistics::FilamentUsedMm, stringify(filament_mm) }); binary_data.print_metadata.raw_data.push_back({ PrintStatistics::FilamentUsedCm3, stringify(filament_cm3) }); binary_data.print_metadata.raw_data.push_back({ PrintStatistics::FilamentUsedG, stringify(filament_g) }); @@ -3720,8 +3719,8 @@ void GCodeProcessor::post_process() } } - const bgcode::EResult res = m_binarizer.initialize(*out.f, s_binarizer_config); - if (res != bgcode::EResult::Success) + const bgcode::core::EResult res = m_binarizer.initialize(*out.f, s_binarizer_config); + if (res != bgcode::core::EResult::Success) throw Slic3r::RuntimeError(std::string("Unable to initialize the gcode binarizer.\n")); } #endif // ENABLE_BINARIZED_GCODE @@ -3843,12 +3842,12 @@ void GCodeProcessor::post_process() size_t m_out_file_pos{ 0 }; #if ENABLE_BINARIZED_GCODE - bgcode::Binarizer& m_binarizer; + bgcode::base::Binarizer& m_binarizer; #endif // ENABLE_BINARIZED_GCODE public: #if ENABLE_BINARIZED_GCODE - ExportLines(bgcode::Binarizer& binarizer, EWriteType type, TimeMachine& machine) + ExportLines(bgcode::base::Binarizer& binarizer, EWriteType type, TimeMachine& machine) #ifndef NDEBUG : m_statistics(*this), m_binarizer(binarizer), m_write_type(type), m_machine(machine) {} #else @@ -3974,8 +3973,8 @@ void GCodeProcessor::post_process() #if ENABLE_BINARIZED_GCODE if (m_binarizer.is_enabled()) { - bgcode::EResult res = m_binarizer.append_gcode(out_string); - if (res != bgcode::EResult::Success) + bgcode::core::EResult res = m_binarizer.append_gcode(out_string); + if (res != bgcode::core::EResult::Success) throw Slic3r::RuntimeError(std::string("Error while sending gcode to the binarizer.\n")); } else @@ -4011,8 +4010,8 @@ void GCodeProcessor::post_process() #if ENABLE_BINARIZED_GCODE if (m_binarizer.is_enabled()) { - bgcode::EResult res = m_binarizer.append_gcode(out_string); - if (res != bgcode::EResult::Success) + bgcode::core::EResult res = m_binarizer.append_gcode(out_string); + if (res != bgcode::core::EResult::Success) throw Slic3r::RuntimeError(std::string("Error while sending gcode to the binarizer.\n")); } else @@ -4391,8 +4390,8 @@ void GCodeProcessor::post_process() #if ENABLE_BINARIZED_GCODE if (m_binarizer.is_enabled()) { - const bgcode::EResult res = m_binarizer.finalize(); - if (res != bgcode::EResult::Success) + const bgcode::core::EResult res = m_binarizer.finalize(); + if (res != bgcode::core::EResult::Success) throw Slic3r::RuntimeError(std::string("Error while finalizing the gcode binarizer.\n")); } #endif // ENABLE_BINARIZED_GCODE diff --git a/src/libslic3r/GCode/GCodeProcessor.hpp b/src/libslic3r/GCode/GCodeProcessor.hpp index b3390ed1c6..303a6868d1 100644 --- a/src/libslic3r/GCode/GCodeProcessor.hpp +++ b/src/libslic3r/GCode/GCodeProcessor.hpp @@ -8,7 +8,7 @@ #include "libslic3r/CustomGCode.hpp" #if ENABLE_BINARIZED_GCODE -#include "GCodeBinarizer.hpp" +#include #endif // ENABLE_BINARIZED_GCODE #include @@ -528,14 +528,14 @@ namespace Slic3r { #endif // ENABLE_GCODE_VIEWER_DATA_CHECKING #if ENABLE_BINARIZED_GCODE_DEBUG_WINDOW - static bgcode::BinarizerConfig& get_binarizer_config() { return s_binarizer_config; } + static bgcode::base::BinarizerConfig& get_binarizer_config() { return s_binarizer_config; } #endif // ENABLE_BINARIZED_GCODE_DEBUG_WINDOW private: GCodeReader m_parser; #if ENABLE_BINARIZED_GCODE - bgcode::Binarizer m_binarizer; - static bgcode::BinarizerConfig s_binarizer_config; + bgcode::base::Binarizer m_binarizer; + static bgcode::base::BinarizerConfig s_binarizer_config; #endif // ENABLE_BINARIZED_GCODE EUnits m_units; @@ -635,8 +635,8 @@ namespace Slic3r { void apply_config(const PrintConfig& config); void set_print(Print* print) { m_print = print; } #if ENABLE_BINARIZED_GCODE - bgcode::BinaryData& get_binary_data() { return m_binarizer.get_binary_data(); } - const bgcode::BinaryData& get_binary_data() const { return m_binarizer.get_binary_data(); } + bgcode::base::BinaryData& get_binary_data() { return m_binarizer.get_binary_data(); } + const bgcode::base::BinaryData& get_binary_data() const { return m_binarizer.get_binary_data(); } #endif // ENABLE_BINARIZED_GCODE void enable_stealth_time_estimator(bool enabled); diff --git a/src/libslic3r/GCode/Thumbnails.hpp b/src/libslic3r/GCode/Thumbnails.hpp index 6fd28af333..7e99013962 100644 --- a/src/libslic3r/GCode/Thumbnails.hpp +++ b/src/libslic3r/GCode/Thumbnails.hpp @@ -4,14 +4,15 @@ #include "../Point.hpp" #include "../PrintConfig.hpp" #include "ThumbnailData.hpp" -#if ENABLE_BINARIZED_GCODE -#include "GCode/GCodeBinarizer.hpp" -#endif // ENABLE_BINARIZED_GCODE #include #include #include +#if ENABLE_BINARIZED_GCODE +#include +#endif // ENABLE_BINARIZED_GCODE + #include namespace Slic3r::GCodeThumbnails { @@ -60,7 +61,7 @@ inline void export_thumbnails_to_file(ThumbnailsGeneratorCallback &thumbnail_cb, #if ENABLE_BINARIZED_GCODE template -inline void generate_binary_thumbnails(ThumbnailsGeneratorCallback& thumbnail_cb, std::vector& out_thumbnails, +inline void generate_binary_thumbnails(ThumbnailsGeneratorCallback& thumbnail_cb, std::vector& out_thumbnails, const std::vector& sizes, GCodeThumbnailsFormat format, ThrowIfCanceledCallback throw_if_canceled) { out_thumbnails.clear(); @@ -70,13 +71,13 @@ inline void generate_binary_thumbnails(ThumbnailsGeneratorCallback& thumbnail_cb if (data.is_valid()) { auto compressed = compress_thumbnail(data, format); if (compressed->data != nullptr && compressed->size > 0) { - bgcode::ThumbnailBlock& block = out_thumbnails.emplace_back(bgcode::ThumbnailBlock()); + bgcode::base::ThumbnailBlock& block = out_thumbnails.emplace_back(bgcode::base::ThumbnailBlock()); block.width = (uint16_t)data.width; block.height = (uint16_t)data.height; switch (format) { - case GCodeThumbnailsFormat::PNG: { block.format = (uint16_t)bgcode::EThumbnailFormat::PNG; break; } - case GCodeThumbnailsFormat::JPG: { block.format = (uint16_t)bgcode::EThumbnailFormat::JPG; break; } - case GCodeThumbnailsFormat::QOI: { block.format = (uint16_t)bgcode::EThumbnailFormat::QOI; break; } + case GCodeThumbnailsFormat::PNG: { block.format = (uint16_t)bgcode::core::EThumbnailFormat::PNG; break; } + case GCodeThumbnailsFormat::JPG: { block.format = (uint16_t)bgcode::core::EThumbnailFormat::JPG; break; } + case GCodeThumbnailsFormat::QOI: { block.format = (uint16_t)bgcode::core::EThumbnailFormat::QOI; break; } } block.data.resize(compressed->size); memcpy(block.data.data(), compressed->data, compressed->size); diff --git a/src/libslic3r/Technologies.hpp b/src/libslic3r/Technologies.hpp index 6af385e71a..db25b587f7 100644 --- a/src/libslic3r/Technologies.hpp +++ b/src/libslic3r/Technologies.hpp @@ -69,6 +69,7 @@ // Enable export of binarized gcode #define ENABLE_BINARIZED_GCODE (1 && ENABLE_2_6_1_ALPHA1) +#define ENABLE_BINARIZED_GCODE_DEBUG (1 && ENABLE_BINARIZED_GCODE) #define ENABLE_BINARIZED_GCODE_DEBUG_WINDOW (1 && ENABLE_BINARIZED_GCODE) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index be81ea7f1f..b609795fd2 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -7874,7 +7874,7 @@ void GLCanvas3D::GizmoHighlighter::blink() #if ENABLE_BINARIZED_GCODE_DEBUG_WINDOW void GLCanvas3D::show_binary_gcode_debug_window() { - bgcode::BinarizerConfig& binarizer_config = GCodeProcessor::get_binarizer_config(); + bgcode::base::BinarizerConfig& binarizer_config = GCodeProcessor::get_binarizer_config(); ImGuiWrapper& imgui = *wxGetApp().imgui(); imgui.begin(std::string("Binary GCode"), ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoCollapse); @@ -7888,7 +7888,7 @@ void GLCanvas3D::show_binary_gcode_debug_window() std::vector options = { "None", "Deflate", "heatshrink 11,4", "heatshrink 12,4" }; int option_id = (int)binarizer_config.compression.file_metadata; if (imgui.combo(std::string("##file_metadata_compression"), options, option_id, ImGuiComboFlags_HeightLargest, 0.0f, 175.0f)) - binarizer_config.compression.file_metadata = (bgcode::ECompressionType)option_id; + binarizer_config.compression.file_metadata = (bgcode::core::ECompressionType)option_id; ImGui::TableNextRow(); ImGui::TableSetColumnIndex(0); @@ -7896,7 +7896,7 @@ void GLCanvas3D::show_binary_gcode_debug_window() ImGui::TableSetColumnIndex(1); option_id = (int)binarizer_config.compression.printer_metadata; if (imgui.combo(std::string("##printer_metadata_compression"), options, option_id, ImGuiComboFlags_HeightLargest, 0.0f, 175.0f)) - binarizer_config.compression.printer_metadata = (bgcode::ECompressionType)option_id; + binarizer_config.compression.printer_metadata = (bgcode::core::ECompressionType)option_id; ImGui::TableNextRow(); ImGui::TableSetColumnIndex(0); @@ -7904,7 +7904,7 @@ void GLCanvas3D::show_binary_gcode_debug_window() ImGui::TableSetColumnIndex(1); option_id = (int)binarizer_config.compression.print_metadata; if (imgui.combo(std::string("##print_metadata_compression"), options, option_id, ImGuiComboFlags_HeightLargest, 0.0f, 175.0f)) - binarizer_config.compression.print_metadata = (bgcode::ECompressionType)option_id; + binarizer_config.compression.print_metadata = (bgcode::core::ECompressionType)option_id; ImGui::TableNextRow(); ImGui::TableSetColumnIndex(0); @@ -7912,7 +7912,7 @@ void GLCanvas3D::show_binary_gcode_debug_window() ImGui::TableSetColumnIndex(1); option_id = (int)binarizer_config.compression.slicer_metadata; if (imgui.combo(std::string("##slicer_metadata_compression"), options, option_id, ImGuiComboFlags_HeightLargest, 0.0f, 175.0f)) - binarizer_config.compression.slicer_metadata = (bgcode::ECompressionType)option_id; + binarizer_config.compression.slicer_metadata = (bgcode::core::ECompressionType)option_id; ImGui::TableNextRow(); ImGui::TableSetColumnIndex(0); @@ -7920,7 +7920,7 @@ void GLCanvas3D::show_binary_gcode_debug_window() ImGui::TableSetColumnIndex(1); option_id = (int)binarizer_config.compression.gcode; if (imgui.combo(std::string("##gcode_compression"), options, option_id, ImGuiComboFlags_HeightLargest, 0.0f, 175.0f)) - binarizer_config.compression.gcode = (bgcode::ECompressionType)option_id; + binarizer_config.compression.gcode = (bgcode::core::ECompressionType)option_id; ImGui::TableNextRow(); ImGui::TableSetColumnIndex(0); @@ -7929,7 +7929,7 @@ void GLCanvas3D::show_binary_gcode_debug_window() options = { "None", "MeatPack", "MeatPack Comments" }; option_id = (int)binarizer_config.gcode_encoding; if (imgui.combo(std::string("##gcode_encoding"), options, option_id, ImGuiComboFlags_HeightLargest, 0.0f, 175.0f)) - binarizer_config.gcode_encoding = (bgcode::EGCodeEncodingType)option_id; + binarizer_config.gcode_encoding = (bgcode::core::EGCodeEncodingType)option_id; ImGui::TableNextRow(); ImGui::TableSetColumnIndex(0); @@ -7938,7 +7938,7 @@ void GLCanvas3D::show_binary_gcode_debug_window() options = { "INI" }; option_id = (int)binarizer_config.metadata_encoding; if (imgui.combo(std::string("##metadata_encoding"), options, option_id, ImGuiComboFlags_HeightLargest, 0.0f, 175.0f)) - binarizer_config.metadata_encoding = (bgcode::EMetadataEncodingType)option_id; + binarizer_config.metadata_encoding = (bgcode::core::EMetadataEncodingType)option_id; ImGui::TableNextRow(); ImGui::TableSetColumnIndex(0); @@ -7947,7 +7947,7 @@ void GLCanvas3D::show_binary_gcode_debug_window() options = { "None", "CRC32" }; option_id = (int)binarizer_config.checksum; if (imgui.combo(std::string("##4"), options, option_id, ImGuiComboFlags_HeightLargest, 0.0f, 175.0f)) - binarizer_config.checksum = (bgcode::EChecksumType)option_id; + binarizer_config.checksum = (bgcode::core::EChecksumType)option_id; ImGui::EndTable(); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 20d6835b16..f23413270c 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -36,6 +36,10 @@ #include #endif +#if ENABLE_BINARIZED_GCODE +#include +#endif // ENABLE_BINARIZED_GCODE + #include "libslic3r/libslic3r.h" #include "libslic3r/Format/STL.hpp" #include "libslic3r/Format/AMF.hpp" @@ -5472,9 +5476,9 @@ void Plater::convert_gcode_to_ascii() // Perform conversion { wxBusyCursor busy; - bgcode::EResult res = bgcode::from_binary_to_ascii(*in_file, *out_file, true); - if (res != bgcode::EResult::Success) { - MessageDialog msg_dlg(this, _L(bgcode::translate_result(res)), _L("Error converting gcode file"), wxICON_INFORMATION | wxOK); + bgcode::core::EResult res = bgcode::convert::from_binary_to_ascii(*in_file, *out_file, true); + if (res != bgcode::core::EResult::Success) { + MessageDialog msg_dlg(this, _L(bgcode::core::translate_result(res)), _L("Error converting gcode file"), wxICON_INFORMATION | wxOK); msg_dlg.ShowModal(); scoped_out_file.unscope(); fclose(out_file);