From 04f051ff61eefaaa42ecb4f08f3beec856d0cbf2 Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Thu, 19 Sep 2019 14:58:04 +0200 Subject: [PATCH 01/14] Wipe tower now doesn't print sparse layers, it is instead lower than the object --- src/libslic3r/GCode.cpp | 46 +++++++++++++++++++++++++++++++---------- src/libslic3r/GCode.hpp | 3 ++- 2 files changed, 37 insertions(+), 12 deletions(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 0ccc3ddf5..3ebf75c2e 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -274,7 +274,7 @@ static inline Point wipe_tower_point_to_object_point(GCode &gcodegen, const Vec2 return Point(scale_(wipe_tower_pt.x() - gcodegen.origin()(0)), scale_(wipe_tower_pt.y() - gcodegen.origin()(1))); } -std::string WipeTowerIntegration::append_tcr(GCode &gcodegen, const WipeTower::ToolChangeResult &tcr, int new_extruder_id) const +std::string WipeTowerIntegration::append_tcr(GCode &gcodegen, const WipeTower::ToolChangeResult &tcr, int new_extruder_id, double z) const { if (new_extruder_id != -1 && new_extruder_id != tcr.new_tool) throw std::invalid_argument("Error: WipeTowerIntegration::append_tcr was asked to do a toolchange it didn't expect."); @@ -310,6 +310,12 @@ std::string WipeTowerIntegration::append_tcr(GCode &gcodegen, const WipeTower::T gcode += gcodegen.unretract(); } + double current_z = gcodegen.writer().get_position().z(); + if (z == -1.) // in case no specific z was provided, print at current_z pos + z = current_z; + if (! is_approx(z, current_z)) + gcode += gcodegen.writer().travel_to_z(z, "Travel down to the last wipe tower layer."); + // Process the end filament gcode. std::string end_filament_gcode_str; @@ -376,16 +382,23 @@ std::string WipeTowerIntegration::append_tcr(GCode &gcodegen, const WipeTower::T // A phony move to the end position at the wipe tower. gcodegen.writer().travel_to_xy(end_pos.cast()); gcodegen.set_last_pos(wipe_tower_point_to_object_point(gcodegen, end_pos)); + if (! is_approx(z, current_z)) { + gcode += gcodegen.writer().retract(); + gcode += gcodegen.writer().travel_to_z(current_z, "Travel back up to the topmost object layer."); + gcode += gcodegen.writer().unretract(); + } - // Prepare a future wipe. - gcodegen.m_wipe.path.points.clear(); - if (new_extruder_id >= 0) { - // Start the wipe at the current position. - gcodegen.m_wipe.path.points.emplace_back(wipe_tower_point_to_object_point(gcodegen, end_pos)); - // Wipe end point: Wipe direction away from the closer tower edge to the further tower edge. - gcodegen.m_wipe.path.points.emplace_back(wipe_tower_point_to_object_point(gcodegen, - Vec2f((std::abs(m_left - end_pos.x()) < std::abs(m_right - end_pos.x())) ? m_right : m_left, - end_pos.y()))); + else { + // Prepare a future wipe. + gcodegen.m_wipe.path.points.clear(); + if (new_extruder_id >= 0) { + // Start the wipe at the current position. + gcodegen.m_wipe.path.points.emplace_back(wipe_tower_point_to_object_point(gcodegen, end_pos)); + // Wipe end point: Wipe direction away from the closer tower edge to the further tower edge. + gcodegen.m_wipe.path.points.emplace_back(wipe_tower_point_to_object_point(gcodegen, + Vec2f((std::abs(m_left - end_pos.x()) < std::abs(m_right - end_pos.x())) ? m_right : m_left, + end_pos.y()))); + } } // Let the planner know we are traveling between objects. @@ -511,7 +524,18 @@ std::string WipeTowerIntegration::tool_change(GCode &gcodegen, int extruder_id, if (m_layer_idx < (int)m_tool_changes.size()) { if (! (size_t(m_tool_change_idx) < m_tool_changes[m_layer_idx].size())) throw std::runtime_error("Wipe tower generation failed, possibly due to empty first layer."); - gcode += append_tcr(gcodegen, m_tool_changes[m_layer_idx][m_tool_change_idx++], extruder_id); + + + double wipe_tower_z = m_last_wipe_tower_print_z; + bool is_sparse_layer = (m_brim_done && m_tool_changes[m_layer_idx].size() == 1 && m_tool_changes[m_layer_idx].front().initial_tool == m_tool_changes[m_layer_idx].front().new_tool); + + if (m_tool_change_idx == 0 && ! is_sparse_layer) + wipe_tower_z = m_last_wipe_tower_print_z + m_tool_changes[m_layer_idx].front().layer_height; + + if (! is_sparse_layer) { + gcode += append_tcr(gcodegen, m_tool_changes[m_layer_idx][m_tool_change_idx++], extruder_id, wipe_tower_z); + m_last_wipe_tower_print_z = wipe_tower_z; + } } m_brim_done = true; } diff --git a/src/libslic3r/GCode.hpp b/src/libslic3r/GCode.hpp index 72813810b..16fd20faa 100644 --- a/src/libslic3r/GCode.hpp +++ b/src/libslic3r/GCode.hpp @@ -110,7 +110,7 @@ public: private: WipeTowerIntegration& operator=(const WipeTowerIntegration&); - std::string append_tcr(GCode &gcodegen, const WipeTower::ToolChangeResult &tcr, int new_extruder_id) const; + std::string append_tcr(GCode &gcodegen, const WipeTower::ToolChangeResult &tcr, int new_extruder_id, double z = -1.) const; // Postprocesses gcode: rotates and moves G1 extrusions and returns result std::string post_process_wipe_tower_moves(const WipeTower::ToolChangeResult& tcr, const Vec2f& translation, float angle) const; @@ -131,6 +131,7 @@ private: int m_tool_change_idx; bool m_brim_done; bool i_have_brim = false; + double m_last_wipe_tower_print_z = 0.f; }; class GCode { From abaebb489a33403e5d1fbca530691d2a29ce5252 Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Thu, 19 Sep 2019 16:30:01 +0200 Subject: [PATCH 02/14] Added a config option to not print sparse layers on the wipe tower --- src/libslic3r/GCode.cpp | 22 +++++++++++++++------- src/libslic3r/Print.cpp | 1 + src/libslic3r/PrintConfig.cpp | 8 ++++++++ src/libslic3r/PrintConfig.hpp | 2 ++ src/slic3r/GUI/Preset.cpp | 2 +- src/slic3r/GUI/Tab.cpp | 1 + 6 files changed, 28 insertions(+), 8 deletions(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 3ebf75c2e..2210e40b2 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -313,8 +313,11 @@ std::string WipeTowerIntegration::append_tcr(GCode &gcodegen, const WipeTower::T double current_z = gcodegen.writer().get_position().z(); if (z == -1.) // in case no specific z was provided, print at current_z pos z = current_z; - if (! is_approx(z, current_z)) + if (! is_approx(z, current_z)) { + gcode += gcodegen.writer().retract(); gcode += gcodegen.writer().travel_to_z(z, "Travel down to the last wipe tower layer."); + gcode += gcodegen.writer().unretract(); + } // Process the end filament gcode. @@ -526,13 +529,18 @@ std::string WipeTowerIntegration::tool_change(GCode &gcodegen, int extruder_id, throw std::runtime_error("Wipe tower generation failed, possibly due to empty first layer."); - double wipe_tower_z = m_last_wipe_tower_print_z; - bool is_sparse_layer = (m_brim_done && m_tool_changes[m_layer_idx].size() == 1 && m_tool_changes[m_layer_idx].front().initial_tool == m_tool_changes[m_layer_idx].front().new_tool); + // Calculate where the wipe tower layer will be printed. -1 means that print z will not change, + // resulting in a wipe tower with sparse layers. + double wipe_tower_z = -1; + bool ignore_sparse = false; + if (gcodegen.config().wipe_tower_no_sparse_layers.value) { + wipe_tower_z = m_last_wipe_tower_print_z; + ignore_sparse = (m_brim_done && m_tool_changes[m_layer_idx].size() == 1 && m_tool_changes[m_layer_idx].front().initial_tool == m_tool_changes[m_layer_idx].front().new_tool); + if (m_tool_change_idx == 0 && ! ignore_sparse) + wipe_tower_z = m_last_wipe_tower_print_z + m_tool_changes[m_layer_idx].front().layer_height; + } - if (m_tool_change_idx == 0 && ! is_sparse_layer) - wipe_tower_z = m_last_wipe_tower_print_z + m_tool_changes[m_layer_idx].front().layer_height; - - if (! is_sparse_layer) { + if (! ignore_sparse) { gcode += append_tcr(gcodegen, m_tool_changes[m_layer_idx][m_tool_change_idx++], extruder_id, wipe_tower_z); m_last_wipe_tower_print_z = wipe_tower_z; } diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index 4d8482743..8a5282b4b 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -143,6 +143,7 @@ bool Print::invalidate_state_by_config_options(const std::vectormode = comAdvanced; def->set_default_value(new ConfigOptionBool(true)); + def = this->add("wipe_tower_no_sparse_layers", coBool); + def->label = L("No sparse layers"); + def->tooltip = L("If enabled, the wipe tower will not be printed on layers with no toolchanges. " + "On layers with a toolchange, extruder will travel downward to print the wipe tower. " + "User is responsible for ensuring there is no collision with the print."); + def->mode = comAdvanced; + def->set_default_value(new ConfigOptionBool(false)); + def = this->add("support_material", coBool); def->label = L("Generate support material"); def->category = L("Support material"); diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index 6a19edf84..20ab60e9a 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -648,6 +648,7 @@ public: ConfigOptionStrings start_filament_gcode; ConfigOptionBool single_extruder_multi_material; ConfigOptionBool single_extruder_multi_material_priming; + ConfigOptionBool wipe_tower_no_sparse_layers; ConfigOptionString toolchange_gcode; ConfigOptionFloat travel_speed; ConfigOptionBool use_firmware_retraction; @@ -718,6 +719,7 @@ protected: OPT_PTR(retract_speed); OPT_PTR(single_extruder_multi_material); OPT_PTR(single_extruder_multi_material_priming); + OPT_PTR(wipe_tower_no_sparse_layers); OPT_PTR(start_gcode); OPT_PTR(start_filament_gcode); OPT_PTR(toolchange_gcode); diff --git a/src/slic3r/GUI/Preset.cpp b/src/slic3r/GUI/Preset.cpp index d2503d349..853a803b7 100644 --- a/src/slic3r/GUI/Preset.cpp +++ b/src/slic3r/GUI/Preset.cpp @@ -385,7 +385,7 @@ const std::vector& Preset::print_options() "top_infill_extrusion_width", "support_material_extrusion_width", "infill_overlap", "bridge_flow_ratio", "clip_multipart_objects", "elefant_foot_compensation", "xy_size_compensation", "threads", "resolution", "wipe_tower", "wipe_tower_x", "wipe_tower_y", "wipe_tower_width", "wipe_tower_rotation_angle", "wipe_tower_bridging", "single_extruder_multi_material_priming", - "compatible_printers", "compatible_printers_condition", "inherits" + "wipe_tower_no_sparse_layers", "compatible_printers", "compatible_printers_condition", "inherits" }; return s_opts; } diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index c87626a48..5ecfb9a77 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -1170,6 +1170,7 @@ void TabPrint::build() optgroup->append_single_option_line("wipe_tower_width"); optgroup->append_single_option_line("wipe_tower_rotation_angle"); optgroup->append_single_option_line("wipe_tower_bridging"); + optgroup->append_single_option_line("wipe_tower_no_sparse_layers"); optgroup->append_single_option_line("single_extruder_multi_material_priming"); optgroup = page->new_optgroup(_(L("Advanced"))); From b5e3899267b3ed2e2432048f804013bf21a2e54b Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Tue, 1 Oct 2019 11:41:37 +0200 Subject: [PATCH 03/14] Wipe tower: Sparse layers are not included in filament consumption in case that the 'no sparse layers' option is set --- src/libslic3r/GCode/WipeTower.cpp | 13 +++++++++---- src/libslic3r/GCode/WipeTower.hpp | 1 + src/libslic3r/Print.cpp | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/libslic3r/GCode/WipeTower.cpp b/src/libslic3r/GCode/WipeTower.cpp index b35761b5f..fff03786f 100644 --- a/src/libslic3r/GCode/WipeTower.cpp +++ b/src/libslic3r/GCode/WipeTower.cpp @@ -471,6 +471,7 @@ WipeTower::WipeTower(const PrintConfig& config, const std::vectortoolchanges_depth() > WT_EPSILON; box_coordinates box = fill_box; for (int i=0;i<2;++i) { - if (m_layer_info->toolchanges_depth() < WT_EPSILON) { // there were no toolchanges on this layer + if (! toolchanges_on_layer) { if (i==0) box.expand(m_perimeter_width); else box.expand(-m_perimeter_width); } @@ -1192,9 +1194,12 @@ WipeTower::ToolChangeResult WipeTower::finish_layer() m_depth_traversed = m_wipe_tower_depth-m_perimeter_width; - // Ask our writer about how much material was consumed: - if (m_current_tool < m_used_filament_length.size()) - m_used_filament_length[m_current_tool] += writer.get_and_reset_used_filament_length(); + + // Ask our writer about how much material was consumed. + // Skip this in case the layer is sparse and config option to not print sparse layers is enabled. + if (! m_no_sparse_layers || toolchanges_on_layer) + if (m_current_tool < m_used_filament_length.size()) + m_used_filament_length[m_current_tool] += writer.get_and_reset_used_filament_length(); ToolChangeResult result; result.priming = false; diff --git a/src/libslic3r/GCode/WipeTower.hpp b/src/libslic3r/GCode/WipeTower.hpp index 5477aa609..ff3ec46e5 100644 --- a/src/libslic3r/GCode/WipeTower.hpp +++ b/src/libslic3r/GCode/WipeTower.hpp @@ -218,6 +218,7 @@ private: float m_parking_pos_retraction = 0.f; float m_extra_loading_move = 0.f; float m_bridging = 0.f; + bool m_no_sparse_layers = false; bool m_set_extruder_trimpot = false; bool m_adhesion = true; GCodeFlavor m_gcode_flavor; diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index 8a5282b4b..fcda80a67 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -143,7 +143,6 @@ bool Print::invalidate_state_by_config_options(const std::vector Date: Mon, 11 Nov 2019 12:08:04 +0100 Subject: [PATCH 04/14] Disable Dark Mode on Mac OS for now in the Info.plist wxWidgets upgrade (or backport) is required first --- src/platform/osx/Info.plist.in | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/platform/osx/Info.plist.in b/src/platform/osx/Info.plist.in index f4e298180..d09f015b9 100644 --- a/src/platform/osx/Info.plist.in +++ b/src/platform/osx/Info.plist.in @@ -116,5 +116,7 @@ NSApplication NSHighResolutionCapable + NSRequiresAquaSystemAppearance + From 7a24f87c7f514d132c8b1e4d06ab2e13cc11991d Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Mon, 11 Nov 2019 15:44:12 +0100 Subject: [PATCH 05/14] Fix deps build on Mac Fix #2264 --- deps/deps-macos.cmake | 6 ++---- deps/deps-unix-common.cmake | 2 +- deps/deps-windows.cmake | 1 - 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/deps/deps-macos.cmake b/deps/deps-macos.cmake index fc08c6290..9e51735fd 100644 --- a/deps/deps-macos.cmake +++ b/deps/deps-macos.cmake @@ -16,8 +16,8 @@ include("deps-unix-common.cmake") ExternalProject_Add(dep_boost EXCLUDE_FROM_ALL 1 - URL "https://dl.bintray.com/boostorg/release/1.71.0/source/boost_1_71_0.tar.gz" - URL_HASH SHA256=96b34f7468f26a141f6020efb813f1a2f3dfb9797ecf76a7d7cbd843cc95f5bd + URL "https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.tar.gz" + URL_HASH SHA256=882b48708d211a5f48e60b0124cf5863c1534cd544ecd0664bb534a4b5d506e9 BUILD_IN_SOURCE 1 CONFIGURE_COMMAND ./bootstrap.sh --with-toolset=clang @@ -90,8 +90,6 @@ ExternalProject_Add(dep_wxwidgets EXCLUDE_FROM_ALL 1 GIT_REPOSITORY "https://github.com/prusa3d/wxWidgets" GIT_TAG v3.1.1-patched -# URL "https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.2/wxWidgets-3.1.2.tar.bz2" -# URL_HASH SHA256=4cb8d23d70f9261debf7d6cfeca667fc0a7d2b6565adb8f1c484f9b674f1f27a BUILD_IN_SOURCE 1 # PATCH_COMMAND "${CMAKE_COMMAND}" -E copy "${CMAKE_CURRENT_SOURCE_DIR}/wxwidgets-pngprefix.h" src/png/pngprefix.h CONFIGURE_COMMAND env "CXXFLAGS=${DEP_WERRORS_SDK}" "CFLAGS=${DEP_WERRORS_SDK}" ./configure diff --git a/deps/deps-unix-common.cmake b/deps/deps-unix-common.cmake index eae319efc..74582f601 100644 --- a/deps/deps-unix-common.cmake +++ b/deps/deps-unix-common.cmake @@ -62,7 +62,7 @@ ExternalProject_Add(dep_qhull -DCMAKE_INSTALL_PREFIX=${DESTDIR}/usr/local ${DEP_CMAKE_OPTS} UPDATE_COMMAND "" - PATCH_COMMAND ${GIT_EXECUTABLE} apply --whitespace=fix ${CMAKE_CURRENT_SOURCE_DIR}/qhull-mods.patch + PATCH_COMMAND patch -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/qhull-mods.patch ) ExternalProject_Add(dep_blosc diff --git a/deps/deps-windows.cmake b/deps/deps-windows.cmake index 514a90a9e..4aae07d4a 100644 --- a/deps/deps-windows.cmake +++ b/deps/deps-windows.cmake @@ -227,7 +227,6 @@ ExternalProject_Add(dep_qhull -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_DEBUG_POSTFIX=d UPDATE_COMMAND "" - PATCH_COMMAND ${GIT_EXECUTABLE} apply --whitespace=fix ${CMAKE_CURRENT_SOURCE_DIR}/qhull-mods.patch BUILD_COMMAND msbuild /m /P:Configuration=Release INSTALL.vcxproj INSTALL_COMMAND "" ) From e12512dec0c4ab141e41d0d62da7a2834fb578b6 Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Mon, 11 Nov 2019 17:10:29 +0100 Subject: [PATCH 06/14] Fix: Rename DPI changed event to not clash with impl in wxwidgets --- src/slic3r/GUI/GUI_App.cpp | 2 +- src/slic3r/GUI/GUI_Utils.cpp | 2 +- src/slic3r/GUI/GUI_Utils.hpp | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index bcfb9ad39..7d37baa66 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -105,7 +105,7 @@ static void register_dpi_event() const auto rect = reinterpret_cast(lParam); const wxRect wxrect(wxPoint(rect->top, rect->left), wxPoint(rect->bottom, rect->right)); - DpiChangedEvent evt(EVT_DPI_CHANGED, dpi, wxrect); + DpiChangedEvent evt(EVT_DPI_CHANGED_SLICER, dpi, wxrect); win->GetEventHandler()->AddPendingEvent(evt); return true; diff --git a/src/slic3r/GUI/GUI_Utils.cpp b/src/slic3r/GUI/GUI_Utils.cpp index d5753f2cc..5090382ce 100644 --- a/src/slic3r/GUI/GUI_Utils.cpp +++ b/src/slic3r/GUI/GUI_Utils.cpp @@ -55,7 +55,7 @@ void on_window_geometry(wxTopLevelWindow *tlw, std::function callback) #endif } -wxDEFINE_EVENT(EVT_DPI_CHANGED, DpiChangedEvent); +wxDEFINE_EVENT(EVT_DPI_CHANGED_SLICER, DpiChangedEvent); #ifdef _WIN32 template typename F::FN winapi_get_function(const wchar_t *dll, const char *fn_name) { diff --git a/src/slic3r/GUI/GUI_Utils.hpp b/src/slic3r/GUI/GUI_Utils.hpp index c47714e46..f7bebd577 100644 --- a/src/slic3r/GUI/GUI_Utils.hpp +++ b/src/slic3r/GUI/GUI_Utils.hpp @@ -50,7 +50,7 @@ struct DpiChangedEvent : public wxEvent { } }; -wxDECLARE_EVENT(EVT_DPI_CHANGED, DpiChangedEvent); +wxDECLARE_EVENT(EVT_DPI_CHANGED_SLICER, DpiChangedEvent); template class DPIAware : public P { @@ -75,7 +75,7 @@ public: // recalc_font(); - this->Bind(EVT_DPI_CHANGED, [this](const DpiChangedEvent &evt) { + this->Bind(EVT_DPI_CHANGED_SLICER, [this](const DpiChangedEvent &evt) { m_scale_factor = (float)evt.dpi / (float)DPI_DEFAULT; m_new_font_point_size = get_default_font_for_dpi(evt.dpi).GetPointSize(); From 316832b23d6ac8347613896d7be73c77ebd35910 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Tue, 12 Nov 2019 09:14:42 +0100 Subject: [PATCH 07/14] Fixed out of printbed detection for non-printable objects leading to inconsistent volumes' color --- src/slic3r/GUI/3DScene.cpp | 12 ++++++------ src/slic3r/GUI/GLCanvas3D.cpp | 15 +-------------- 2 files changed, 7 insertions(+), 20 deletions(-) diff --git a/src/slic3r/GUI/3DScene.cpp b/src/slic3r/GUI/3DScene.cpp index 086ba7a74..bbfcabd36 100644 --- a/src/slic3r/GUI/3DScene.cpp +++ b/src/slic3r/GUI/3DScene.cpp @@ -707,24 +707,24 @@ bool GLVolumeCollection::check_outside_state(const DynamicPrintConfig* config, M print_volume.min(2) = -1e10; ModelInstance::EPrintVolumeState state = ModelInstance::PVS_Inside; - bool all_contained = true; bool contained_min_one = false; for (GLVolume* volume : this->volumes) { - if ((volume == nullptr) || !volume->printable || volume->is_modifier || (volume->is_wipe_tower && !volume->shader_outside_printer_detection_enabled) || ((volume->composite_id.volume_id < 0) && !volume->shader_outside_printer_detection_enabled)) + if ((volume == nullptr) || volume->is_modifier || (volume->is_wipe_tower && !volume->shader_outside_printer_detection_enabled) || ((volume->composite_id.volume_id < 0) && !volume->shader_outside_printer_detection_enabled)) continue; const BoundingBoxf3& bb = volume->transformed_convex_hull_bounding_box(); bool contained = print_volume.contains(bb); - all_contained &= contained; + + volume->is_outside = !contained; + if (!volume->printable) + continue; if (contained) contained_min_one = true; - volume->is_outside = !contained; - if ((state == ModelInstance::PVS_Inside) && volume->is_outside) state = ModelInstance::PVS_Fully_Outside; @@ -735,7 +735,7 @@ bool GLVolumeCollection::check_outside_state(const DynamicPrintConfig* config, M if (out_state != nullptr) *out_state = state; - return /*all_contained*/ contained_min_one; // #ys_FIXME_delete_after_testing + return contained_min_one; } void GLVolumeCollection::reset_outside_state() diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 99f61e51e..e4a5f590d 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -2090,20 +2090,6 @@ void GLCanvas3D::reload_scene(bool refresh_immediately, bool force_full_scene_re post_event(Event(EVT_GLCANVAS_ENABLE_ACTION_BUTTONS, contained_min_one && !m_model->objects.empty() && state != ModelInstance::PVS_Partly_Outside)); - -// #ys_FIXME_delete_after_testing -// bool contained = m_volumes.check_outside_state(m_config, &state); -// if (!contained) -// { -// _set_warning_texture(WarningTexture::ObjectOutside, true); -// post_event(Event(EVT_GLCANVAS_ENABLE_ACTION_BUTTONS, state == ModelInstance::PVS_Fully_Outside)); -// } -// else -// { -// m_volumes.reset_outside_state(); -// _set_warning_texture(WarningTexture::ObjectOutside, false); -// post_event(Event(EVT_GLCANVAS_ENABLE_ACTION_BUTTONS, !m_model->objects.empty())); -// } } else { @@ -2887,6 +2873,7 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) volume_bbox.offset(1.0); if (volume_bbox.contains(m_mouse.scene_position)) { + m_volumes.volumes[volume_idx]->hover = GLVolume::HS_None; // The dragging operation is initiated. m_mouse.drag.move_volume_idx = volume_idx; m_selection.start_dragging(); From cc919c68b849a0b474f8b609ffe19f15dfbfbd88 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Tue, 12 Nov 2019 11:59:33 +0100 Subject: [PATCH 08/14] Use Linux-style paths when saving custom bed texture and model files into config --- src/slic3r/GUI/3DBed.cpp | 2 ++ src/slic3r/GUI/BedShapeDialog.cpp | 32 +++++++++++++++++++++++++++++-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/3DBed.cpp b/src/slic3r/GUI/3DBed.cpp index 4185b6664..82b512270 100644 --- a/src/slic3r/GUI/3DBed.cpp +++ b/src/slic3r/GUI/3DBed.cpp @@ -204,6 +204,7 @@ bool Bed3D::set_shape(const Pointfs& shape, const std::string& custom_texture, c std::string cst_texture(custom_texture); if (!cst_texture.empty()) { + std::replace(cst_texture.begin(), cst_texture.end(), '\\', '/'); if ((!boost::algorithm::iends_with(custom_texture, ".png") && !boost::algorithm::iends_with(custom_texture, ".svg")) || !boost::filesystem::exists(custom_texture)) cst_texture = ""; } @@ -212,6 +213,7 @@ bool Bed3D::set_shape(const Pointfs& shape, const std::string& custom_texture, c std::string cst_model(custom_model); if (!cst_model.empty()) { + std::replace(cst_model.begin(), cst_model.end(), '\\', '/'); if (!boost::algorithm::iends_with(custom_model, ".stl") || !boost::filesystem::exists(custom_model)) cst_model = ""; } diff --git a/src/slic3r/GUI/BedShapeDialog.cpp b/src/slic3r/GUI/BedShapeDialog.cpp index 5624ada9d..e83904a91 100644 --- a/src/slic3r/GUI/BedShapeDialog.cpp +++ b/src/slic3r/GUI/BedShapeDialog.cpp @@ -60,7 +60,9 @@ void BedShapePanel::build_panel(const ConfigOptionPoints& default_pt, const Conf { m_shape = default_pt.values; m_custom_texture = custom_texture.value.empty() ? NONE : custom_texture.value; + std::replace(m_custom_texture.begin(), m_custom_texture.end(), '\\', '/'); m_custom_model = custom_model.value.empty() ? NONE : custom_model.value; + std::replace(m_custom_model.begin(), m_custom_model.end(), '\\', '/'); auto sbsizer = new wxStaticBoxSizer(wxVERTICAL, this, _(L("Shape"))); sbsizer->GetStaticBox()->SetFont(wxGetApp().bold_font()); @@ -212,7 +214,18 @@ wxPanel* BedShapePanel::init_texture_panel() wxStaticText* lbl = dynamic_cast(e.GetEventObject()); if (lbl != nullptr) { - wxString tooltip_text = (m_custom_texture == NONE) ? "" : _(m_custom_texture); + bool exists = (m_custom_texture == NONE) || boost::filesystem::exists(m_custom_texture); + lbl->SetForegroundColour(exists ? wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT) : wxColor(*wxRED)); + + wxString tooltip_text = ""; + if (m_custom_texture != NONE) + { + if (!exists) + tooltip_text += _(L("Not found: ")); + + tooltip_text += _(m_custom_texture); + } + wxToolTip* tooltip = lbl->GetToolTip(); if ((tooltip == nullptr) || (tooltip->GetTip() != tooltip_text)) lbl->SetToolTip(tooltip_text); @@ -280,7 +293,18 @@ wxPanel* BedShapePanel::init_model_panel() wxStaticText* lbl = dynamic_cast(e.GetEventObject()); if (lbl != nullptr) { - wxString tooltip_text = (m_custom_model == NONE) ? "" : _(m_custom_model); + bool exists = (m_custom_model == NONE) || boost::filesystem::exists(m_custom_model); + lbl->SetForegroundColour(exists ? wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT) : wxColor(*wxRED)); + + wxString tooltip_text = ""; + if (m_custom_model != NONE) + { + if (!exists) + tooltip_text += _(L("Not found: ")); + + tooltip_text += _(m_custom_model); + } + wxToolTip* tooltip = lbl->GetToolTip(); if ((tooltip == nullptr) || (tooltip->GetTip() != tooltip_text)) lbl->SetToolTip(tooltip_text); @@ -521,6 +545,8 @@ void BedShapePanel::load_texture() return; } + std::replace(file_name.begin(), file_name.end(), '\\', '/'); + wxBusyCursor wait; m_custom_texture = file_name; @@ -544,6 +570,8 @@ void BedShapePanel::load_model() return; } + std::replace(file_name.begin(), file_name.end(), '\\', '/'); + wxBusyCursor wait; m_custom_model = file_name; From 46601f7e1e45262cb967df0ecc73f6c54eeeaff3 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Tue, 12 Nov 2019 12:05:13 +0100 Subject: [PATCH 09/14] Added missing boost libraries into CMakeLists.txt --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b6d40a034..633ab3f19 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -256,7 +256,7 @@ if(NOT WIN32) # boost::process was introduced first in version 1.64.0 set(MINIMUM_BOOST_VERSION "1.64.0") endif() -set(_boost_components "system;filesystem;thread;log;locale;regex") +set(_boost_components "system;filesystem;thread;log;locale;regex;chrono;atomic;date_time") find_package(Boost ${MINIMUM_BOOST_VERSION} REQUIRED COMPONENTS ${_boost_components}) add_library(boost_libs INTERFACE) From 01d2728060a9c3be76c3eed0fd414ea21c49c821 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Tue, 12 Nov 2019 12:29:31 +0100 Subject: [PATCH 10/14] Added missing include --- src/slic3r/GUI/BedShapeDialog.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/slic3r/GUI/BedShapeDialog.cpp b/src/slic3r/GUI/BedShapeDialog.cpp index e83904a91..96a0a59cd 100644 --- a/src/slic3r/GUI/BedShapeDialog.cpp +++ b/src/slic3r/GUI/BedShapeDialog.cpp @@ -12,6 +12,7 @@ #include "boost/nowide/iostream.hpp" #include +#include #include From 0c4507141a6b15968ec3a40af035d28eb0110db4 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Tue, 12 Nov 2019 13:19:17 +0100 Subject: [PATCH 11/14] Attempt to fix Mac build on buildserver --- src/libslic3r/Fill/FillGyroid.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libslic3r/Fill/FillGyroid.cpp b/src/libslic3r/Fill/FillGyroid.cpp index e7b4706ac..426734a67 100644 --- a/src/libslic3r/Fill/FillGyroid.cpp +++ b/src/libslic3r/Fill/FillGyroid.cpp @@ -145,6 +145,9 @@ static Polylines make_gyroid_waves(double gridZ, double density_adjusted, double return result; } +// FIXME: needed to fix build on Mac on buildserver +constexpr double FillGyroid::PatternTolerance; + void FillGyroid::_fill_surface_single( const FillParams ¶ms, unsigned int thickness_layers, From 050a9adf36bb85220f3e3bdee59c399bf495c85a Mon Sep 17 00:00:00 2001 From: YuSanka Date: Tue, 12 Nov 2019 13:54:36 +0100 Subject: [PATCH 12/14] OSX issue: Fix Background drawing for some of controls in Dark mode --- src/slic3r/GUI/Field.cpp | 16 +++++++++++----- src/slic3r/GUI/GUI_ObjectManipulation.cpp | 2 +- src/slic3r/GUI/OptionsGroup.hpp | 2 +- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/slic3r/GUI/Field.cpp b/src/slic3r/GUI/Field.cpp index 42e3448fc..a8953f166 100644 --- a/src/slic3r/GUI/Field.cpp +++ b/src/slic3r/GUI/Field.cpp @@ -11,6 +11,12 @@ #include #include +#ifdef __WXOSX__ +#define wxOSX true +#else +#define wxOSX false +#endif + namespace Slic3r { namespace GUI { wxString double_to_string(double const value, const int max_precision /*= 4*/) @@ -304,7 +310,7 @@ void TextCtrl::BUILD() { auto temp = new wxTextCtrl(m_parent, wxID_ANY, text_value, wxDefaultPosition, size, style); temp->SetFont(Slic3r::GUI::wxGetApp().normal_font()); - if (! m_opt.multiline) + if (! m_opt.multiline && !wxOSX) // Only disable background refresh for single line input fields, as they are completely painted over by the edit control. // This does not apply to the multi-line edit field, where the last line and a narrow frame around the text is not cleared. temp->SetBackgroundStyle(wxBG_STYLE_PAINT); @@ -491,7 +497,7 @@ void CheckBox::BUILD() { // Set Label as a string of at least one space simbol to correct system scaling of a CheckBox auto temp = new wxCheckBox(m_parent, wxID_ANY, wxString(" "), wxDefaultPosition, size); temp->SetFont(Slic3r::GUI::wxGetApp().normal_font()); - temp->SetBackgroundStyle(wxBG_STYLE_PAINT); + if (!wxOSX) temp->SetBackgroundStyle(wxBG_STYLE_PAINT); temp->SetValue(check_value); if (m_opt.readonly) temp->Disable(); @@ -601,7 +607,7 @@ void SpinCtrl::BUILD() { auto temp = new wxSpinCtrl(m_parent, wxID_ANY, text_value, wxDefaultPosition, size, 0|wxTE_PROCESS_ENTER, min_val, max_val, default_value); temp->SetFont(Slic3r::GUI::wxGetApp().normal_font()); - temp->SetBackgroundStyle(wxBG_STYLE_PAINT); + if (!wxOSX) temp->SetBackgroundStyle(wxBG_STYLE_PAINT); // XXX: On OS X the wxSpinCtrl widget is made up of two subwidgets, unfortunatelly // the kill focus event is not propagated to the encompassing widget, @@ -717,7 +723,7 @@ void Choice::BUILD() { } temp->SetFont(Slic3r::GUI::wxGetApp().normal_font()); - temp->SetBackgroundStyle(wxBG_STYLE_PAINT); + if (!wxOSX) temp->SetBackgroundStyle(wxBG_STYLE_PAINT); // recast as a wxWindow to fit the calling convention window = dynamic_cast(temp); @@ -1072,7 +1078,7 @@ void ColourPicker::BUILD() auto temp = new wxColourPickerCtrl(m_parent, wxID_ANY, clr, wxDefaultPosition, size); temp->SetFont(Slic3r::GUI::wxGetApp().normal_font()); - temp->SetBackgroundStyle(wxBG_STYLE_PAINT); + if (!wxOSX) temp->SetBackgroundStyle(wxBG_STYLE_PAINT); // // recast as a wxWindow to fit the calling convention window = dynamic_cast(temp); diff --git a/src/slic3r/GUI/GUI_ObjectManipulation.cpp b/src/slic3r/GUI/GUI_ObjectManipulation.cpp index 4ecab8a0f..937e3dbdc 100644 --- a/src/slic3r/GUI/GUI_ObjectManipulation.cpp +++ b/src/slic3r/GUI/GUI_ObjectManipulation.cpp @@ -57,7 +57,7 @@ static wxBitmapComboBox* create_word_local_combo(wxWindow *parent) #endif //__WXOSX__ temp->SetFont(Slic3r::GUI::wxGetApp().normal_font()); - temp->SetBackgroundStyle(wxBG_STYLE_PAINT); + if (!wxOSX) temp->SetBackgroundStyle(wxBG_STYLE_PAINT); temp->Append(_(L("World coordinates"))); temp->Append(_(L("Local coordinates"))); diff --git a/src/slic3r/GUI/OptionsGroup.hpp b/src/slic3r/GUI/OptionsGroup.hpp index cc3d89b1f..6089e18f5 100644 --- a/src/slic3r/GUI/OptionsGroup.hpp +++ b/src/slic3r/GUI/OptionsGroup.hpp @@ -175,7 +175,7 @@ public: staticbox(title!=""), extra_column(extra_clmn) { if (staticbox) { stb = new wxStaticBox(_parent, wxID_ANY, title); - stb->SetBackgroundStyle(wxBG_STYLE_PAINT); + if (!wxOSX) stb->SetBackgroundStyle(wxBG_STYLE_PAINT); stb->SetFont(wxGetApp().bold_font()); } else stb = nullptr; From 53cdb8ef539bedef38367c5f0136c38ce93a3458 Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Thu, 14 Nov 2019 10:05:02 +0100 Subject: [PATCH 13/14] No sparse layers option marked as EXPERIMENTAL --- src/libslic3r/PrintConfig.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index f082e13b3..6fa6ae3a2 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -1826,7 +1826,7 @@ void PrintConfigDef::init_fff_params() def->set_default_value(new ConfigOptionBool(true)); def = this->add("wipe_tower_no_sparse_layers", coBool); - def->label = L("No sparse layers"); + def->label = L("No sparse layers (EXPERIMENTAL)"); def->tooltip = L("If enabled, the wipe tower will not be printed on layers with no toolchanges. " "On layers with a toolchange, extruder will travel downward to print the wipe tower. " "User is responsible for ensuring there is no collision with the print."); From 8c22b0cd4f85bf75150d30841473b69fd2c17525 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Thu, 14 Nov 2019 14:02:20 +0100 Subject: [PATCH 14/14] Added MINI and Creality Ender to ConfigWizard --- resources/icons/printers/Creality_Ender3.png | Bin 0 -> 62795 bytes .../icons/printers/PrusaResearch_MINI.png | Bin 0 -> 59414 bytes resources/profiles/Creality.ini | 415 ++++++++++++++++++ src/slic3r/GUI/ConfigWizard.cpp | 7 +- 4 files changed, 420 insertions(+), 2 deletions(-) create mode 100644 resources/icons/printers/Creality_Ender3.png create mode 100644 resources/icons/printers/PrusaResearch_MINI.png create mode 100644 resources/profiles/Creality.ini diff --git a/resources/icons/printers/Creality_Ender3.png b/resources/icons/printers/Creality_Ender3.png new file mode 100644 index 0000000000000000000000000000000000000000..52861197c7f17d27df53b6872e1e0e2a82aac410 GIT binary patch literal 62795 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 z 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 variants_sizer->Add(alt_label, 0, wxBOTTOM, 3); + is_variants = true; } auto *cbox = new Checkbox(variants_panel, label, model_id, variant.name); @@ -280,10 +283,10 @@ PrinterPicker::PrinterPicker(wxWindow *parent, const VendorProfile &vendor, wxSt } title_sizer->AddStretchSpacer(); - if (titles.size() > 1) { + if (/*titles.size() > 1*/is_variants) { // It only makes sense to add the All / None buttons if there's multiple printers - auto *sel_all_std = new wxButton(this, wxID_ANY, _(L("All standard"))); + auto *sel_all_std = new wxButton(this, wxID_ANY, titles.size() > 1 ? _(L("All standard")) : _(L("Standard"))); auto *sel_all = new wxButton(this, wxID_ANY, _(L("All"))); auto *sel_none = new wxButton(this, wxID_ANY, _(L("None"))); sel_all_std->Bind(wxEVT_BUTTON, [this](const wxCommandEvent &event) { this->select_all(true, false); });