Changes required by updated library libbgcode

This commit is contained in:
enricoturri1966 2023-08-04 14:44:45 +02:00
parent eb8d01888d
commit 5deb4470c7
9 changed files with 30 additions and 30 deletions

View File

@ -16,7 +16,7 @@ endif()
find_package(LibBGCode REQUIRED COMPONENTS Convert) find_package(LibBGCode REQUIRED COMPONENTS Convert)
slic3r_remap_configs(LibBGCode::bgcode_core RelWithDebInfo Release) slic3r_remap_configs(LibBGCode::bgcode_core RelWithDebInfo Release)
slic3r_remap_configs(LibBGCode::bgcode_base RelWithDebInfo Release) slic3r_remap_configs(LibBGCode::bgcode_binarize RelWithDebInfo Release)
slic3r_remap_configs(LibBGCode::bgcode_convert RelWithDebInfo Release) slic3r_remap_configs(LibBGCode::bgcode_convert RelWithDebInfo Release)
set(SLIC3R_SOURCES set(SLIC3R_SOURCES

View File

@ -24,7 +24,7 @@
#include <string.h> #include <string.h>
#if ENABLE_BINARIZED_GCODE #if ENABLE_BINARIZED_GCODE
#include <LibBGCode/base/base.hpp> #include <LibBGCode/binarize/binarize.hpp>
#endif // ENABLE_BINARIZED_GCODE #endif // ENABLE_BINARIZED_GCODE
//FIXME for GCodeFlavor and gcfMarlin (for forward-compatibility conversion) //FIXME for GCodeFlavor and gcfMarlin (for forward-compatibility conversion)
@ -1090,7 +1090,7 @@ ConfigSubstitutions ConfigBase::load_from_binary_gcode_file(const std::string& f
throw Slic3r::RuntimeError(format("Error while reading file '%1%': %2%", filename, std::string(bgcode::core::translate_result(res)))); throw Slic3r::RuntimeError(format("Error while reading file '%1%': %2%", filename, std::string(bgcode::core::translate_result(res))));
if ((bgcode::core::EBlockType)block_header.type != bgcode::core::EBlockType::SlicerMetadata) if ((bgcode::core::EBlockType)block_header.type != bgcode::core::EBlockType::SlicerMetadata)
throw Slic3r::RuntimeError(format("Unable to find slicer metadata block in file: '%1%'", filename)); throw Slic3r::RuntimeError(format("Unable to find slicer metadata block in file: '%1%'", filename));
bgcode::base::SlicerMetadataBlock slicer_metadata_block; bgcode::binarize::SlicerMetadataBlock slicer_metadata_block;
res = slicer_metadata_block.read_data(*file.f, file_header, block_header); res = slicer_metadata_block.read_data(*file.f, file_header, block_header);
if (res != bgcode::core::EResult::Success) if (res != bgcode::core::EResult::Success)
throw Slic3r::RuntimeError(format("Error while reading file '%1%': %2%", filename, std::string(bgcode::core::translate_result(res)))); throw Slic3r::RuntimeError(format("Error while reading file '%1%': %2%", filename, std::string(bgcode::core::translate_result(res))));

View File

@ -841,7 +841,7 @@ void GCode::do_export(Print* print, const char* path, GCodeProcessorResult* resu
m_processor.initialize(path_tmp); m_processor.initialize(path_tmp);
m_processor.set_print(print); m_processor.set_print(print);
#if ENABLE_BINARIZED_GCODE #if ENABLE_BINARIZED_GCODE
m_processor.get_binary_data() = bgcode::base::BinaryData(); m_processor.get_binary_data() = bgcode::binarize::BinaryData();
#endif // ENABLE_BINARIZED_GCODE #endif // ENABLE_BINARIZED_GCODE
GCodeOutputStream file(boost::nowide::fopen(path_tmp.c_str(), "wb"), m_processor); GCodeOutputStream file(boost::nowide::fopen(path_tmp.c_str(), "wb"), m_processor);
if (! file.is_open()) if (! file.is_open())
@ -984,7 +984,7 @@ namespace DoExport {
unsigned int initial_extruder_id, unsigned int initial_extruder_id,
PrintStatistics &print_statistics, PrintStatistics &print_statistics,
bool export_binary_data, bool export_binary_data,
bgcode::base::BinaryData &binary_data) bgcode::binarize::BinaryData &binary_data)
#else #else
static std::string update_print_stats_and_format_filament_stats( static std::string update_print_stats_and_format_filament_stats(
const bool has_wipe_tower, const bool has_wipe_tower,
@ -1132,7 +1132,7 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato
// 1) generate the thumbnails // 1) generate the thumbnails
// 2) collect the config data // 2) collect the config data
if (export_to_binary_gcode) { if (export_to_binary_gcode) {
bgcode::base::BinaryData& binary_data = m_processor.get_binary_data(); bgcode::binarize::BinaryData& binary_data = m_processor.get_binary_data();
// Unit tests or command line slicing may not define "thumbnails" or "thumbnails_format". // Unit tests or command line slicing may not define "thumbnails" or "thumbnails_format".
// If "thumbnails_format" is not defined, export to PNG. // If "thumbnails_format" is not defined, export to PNG.
@ -1611,7 +1611,7 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato
file.write(filament_stats_string_out); file.write(filament_stats_string_out);
if (export_to_binary_gcode) { if (export_to_binary_gcode) {
bgcode::base::BinaryData& binary_data = m_processor.get_binary_data(); bgcode::binarize::BinaryData& binary_data = m_processor.get_binary_data();
if (print.m_print_statistics.total_toolchanges > 0) 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) }); binary_data.print_metadata.raw_data.push_back({ "total toolchanges", std::to_string(print.m_print_statistics.total_toolchanges) });
} }

View File

@ -29,7 +29,7 @@
#include "GCode/PressureEqualizer.hpp" #include "GCode/PressureEqualizer.hpp"
#if ENABLE_BINARIZED_GCODE #if ENABLE_BINARIZED_GCODE
#include <LibBGCode/base/base.hpp> #include <LibBGCode/binarize/binarize.hpp>
#endif // ENABLE_BINARIZED_GCODE #endif // ENABLE_BINARIZED_GCODE
namespace Slic3r { namespace Slic3r {

View File

@ -70,7 +70,7 @@ const float GCodeProcessor::Wipe_Width = 0.05f;
const float GCodeProcessor::Wipe_Height = 0.05f; const float GCodeProcessor::Wipe_Height = 0.05f;
#if ENABLE_BINARIZED_GCODE #if ENABLE_BINARIZED_GCODE
bgcode::base::BinarizerConfig GCodeProcessor::s_binarizer_config{}; bgcode::binarize::BinarizerConfig GCodeProcessor::s_binarizer_config{};
#endif // ENABLE_BINARIZED #endif // ENABLE_BINARIZED
#if ENABLE_GCODE_VIEWER_DATA_CHECKING #if ENABLE_GCODE_VIEWER_DATA_CHECKING
@ -1152,7 +1152,7 @@ void GCodeProcessor::process_binary_file(const std::string& filename, std::funct
throw Slic3r::RuntimeError("Error while reading file '" + filename + "': " + std::string(bgcode::core::translate_result(res)) + "\n"); throw Slic3r::RuntimeError("Error while reading file '" + filename + "': " + std::string(bgcode::core::translate_result(res)) + "\n");
if ((bgcode::core::EBlockType)block_header.type != bgcode::core::EBlockType::FileMetadata) if ((bgcode::core::EBlockType)block_header.type != bgcode::core::EBlockType::FileMetadata)
throw Slic3r::RuntimeError("Unable to find file metadata block in file: " + filename + "\n"); throw Slic3r::RuntimeError("Unable to find file metadata block in file: " + filename + "\n");
bgcode::base::FileMetadataBlock file_metadata_block; bgcode::binarize::FileMetadataBlock file_metadata_block;
res = file_metadata_block.read_data(*file.f, file_header, block_header); res = file_metadata_block.read_data(*file.f, file_header, block_header);
if (res != bgcode::core::EResult::Success) if (res != bgcode::core::EResult::Success)
throw Slic3r::RuntimeError("Error while reading file '" + filename + "': " + std::string(bgcode::core::translate_result(res)) + "\n"); throw Slic3r::RuntimeError("Error while reading file '" + filename + "': " + std::string(bgcode::core::translate_result(res)) + "\n");
@ -1169,7 +1169,7 @@ void GCodeProcessor::process_binary_file(const std::string& filename, std::funct
throw Slic3r::RuntimeError("Error while reading file '" + filename + "': " + std::string(bgcode::core::translate_result(res)) + "\n"); throw Slic3r::RuntimeError("Error while reading file '" + filename + "': " + std::string(bgcode::core::translate_result(res)) + "\n");
if ((bgcode::core::EBlockType)block_header.type != bgcode::core::EBlockType::PrinterMetadata) if ((bgcode::core::EBlockType)block_header.type != bgcode::core::EBlockType::PrinterMetadata)
throw Slic3r::RuntimeError("Unable to find printer metadata block in file: " + filename + "\n"); throw Slic3r::RuntimeError("Unable to find printer metadata block in file: " + filename + "\n");
bgcode::base::PrinterMetadataBlock printer_metadata_block; bgcode::binarize::PrinterMetadataBlock printer_metadata_block;
res = printer_metadata_block.read_data(*file.f, file_header, block_header); res = printer_metadata_block.read_data(*file.f, file_header, block_header);
if (res != bgcode::core::EResult::Success) if (res != bgcode::core::EResult::Success)
throw Slic3r::RuntimeError("Error while reading file '" + filename + "': " + std::string(bgcode::core::translate_result(res)) + "\n"); throw Slic3r::RuntimeError("Error while reading file '" + filename + "': " + std::string(bgcode::core::translate_result(res)) + "\n");
@ -1189,13 +1189,13 @@ void GCodeProcessor::process_binary_file(const std::string& filename, std::funct
throw Slic3r::RuntimeError("Error while reading file '" + filename + "': " + std::string(bgcode::core::translate_result(res)) + "\n"); throw Slic3r::RuntimeError("Error while reading file '" + filename + "': " + std::string(bgcode::core::translate_result(res)) + "\n");
while ((bgcode::core::EBlockType)block_header.type == bgcode::core::EBlockType::Thumbnail) { while ((bgcode::core::EBlockType)block_header.type == bgcode::core::EBlockType::Thumbnail) {
bgcode::base::ThumbnailBlock thumbnail_block; bgcode::binarize::ThumbnailBlock thumbnail_block;
res = thumbnail_block.read_data(*file.f, file_header, block_header); res = thumbnail_block.read_data(*file.f, file_header, block_header);
if (res != bgcode::core::EResult::Success) if (res != bgcode::core::EResult::Success)
throw Slic3r::RuntimeError("Error while reading file '" + filename + "': " + std::string(bgcode::core::translate_result(res)) + "\n"); throw Slic3r::RuntimeError("Error while reading file '" + filename + "': " + std::string(bgcode::core::translate_result(res)) + "\n");
#if ENABLE_BINARIZED_GCODE_DEBUG #if ENABLE_BINARIZED_GCODE_DEBUG
if (thumbnail_block.data.size() > 0) { if (thumbnail_block.data.size() > 0) {
auto format_filename = [](const std::string& stem, const bgcode::base::ThumbnailBlock& block) { auto format_filename = [](const std::string& stem, const bgcode::binarize::ThumbnailBlock& block) {
std::string ret = stem + "_" + std::to_string(block.width) + "x" + std::to_string(block.height); std::string ret = stem + "_" + std::to_string(block.width) + "x" + std::to_string(block.height);
switch ((bgcode::core::EThumbnailFormat)block.format) switch ((bgcode::core::EThumbnailFormat)block.format)
{ {
@ -1225,7 +1225,7 @@ void GCodeProcessor::process_binary_file(const std::string& filename, std::funct
// read print metadata block // read print metadata block
if ((bgcode::core::EBlockType)block_header.type != bgcode::core::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"); throw Slic3r::RuntimeError("Unable to find print metadata block in file: " + filename + "\n");
bgcode::base::PrintMetadataBlock print_metadata_block; bgcode::binarize::PrintMetadataBlock print_metadata_block;
res = print_metadata_block.read_data(*file.f, file_header, block_header); res = print_metadata_block.read_data(*file.f, file_header, block_header);
if (res != bgcode::core::EResult::Success) if (res != bgcode::core::EResult::Success)
throw Slic3r::RuntimeError("Error while reading file '" + filename + "': " + std::string(bgcode::core::translate_result(res)) + "\n"); throw Slic3r::RuntimeError("Error while reading file '" + filename + "': " + std::string(bgcode::core::translate_result(res)) + "\n");
@ -1245,7 +1245,7 @@ void GCodeProcessor::process_binary_file(const std::string& filename, std::funct
throw Slic3r::RuntimeError("Error while reading file '" + filename + "': " + std::string(bgcode::core::translate_result(res)) + "\n"); throw Slic3r::RuntimeError("Error while reading file '" + filename + "': " + std::string(bgcode::core::translate_result(res)) + "\n");
if ((bgcode::core::EBlockType)block_header.type != bgcode::core::EBlockType::SlicerMetadata) if ((bgcode::core::EBlockType)block_header.type != bgcode::core::EBlockType::SlicerMetadata)
throw Slic3r::RuntimeError("Unable to find slicer metadata block in file: " + filename + "\n"); throw Slic3r::RuntimeError("Unable to find slicer metadata block in file: " + filename + "\n");
bgcode::base::SlicerMetadataBlock slicer_metadata_block; bgcode::binarize::SlicerMetadataBlock slicer_metadata_block;
res = slicer_metadata_block.read_data(*file.f, file_header, block_header); res = slicer_metadata_block.read_data(*file.f, file_header, block_header);
if (res != bgcode::core::EResult::Success) if (res != bgcode::core::EResult::Success)
throw Slic3r::RuntimeError("Error while reading file '" + filename + "': " + std::string(bgcode::core::translate_result(res)) + "\n"); throw Slic3r::RuntimeError("Error while reading file '" + filename + "': " + std::string(bgcode::core::translate_result(res)) + "\n");
@ -1281,7 +1281,7 @@ void GCodeProcessor::process_binary_file(const std::string& filename, std::funct
if ((bgcode::core::EBlockType)block_header.type != bgcode::core::EBlockType::GCode) if ((bgcode::core::EBlockType)block_header.type != bgcode::core::EBlockType::GCode)
throw Slic3r::RuntimeError("Unable to find gcode block in file: " + filename + "\n"); throw Slic3r::RuntimeError("Unable to find gcode block in file: " + filename + "\n");
while ((bgcode::core::EBlockType)block_header.type == bgcode::core::EBlockType::GCode) { while ((bgcode::core::EBlockType)block_header.type == bgcode::core::EBlockType::GCode) {
bgcode::base::GCodeBlock block; bgcode::binarize::GCodeBlock block;
res = block.read_data(*file.f, file_header, block_header); res = block.read_data(*file.f, file_header, block_header);
if (res != bgcode::core::EResult::Success) if (res != bgcode::core::EResult::Success)
throw Slic3r::RuntimeError("Error while reading file '" + filename + "': " + std::string(bgcode::core::translate_result(res)) + "\n"); throw Slic3r::RuntimeError("Error while reading file '" + filename + "': " + std::string(bgcode::core::translate_result(res)) + "\n");
@ -3685,7 +3685,7 @@ void GCodeProcessor::post_process()
}; };
// update binary data // update binary data
bgcode::base::BinaryData& binary_data = m_binarizer.get_binary_data(); bgcode::binarize::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::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::FilamentUsedCm3, stringify(filament_cm3) });
binary_data.print_metadata.raw_data.push_back({ PrintStatistics::FilamentUsedG, stringify(filament_g) }); binary_data.print_metadata.raw_data.push_back({ PrintStatistics::FilamentUsedG, stringify(filament_g) });
@ -3832,12 +3832,12 @@ void GCodeProcessor::post_process()
size_t m_out_file_pos{ 0 }; size_t m_out_file_pos{ 0 };
#if ENABLE_BINARIZED_GCODE #if ENABLE_BINARIZED_GCODE
bgcode::base::Binarizer& m_binarizer; bgcode::binarize::Binarizer& m_binarizer;
#endif // ENABLE_BINARIZED_GCODE #endif // ENABLE_BINARIZED_GCODE
public: public:
#if ENABLE_BINARIZED_GCODE #if ENABLE_BINARIZED_GCODE
ExportLines(bgcode::base::Binarizer& binarizer, EWriteType type, TimeMachine& machine) ExportLines(bgcode::binarize::Binarizer& binarizer, EWriteType type, TimeMachine& machine)
#ifndef NDEBUG #ifndef NDEBUG
: m_statistics(*this), m_binarizer(binarizer), m_write_type(type), m_machine(machine) {} : m_statistics(*this), m_binarizer(binarizer), m_write_type(type), m_machine(machine) {}
#else #else

View File

@ -8,7 +8,7 @@
#include "libslic3r/CustomGCode.hpp" #include "libslic3r/CustomGCode.hpp"
#if ENABLE_BINARIZED_GCODE #if ENABLE_BINARIZED_GCODE
#include <LibBGCode/base/base.hpp> #include <LibBGCode/binarize/binarize.hpp>
#endif // ENABLE_BINARIZED_GCODE #endif // ENABLE_BINARIZED_GCODE
#include <cstdint> #include <cstdint>
@ -528,14 +528,14 @@ namespace Slic3r {
#endif // ENABLE_GCODE_VIEWER_DATA_CHECKING #endif // ENABLE_GCODE_VIEWER_DATA_CHECKING
#if ENABLE_BINARIZED_GCODE_DEBUG_WINDOW #if ENABLE_BINARIZED_GCODE_DEBUG_WINDOW
static bgcode::base::BinarizerConfig& get_binarizer_config() { return s_binarizer_config; } static bgcode::binarize::BinarizerConfig& get_binarizer_config() { return s_binarizer_config; }
#endif // ENABLE_BINARIZED_GCODE_DEBUG_WINDOW #endif // ENABLE_BINARIZED_GCODE_DEBUG_WINDOW
private: private:
GCodeReader m_parser; GCodeReader m_parser;
#if ENABLE_BINARIZED_GCODE #if ENABLE_BINARIZED_GCODE
bgcode::base::Binarizer m_binarizer; bgcode::binarize::Binarizer m_binarizer;
static bgcode::base::BinarizerConfig s_binarizer_config; static bgcode::binarize::BinarizerConfig s_binarizer_config;
#endif // ENABLE_BINARIZED_GCODE #endif // ENABLE_BINARIZED_GCODE
EUnits m_units; EUnits m_units;
@ -635,8 +635,8 @@ namespace Slic3r {
void apply_config(const PrintConfig& config); void apply_config(const PrintConfig& config);
void set_print(Print* print) { m_print = print; } void set_print(Print* print) { m_print = print; }
#if ENABLE_BINARIZED_GCODE #if ENABLE_BINARIZED_GCODE
bgcode::base::BinaryData& get_binary_data() { return m_binarizer.get_binary_data(); } bgcode::binarize::BinaryData& get_binary_data() { return m_binarizer.get_binary_data(); }
const bgcode::base::BinaryData& get_binary_data() const { return m_binarizer.get_binary_data(); } const bgcode::binarize::BinaryData& get_binary_data() const { return m_binarizer.get_binary_data(); }
#endif // ENABLE_BINARIZED_GCODE #endif // ENABLE_BINARIZED_GCODE
void enable_stealth_time_estimator(bool enabled); void enable_stealth_time_estimator(bool enabled);

View File

@ -10,7 +10,7 @@
#include <string_view> #include <string_view>
#if ENABLE_BINARIZED_GCODE #if ENABLE_BINARIZED_GCODE
#include <LibBGCode/base/base.hpp> #include <LibBGCode/binarize/binarize.hpp>
#endif // ENABLE_BINARIZED_GCODE #endif // ENABLE_BINARIZED_GCODE
#include <boost/beast/core/detail/base64.hpp> #include <boost/beast/core/detail/base64.hpp>
@ -61,7 +61,7 @@ inline void export_thumbnails_to_file(ThumbnailsGeneratorCallback &thumbnail_cb,
#if ENABLE_BINARIZED_GCODE #if ENABLE_BINARIZED_GCODE
template<typename ThrowIfCanceledCallback> template<typename ThrowIfCanceledCallback>
inline void generate_binary_thumbnails(ThumbnailsGeneratorCallback& thumbnail_cb, std::vector<bgcode::base::ThumbnailBlock>& out_thumbnails, inline void generate_binary_thumbnails(ThumbnailsGeneratorCallback& thumbnail_cb, std::vector<bgcode::binarize::ThumbnailBlock>& out_thumbnails,
const std::vector<Vec2d>& sizes, GCodeThumbnailsFormat format, ThrowIfCanceledCallback throw_if_canceled) const std::vector<Vec2d>& sizes, GCodeThumbnailsFormat format, ThrowIfCanceledCallback throw_if_canceled)
{ {
out_thumbnails.clear(); out_thumbnails.clear();
@ -71,7 +71,7 @@ inline void generate_binary_thumbnails(ThumbnailsGeneratorCallback& thumbnail_cb
if (data.is_valid()) { if (data.is_valid()) {
auto compressed = compress_thumbnail(data, format); auto compressed = compress_thumbnail(data, format);
if (compressed->data != nullptr && compressed->size > 0) { if (compressed->data != nullptr && compressed->size > 0) {
bgcode::base::ThumbnailBlock& block = out_thumbnails.emplace_back(bgcode::base::ThumbnailBlock()); bgcode::binarize::ThumbnailBlock& block = out_thumbnails.emplace_back(bgcode::binarize::ThumbnailBlock());
block.width = (uint16_t)data.width; block.width = (uint16_t)data.width;
block.height = (uint16_t)data.height; block.height = (uint16_t)data.height;
switch (format) { switch (format) {

View File

@ -7874,7 +7874,7 @@ void GLCanvas3D::GizmoHighlighter::blink()
#if ENABLE_BINARIZED_GCODE_DEBUG_WINDOW #if ENABLE_BINARIZED_GCODE_DEBUG_WINDOW
void GLCanvas3D::show_binary_gcode_debug_window() void GLCanvas3D::show_binary_gcode_debug_window()
{ {
bgcode::base::BinarizerConfig& binarizer_config = GCodeProcessor::get_binarizer_config(); bgcode::binarize::BinarizerConfig& binarizer_config = GCodeProcessor::get_binarizer_config();
ImGuiWrapper& imgui = *wxGetApp().imgui(); ImGuiWrapper& imgui = *wxGetApp().imgui();
imgui.begin(std::string("Binary GCode"), ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoCollapse); imgui.begin(std::string("Binary GCode"), ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoCollapse);

View File

@ -5507,7 +5507,7 @@ void Plater::convert_gcode_to_binary()
// Perform conversion // Perform conversion
{ {
wxBusyCursor busy; wxBusyCursor busy;
const bgcode::base::BinarizerConfig& binarizer_config = GCodeProcessor::get_binarizer_config(); const bgcode::binarize::BinarizerConfig& binarizer_config = GCodeProcessor::get_binarizer_config();
bgcode::core::EResult res = bgcode::convert::from_ascii_to_binary(*in_file.f, *out_file.f, binarizer_config); bgcode::core::EResult res = bgcode::convert::from_ascii_to_binary(*in_file.f, *out_file.f, binarizer_config);
if (res != bgcode::core::EResult::Success) { if (res != bgcode::core::EResult::Success) {
MessageDialog msg_dlg(this, _L(std::string(bgcode::core::translate_result(res))), _L("Error converting gcode file"), wxICON_INFORMATION | wxOK); MessageDialog msg_dlg(this, _L(std::string(bgcode::core::translate_result(res))), _L("Error converting gcode file"), wxICON_INFORMATION | wxOK);