From d672a69554097aa445c710e5bfe84f4dbfa4a246 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Wed, 18 Jul 2018 09:37:25 +0200 Subject: [PATCH 01/47] Slice only objects contained into the print volume --- xs/src/libslic3r/GCode.cpp | 7 ++-- xs/src/libslic3r/GCode/ToolOrdering.cpp | 6 ++-- xs/src/libslic3r/Model.cpp | 48 +++++++++++++++++++++++++ xs/src/libslic3r/Model.hpp | 8 +++-- xs/src/libslic3r/Print.cpp | 27 ++++++++++---- xs/src/libslic3r/Print.hpp | 4 +++ xs/src/libslic3r/PrintObject.cpp | 17 ++++++++- xs/src/slic3r/GUI/GLCanvas3D.cpp | 4 +-- 8 files changed, 105 insertions(+), 16 deletions(-) diff --git a/xs/src/libslic3r/GCode.cpp b/xs/src/libslic3r/GCode.cpp index 98b3b4061..4345f2d07 100644 --- a/xs/src/libslic3r/GCode.cpp +++ b/xs/src/libslic3r/GCode.cpp @@ -776,9 +776,10 @@ void GCode::_do_export(Print &print, FILE *file, GCodePreviewData *preview_data) // Order objects using a nearest neighbor search. std::vector object_indices; Points object_reference_points; - for (PrintObject *object : print.objects) + PrintObjectPtrs printable_objects = print.get_printable_objects(); + for (PrintObject *object : printable_objects) object_reference_points.push_back(object->_shifted_copies.front()); - Slic3r::Geometry::chained_path(object_reference_points, object_indices); + Slic3r::Geometry::chained_path(object_reference_points, object_indices); // Sort layers by Z. // All extrusion moves with the same top layer height are extruded uninterrupted. std::vector>> layers_to_print = collect_layers_to_print(print); @@ -790,7 +791,7 @@ void GCode::_do_export(Print &print, FILE *file, GCodePreviewData *preview_data) // Verify, whether the print overaps the priming extrusions. BoundingBoxf bbox_print(get_print_extrusions_extents(print)); coordf_t twolayers_printz = ((layers_to_print.size() == 1) ? layers_to_print.front() : layers_to_print[1]).first + EPSILON; - for (const PrintObject *print_object : print.objects) + for (const PrintObject *print_object : printable_objects) bbox_print.merge(get_print_object_extrusions_extents(*print_object, twolayers_printz)); bbox_print.merge(get_wipe_tower_extrusions_extents(print, twolayers_printz)); BoundingBoxf bbox_prime(get_wipe_tower_priming_extrusions_extents(print)); diff --git a/xs/src/libslic3r/GCode/ToolOrdering.cpp b/xs/src/libslic3r/GCode/ToolOrdering.cpp index f1dbbfc1e..2a85319aa 100644 --- a/xs/src/libslic3r/GCode/ToolOrdering.cpp +++ b/xs/src/libslic3r/GCode/ToolOrdering.cpp @@ -67,11 +67,13 @@ ToolOrdering::ToolOrdering(const PrintObject &object, unsigned int first_extrude ToolOrdering::ToolOrdering(const Print &print, unsigned int first_extruder, bool prime_multi_material) { m_print_config_ptr = &print.config; + + PrintObjectPtrs objects = print.get_printable_objects(); // Initialize the print layers for all objects and all layers. coordf_t object_bottom_z = 0.; { std::vector zs; - for (auto object : print.objects) { + for (auto object : objects) { zs.reserve(zs.size() + object->layers.size() + object->support_layers.size()); for (auto layer : object->layers) zs.emplace_back(layer->print_z); @@ -84,7 +86,7 @@ ToolOrdering::ToolOrdering(const Print &print, unsigned int first_extruder, bool } // Collect extruders reuqired to print the layers. - for (auto object : print.objects) + for (auto object : objects) this->collect_extruders(*object); // Reorder the extruders to minimize tool switches. diff --git a/xs/src/libslic3r/Model.cpp b/xs/src/libslic3r/Model.cpp index 2925251eb..bd95d9959 100644 --- a/xs/src/libslic3r/Model.cpp +++ b/xs/src/libslic3r/Model.cpp @@ -1235,6 +1235,54 @@ void ModelObject::split(ModelObjectPtrs* new_objects) return; } +void ModelObject::check_instances_printability(const BoundingBoxf3& print_volume) +{ + for (ModelVolume* vol : this->volumes) + { + if (!vol->modifier) + { + for (ModelInstance* inst : this->instances) + { + BoundingBoxf3 bb; + + double c = cos(inst->rotation); + double s = sin(inst->rotation); + + for (int f = 0; f < vol->mesh.stl.stats.number_of_facets; ++f) + { + const stl_facet& facet = vol->mesh.stl.facet_start[f]; + + for (int i = 0; i < 3; ++i) + { + // original point + const stl_vertex& v = facet.vertex[i]; + Pointf3 p((double)v.x, (double)v.y, (double)v.z); + + // scale + p.x *= inst->scaling_factor; + p.y *= inst->scaling_factor; + p.z *= inst->scaling_factor; + + // rotate Z + double x = p.x; + double y = p.y; + p.x = c * x - s * y; + p.y = s * x + c * y; + + // translate + p.x += inst->offset.x; + p.y += inst->offset.y; + + bb.merge(p); + + inst->is_printable = print_volume.contains(bb); + } + } + } + } + } +} + void ModelObject::print_info() const { using namespace std; diff --git a/xs/src/libslic3r/Model.hpp b/xs/src/libslic3r/Model.hpp index 5003f8330..08ba8487d 100644 --- a/xs/src/libslic3r/Model.hpp +++ b/xs/src/libslic3r/Model.hpp @@ -131,6 +131,7 @@ public: bool needed_repair() const; void cut(coordf_t z, Model* model) const; void split(ModelObjectPtrs* new_objects); + void check_instances_printability(const BoundingBoxf3& print_volume); // Print object statistics to console. void print_info() const; @@ -203,6 +204,9 @@ public: double scaling_factor; Pointf offset; // in unscaled coordinates + // whether or not this instance is contained in the print volume (set by Print::validate() using ModelObject::check_instances_printability()) + bool is_printable; + ModelObject* get_object() const { return this->object; } // To be called on an external mesh @@ -218,9 +222,9 @@ private: // Parent object, owning this instance. ModelObject* object; - ModelInstance(ModelObject *object) : rotation(0), scaling_factor(1), object(object) {} + ModelInstance(ModelObject *object) : rotation(0), scaling_factor(1), object(object), is_printable(false) {} ModelInstance(ModelObject *object, const ModelInstance &other) : - rotation(other.rotation), scaling_factor(other.scaling_factor), offset(other.offset), object(object) {} + rotation(other.rotation), scaling_factor(other.scaling_factor), offset(other.offset), object(object), is_printable(false) {} }; diff --git a/xs/src/libslic3r/Print.cpp b/xs/src/libslic3r/Print.cpp index d10d1a9dc..9c9f7f5bb 100644 --- a/xs/src/libslic3r/Print.cpp +++ b/xs/src/libslic3r/Print.cpp @@ -71,6 +71,13 @@ bool Print::reload_model_instances() return invalidated; } +PrintObjectPtrs Print::get_printable_objects() const +{ + PrintObjectPtrs printable_objects(this->objects); + printable_objects.erase(std::remove_if(printable_objects.begin(), printable_objects.end(), [](PrintObject* o) { return !o->is_printable(); }), printable_objects.end()); + return printable_objects; +} + PrintRegion* Print::add_region() { regions.push_back(new PrintRegion(this)); @@ -534,11 +541,17 @@ std::string Print::validate() const BoundingBoxf3 print_volume(Pointf3(unscale(bed_box_2D.min.x), unscale(bed_box_2D.min.y), 0.0), Pointf3(unscale(bed_box_2D.max.x), unscale(bed_box_2D.max.y), config.max_print_height)); // Allow the objects to protrude below the print bed, only the part of the object above the print bed will be sliced. print_volume.min.z = -1e10; + unsigned int printable_count = 0; for (PrintObject *po : this->objects) { - if (!print_volume.contains(po->model_object()->tight_bounding_box(false))) - return L("Some objects are outside of the print volume."); + po->model_object()->check_instances_printability(print_volume); + po->reload_model_instances(); + if (po->is_printable()) + ++printable_count; } + if (printable_count == 0) + return L("All objects are outside of the print volume."); + if (this->config.complete_objects) { // Check horizontal clearance. { @@ -858,8 +871,9 @@ void Print::_make_skirt() // prepended to the first 'n' layers (with 'n' = skirt_height). // $skirt_height_z in this case is the highest possible skirt height for safety. coordf_t skirt_height_z = 0.; - for (const PrintObject *object : this->objects) { - size_t skirt_layers = this->has_infinite_skirt() ? + PrintObjectPtrs printable_objects = get_printable_objects(); + for (const PrintObject *object : printable_objects) { + size_t skirt_layers = this->has_infinite_skirt() ? object->layer_count() : std::min(size_t(this->config.skirt_height.value), object->layer_count()); skirt_height_z = std::max(skirt_height_z, object->layers[skirt_layers-1]->print_z); @@ -867,7 +881,7 @@ void Print::_make_skirt() // Collect points from all layers contained in skirt height. Points points; - for (const PrintObject *object : this->objects) { + for (const PrintObject *object : printable_objects) { Points object_points; // Get object layers up to skirt_height_z. for (const Layer *layer : object->layers) { @@ -980,7 +994,8 @@ void Print::_make_brim() // Brim is only printed on first layer and uses perimeter extruder. Flow flow = this->brim_flow(); Polygons islands; - for (PrintObject *object : this->objects) { + PrintObjectPtrs printable_objects = get_printable_objects(); + for (PrintObject *object : printable_objects) { Polygons object_islands; for (ExPolygon &expoly : object->layers.front()->slices.expolygons) object_islands.push_back(expoly.contour); diff --git a/xs/src/libslic3r/Print.hpp b/xs/src/libslic3r/Print.hpp index 2217547ea..bcd61ea02 100644 --- a/xs/src/libslic3r/Print.hpp +++ b/xs/src/libslic3r/Print.hpp @@ -209,6 +209,8 @@ public: void combine_infill(); void _generate_support_material(); + bool is_printable() const { return !this->_shifted_copies.empty(); } + private: Print* _print; ModelObject* _model_object; @@ -257,6 +259,8 @@ public: void reload_object(size_t idx); bool reload_model_instances(); + PrintObjectPtrs get_printable_objects() const; + // methods for handling regions PrintRegion* get_region(size_t idx) { return regions.at(idx); } const PrintRegion* get_region(size_t idx) const { return regions.at(idx); } diff --git a/xs/src/libslic3r/PrintObject.cpp b/xs/src/libslic3r/PrintObject.cpp index 7ac165864..1d0a81cd2 100644 --- a/xs/src/libslic3r/PrintObject.cpp +++ b/xs/src/libslic3r/PrintObject.cpp @@ -102,7 +102,10 @@ bool PrintObject::reload_model_instances() Points copies; copies.reserve(this->_model_object->instances.size()); for (const ModelInstance *mi : this->_model_object->instances) - copies.emplace_back(Point::new_scale(mi->offset.x, mi->offset.y)); + { + if (mi->is_printable) + copies.emplace_back(Point::new_scale(mi->offset.x, mi->offset.y)); + } return this->set_copies(copies); } @@ -291,6 +294,9 @@ bool PrintObject::has_support_material() const void PrintObject::_prepare_infill() { + if (!this->is_printable()) + return; + // This will assign a type (top/bottom/internal) to $layerm->slices. // Then the classifcation of $layerm->slices is transfered onto // the $layerm->fill_surfaces by clipping $layerm->fill_surfaces @@ -1442,6 +1448,9 @@ void PrintObject::_simplify_slices(double distance) void PrintObject::_make_perimeters() { + if (!this->is_printable()) + return; + if (this->state.is_done(posPerimeters)) return; this->state.set_started(posPerimeters); @@ -1550,6 +1559,9 @@ void PrintObject::_make_perimeters() void PrintObject::_infill() { + if (!this->is_printable()) + return; + if (this->state.is_done(posInfill)) return; this->state.set_started(posInfill); @@ -1954,6 +1966,9 @@ void PrintObject::combine_infill() void PrintObject::_generate_support_material() { + if (!this->is_printable()) + return; + PrintObjectSupportMaterial support_material(this, PrintObject::slicing_parameters()); support_material.generate(*this); } diff --git a/xs/src/slic3r/GUI/GLCanvas3D.cpp b/xs/src/slic3r/GUI/GLCanvas3D.cpp index 208125a15..729c91cf3 100644 --- a/xs/src/slic3r/GUI/GLCanvas3D.cpp +++ b/xs/src/slic3r/GUI/GLCanvas3D.cpp @@ -2087,20 +2087,20 @@ void GLCanvas3D::reload_scene(bool force) { enable_warning_texture(true); _3DScene::generate_warning_texture(L("Detected object outside print volume")); - m_on_enable_action_buttons_callback.call(false); } else { enable_warning_texture(false); m_volumes.reset_outside_state(); _3DScene::reset_warning_texture(); - m_on_enable_action_buttons_callback.call(!m_model->objects.empty()); } + m_on_enable_action_buttons_callback.call(!m_model->objects.empty()); } else { enable_warning_texture(false); _3DScene::reset_warning_texture(); + m_on_enable_action_buttons_callback.call(false); } } From eb6936888ed50f1dfe0679cb59b64b48d8a40d16 Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Wed, 18 Jul 2018 11:05:39 +0200 Subject: [PATCH 02/47] Filament following a soluble one must be wiped on the wipe tower --- xs/src/libslic3r/GCode/ToolOrdering.cpp | 6 +++--- xs/src/libslic3r/GCode/ToolOrdering.hpp | 2 +- xs/src/libslic3r/Print.cpp | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/xs/src/libslic3r/GCode/ToolOrdering.cpp b/xs/src/libslic3r/GCode/ToolOrdering.cpp index f1dbbfc1e..3a28ec129 100644 --- a/xs/src/libslic3r/GCode/ToolOrdering.cpp +++ b/xs/src/libslic3r/GCode/ToolOrdering.cpp @@ -440,13 +440,13 @@ bool WipingExtrusions::is_overriddable(const ExtrusionEntityCollection& eec, con // Following function iterates through all extrusions on the layer, remembers those that could be used for wiping after toolchange // and returns volume that is left to be wiped on the wipe tower. -float WipingExtrusions::mark_wiping_extrusions(const Print& print, unsigned int new_extruder, float volume_to_wipe) +float WipingExtrusions::mark_wiping_extrusions(const Print& print, unsigned int old_extruder, unsigned int new_extruder, float volume_to_wipe) { const LayerTools& lt = *m_layer_tools; const float min_infill_volume = 0.f; // ignore infill with smaller volume than this - if (print.config.filament_soluble.get_at(new_extruder)) - return volume_to_wipe; // Soluble filament cannot be wiped in a random infill + if (print.config.filament_soluble.get_at(old_extruder) || print.config.filament_soluble.get_at(new_extruder)) + return volume_to_wipe; // Soluble filament cannot be wiped in a random infill, neither the filament after it // we will sort objects so that dedicated for wiping are at the beginning: PrintObjectPtrs object_list = print.objects; diff --git a/xs/src/libslic3r/GCode/ToolOrdering.hpp b/xs/src/libslic3r/GCode/ToolOrdering.hpp index 13e0212f1..a7263abda 100644 --- a/xs/src/libslic3r/GCode/ToolOrdering.hpp +++ b/xs/src/libslic3r/GCode/ToolOrdering.hpp @@ -28,7 +28,7 @@ public: // This function goes through all infill entities, decides which ones will be used for wiping and // marks them by the extruder id. Returns volume that remains to be wiped on the wipe tower: - float mark_wiping_extrusions(const Print& print, unsigned int new_extruder, float volume_to_wipe); + float mark_wiping_extrusions(const Print& print, unsigned int old_extruder, unsigned int new_extruder, float volume_to_wipe); void ensure_perimeters_infills_order(const Print& print); diff --git a/xs/src/libslic3r/Print.cpp b/xs/src/libslic3r/Print.cpp index 79bca7e89..25ee69cfe 100644 --- a/xs/src/libslic3r/Print.cpp +++ b/xs/src/libslic3r/Print.cpp @@ -1137,7 +1137,7 @@ void Print::_make_wipe_tower() float volume_to_wipe = wipe_volumes[current_extruder_id][extruder_id]; // total volume to wipe after this toolchange // try to assign some infills/objects for the wiping: - volume_to_wipe = layer_tools.wiping_extrusions().mark_wiping_extrusions(*this, extruder_id, wipe_volumes[current_extruder_id][extruder_id]); + volume_to_wipe = layer_tools.wiping_extrusions().mark_wiping_extrusions(*this, current_extruder_id, extruder_id, wipe_volumes[current_extruder_id][extruder_id]); wipe_tower.plan_toolchange(layer_tools.print_z, layer_tools.wipe_tower_layer_height, current_extruder_id, extruder_id, first_layer && extruder_id == m_tool_ordering.all_extruders().back(), volume_to_wipe); current_extruder_id = extruder_id; From 9d027a558e105aca8e664c3d0f1811197b833406 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 18 Jul 2018 11:58:02 +0200 Subject: [PATCH 03/47] Implemented clamping of the acceleration when extruding for the Marlin firmware, both for the G-code export and the time estimator. --- xs/src/libslic3r/GCode.cpp | 4 ++-- xs/src/libslic3r/GCodeTimeEstimator.cpp | 15 +++++++++++++-- xs/src/libslic3r/GCodeTimeEstimator.hpp | 6 ++++++ xs/src/libslic3r/GCodeWriter.cpp | 10 ++++++++-- xs/src/libslic3r/GCodeWriter.hpp | 5 ++++- 5 files changed, 33 insertions(+), 7 deletions(-) diff --git a/xs/src/libslic3r/GCode.cpp b/xs/src/libslic3r/GCode.cpp index 98b3b4061..b4ebe8b23 100644 --- a/xs/src/libslic3r/GCode.cpp +++ b/xs/src/libslic3r/GCode.cpp @@ -412,7 +412,7 @@ void GCode::_do_export(Print &print, FILE *file, GCodePreviewData *preview_data) // resets time estimators m_normal_time_estimator.reset(); m_normal_time_estimator.set_dialect(print.config.gcode_flavor); - m_normal_time_estimator.set_acceleration(print.config.machine_max_acceleration_extruding.values[0]); + m_normal_time_estimator.set_max_acceleration(print.config.machine_max_acceleration_extruding.values[0]); m_normal_time_estimator.set_retract_acceleration(print.config.machine_max_acceleration_retracting.values[0]); m_normal_time_estimator.set_minimum_feedrate(print.config.machine_min_extruding_rate.values[0]); m_normal_time_estimator.set_minimum_travel_feedrate(print.config.machine_min_travel_rate.values[0]); @@ -434,7 +434,7 @@ void GCode::_do_export(Print &print, FILE *file, GCodePreviewData *preview_data) { m_silent_time_estimator.reset(); m_silent_time_estimator.set_dialect(print.config.gcode_flavor); - m_silent_time_estimator.set_acceleration(print.config.machine_max_acceleration_extruding.values[1]); + m_silent_time_estimator.set_max_acceleration(print.config.machine_max_acceleration_extruding.values[1]); m_silent_time_estimator.set_retract_acceleration(print.config.machine_max_acceleration_retracting.values[1]); m_silent_time_estimator.set_minimum_feedrate(print.config.machine_min_extruding_rate.values[1]); m_silent_time_estimator.set_minimum_travel_feedrate(print.config.machine_min_travel_rate.values[1]); diff --git a/xs/src/libslic3r/GCodeTimeEstimator.cpp b/xs/src/libslic3r/GCodeTimeEstimator.cpp index 285ed37bd..2a4fbf6dd 100644 --- a/xs/src/libslic3r/GCodeTimeEstimator.cpp +++ b/xs/src/libslic3r/GCodeTimeEstimator.cpp @@ -414,7 +414,7 @@ namespace Slic3r { void GCodeTimeEstimator::set_acceleration(float acceleration_mm_sec2) { - _state.acceleration = acceleration_mm_sec2; + _state.acceleration = std::min(_state.max_acceleration, acceleration_mm_sec2); } float GCodeTimeEstimator::get_acceleration() const @@ -422,6 +422,17 @@ namespace Slic3r { return _state.acceleration; } + void GCodeTimeEstimator::set_max_acceleration(float acceleration_mm_sec2) + { + _state.max_acceleration = acceleration_mm_sec2; + _state.acceleration = acceleration_mm_sec2; + } + + float GCodeTimeEstimator::get_max_acceleration() const + { + return _state.max_acceleration; + } + void GCodeTimeEstimator::set_retract_acceleration(float acceleration_mm_sec2) { _state.retract_acceleration = acceleration_mm_sec2; @@ -540,7 +551,7 @@ namespace Slic3r { set_e_local_positioning_type(Absolute); set_feedrate(DEFAULT_FEEDRATE); - set_acceleration(DEFAULT_ACCELERATION); + set_max_acceleration(DEFAULT_ACCELERATION); set_retract_acceleration(DEFAULT_RETRACT_ACCELERATION); set_minimum_feedrate(DEFAULT_MINIMUM_FEEDRATE); set_minimum_travel_feedrate(DEFAULT_MINIMUM_TRAVEL_FEEDRATE); diff --git a/xs/src/libslic3r/GCodeTimeEstimator.hpp b/xs/src/libslic3r/GCodeTimeEstimator.hpp index 9b1a38985..fe678884a 100644 --- a/xs/src/libslic3r/GCodeTimeEstimator.hpp +++ b/xs/src/libslic3r/GCodeTimeEstimator.hpp @@ -72,6 +72,8 @@ namespace Slic3r { Axis axis[Num_Axis]; float feedrate; // mm/s float acceleration; // mm/s^2 + // hard limit for the acceleration, to which the firmware will clamp. + float max_acceleration; // mm/s^2 float retract_acceleration; // mm/s^2 float additional_time; // s float minimum_feedrate; // mm/s @@ -263,6 +265,10 @@ namespace Slic3r { void set_acceleration(float acceleration_mm_sec2); float get_acceleration() const; + // Maximum acceleration for the machine. The firmware simulator will clamp the M204 Sxxx to this maximum. + void set_max_acceleration(float acceleration_mm_sec2); + float get_max_acceleration() const; + void set_retract_acceleration(float acceleration_mm_sec2); float get_retract_acceleration() const; diff --git a/xs/src/libslic3r/GCodeWriter.cpp b/xs/src/libslic3r/GCodeWriter.cpp index cbe94f317..1041f602c 100644 --- a/xs/src/libslic3r/GCodeWriter.cpp +++ b/xs/src/libslic3r/GCodeWriter.cpp @@ -18,7 +18,9 @@ void GCodeWriter::apply_print_config(const PrintConfig &print_config) { this->config.apply(print_config, true); m_extrusion_axis = this->config.get_extrusion_axis(); - this->m_single_extruder_multi_material = print_config.single_extruder_multi_material.value; + m_single_extruder_multi_material = print_config.single_extruder_multi_material.value; + m_max_acceleration = (print_config.gcode_flavor.value == gcfMarlin) ? + print_config.machine_max_acceleration_extruding.value : 0; } void GCodeWriter::set_extruders(const std::vector &extruder_ids) @@ -85,7 +87,7 @@ std::string GCodeWriter::set_temperature(unsigned int temperature, bool wait, in } gcode << temperature; if (tool != -1 && - ( (this->multiple_extruders && ! this->m_single_extruder_multi_material) || + ( (this->multiple_extruders && ! m_single_extruder_multi_material) || FLAVOR_IS(gcfMakerWare) || FLAVOR_IS(gcfSailfish)) ) { gcode << " T" << tool; } @@ -170,6 +172,10 @@ std::string GCodeWriter::set_fan(unsigned int speed, bool dont_save) std::string GCodeWriter::set_acceleration(unsigned int acceleration) { + // Clamp the acceleration to the allowed maximum. + if (m_max_acceleration > 0 && acceleration > m_max_acceleration) + acceleration = m_max_acceleration; + if (acceleration == 0 || acceleration == m_last_acceleration) return std::string(); diff --git a/xs/src/libslic3r/GCodeWriter.hpp b/xs/src/libslic3r/GCodeWriter.hpp index 78e9c9323..f706b8768 100644 --- a/xs/src/libslic3r/GCodeWriter.hpp +++ b/xs/src/libslic3r/GCodeWriter.hpp @@ -18,7 +18,7 @@ public: GCodeWriter() : multiple_extruders(false), m_extrusion_axis("E"), m_extruder(nullptr), m_single_extruder_multi_material(false), - m_last_acceleration(0), m_last_fan_speed(0), + m_last_acceleration(0), m_max_acceleration(0), m_last_fan_speed(0), m_last_bed_temperature(0), m_last_bed_temperature_reached(true), m_lifted(0) {} @@ -74,6 +74,9 @@ private: bool m_single_extruder_multi_material; Extruder* m_extruder; unsigned int m_last_acceleration; + // Limit for setting the acceleration, to respect the machine limits set for the Marlin firmware. + // If set to zero, the limit is not in action. + unsigned int m_max_acceleration; unsigned int m_last_fan_speed; unsigned int m_last_bed_temperature; bool m_last_bed_temperature_reached; From 17df029c9d2223dd715eaf50ee77ec2c501df7f1 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 18 Jul 2018 12:04:56 +0200 Subject: [PATCH 04/47] Fixed a previous commit. --- xs/src/libslic3r/GCodeWriter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xs/src/libslic3r/GCodeWriter.cpp b/xs/src/libslic3r/GCodeWriter.cpp index 1041f602c..34e6b7ec3 100644 --- a/xs/src/libslic3r/GCodeWriter.cpp +++ b/xs/src/libslic3r/GCodeWriter.cpp @@ -20,7 +20,7 @@ void GCodeWriter::apply_print_config(const PrintConfig &print_config) m_extrusion_axis = this->config.get_extrusion_axis(); m_single_extruder_multi_material = print_config.single_extruder_multi_material.value; m_max_acceleration = (print_config.gcode_flavor.value == gcfMarlin) ? - print_config.machine_max_acceleration_extruding.value : 0; + print_config.machine_max_acceleration_extruding.values.front() : 0; } void GCodeWriter::set_extruders(const std::vector &extruder_ids) From f7390c7ad6ae69cfd6f391e5a9431dcf76c78f49 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 18 Jul 2018 14:00:42 +0200 Subject: [PATCH 05/47] The acceleration G-codes (M204 Sxxx) emited for Marlin are now clamped by the maximum acceleration when extruding. The machine envelope values are only set at the time estimator from the Printer parameters for the Marlin firmware. --- xs/src/libslic3r/GCode.cpp | 83 ++++++++++++++----------- xs/src/libslic3r/GCodeTimeEstimator.cpp | 13 +++- 2 files changed, 56 insertions(+), 40 deletions(-) diff --git a/xs/src/libslic3r/GCode.cpp b/xs/src/libslic3r/GCode.cpp index b4ebe8b23..eb4146a67 100644 --- a/xs/src/libslic3r/GCode.cpp +++ b/xs/src/libslic3r/GCode.cpp @@ -412,45 +412,54 @@ void GCode::_do_export(Print &print, FILE *file, GCodePreviewData *preview_data) // resets time estimators m_normal_time_estimator.reset(); m_normal_time_estimator.set_dialect(print.config.gcode_flavor); - m_normal_time_estimator.set_max_acceleration(print.config.machine_max_acceleration_extruding.values[0]); - m_normal_time_estimator.set_retract_acceleration(print.config.machine_max_acceleration_retracting.values[0]); - m_normal_time_estimator.set_minimum_feedrate(print.config.machine_min_extruding_rate.values[0]); - m_normal_time_estimator.set_minimum_travel_feedrate(print.config.machine_min_travel_rate.values[0]); - m_normal_time_estimator.set_axis_max_acceleration(GCodeTimeEstimator::X, print.config.machine_max_acceleration_x.values[0]); - m_normal_time_estimator.set_axis_max_acceleration(GCodeTimeEstimator::Y, print.config.machine_max_acceleration_y.values[0]); - m_normal_time_estimator.set_axis_max_acceleration(GCodeTimeEstimator::Z, print.config.machine_max_acceleration_z.values[0]); - m_normal_time_estimator.set_axis_max_acceleration(GCodeTimeEstimator::E, print.config.machine_max_acceleration_e.values[0]); - m_normal_time_estimator.set_axis_max_feedrate(GCodeTimeEstimator::X, print.config.machine_max_feedrate_x.values[0]); - m_normal_time_estimator.set_axis_max_feedrate(GCodeTimeEstimator::Y, print.config.machine_max_feedrate_y.values[0]); - m_normal_time_estimator.set_axis_max_feedrate(GCodeTimeEstimator::Z, print.config.machine_max_feedrate_z.values[0]); - m_normal_time_estimator.set_axis_max_feedrate(GCodeTimeEstimator::E, print.config.machine_max_feedrate_e.values[0]); - m_normal_time_estimator.set_axis_max_jerk(GCodeTimeEstimator::X, print.config.machine_max_jerk_x.values[0]); - m_normal_time_estimator.set_axis_max_jerk(GCodeTimeEstimator::Y, print.config.machine_max_jerk_y.values[0]); - m_normal_time_estimator.set_axis_max_jerk(GCodeTimeEstimator::Z, print.config.machine_max_jerk_z.values[0]); - m_normal_time_estimator.set_axis_max_jerk(GCodeTimeEstimator::E, print.config.machine_max_jerk_e.values[0]); + m_silent_time_estimator_enabled = (print.config.gcode_flavor == gcfMarlin) && print.config.silent_mode; - m_silent_time_estimator_enabled = (print.config.gcode_flavor == gcfMarlin) && print.config.silent_mode && boost::starts_with(print.config.printer_model.value, "MK3"); - if (m_silent_time_estimator_enabled) - { - m_silent_time_estimator.reset(); - m_silent_time_estimator.set_dialect(print.config.gcode_flavor); - m_silent_time_estimator.set_max_acceleration(print.config.machine_max_acceleration_extruding.values[1]); - m_silent_time_estimator.set_retract_acceleration(print.config.machine_max_acceleration_retracting.values[1]); - m_silent_time_estimator.set_minimum_feedrate(print.config.machine_min_extruding_rate.values[1]); - m_silent_time_estimator.set_minimum_travel_feedrate(print.config.machine_min_travel_rate.values[1]); - m_silent_time_estimator.set_axis_max_acceleration(GCodeTimeEstimator::X, print.config.machine_max_acceleration_x.values[1]); - m_silent_time_estimator.set_axis_max_acceleration(GCodeTimeEstimator::Y, print.config.machine_max_acceleration_y.values[1]); - m_silent_time_estimator.set_axis_max_acceleration(GCodeTimeEstimator::Z, print.config.machine_max_acceleration_z.values[1]); - m_silent_time_estimator.set_axis_max_acceleration(GCodeTimeEstimator::E, print.config.machine_max_acceleration_e.values[1]); - m_silent_time_estimator.set_axis_max_feedrate(GCodeTimeEstimator::X, print.config.machine_max_feedrate_x.values[1]); - m_silent_time_estimator.set_axis_max_feedrate(GCodeTimeEstimator::Y, print.config.machine_max_feedrate_y.values[1]); - m_silent_time_estimator.set_axis_max_feedrate(GCodeTimeEstimator::Z, print.config.machine_max_feedrate_z.values[1]); - m_silent_time_estimator.set_axis_max_feedrate(GCodeTimeEstimator::E, print.config.machine_max_feedrate_e.values[1]); - m_silent_time_estimator.set_axis_max_jerk(GCodeTimeEstimator::X, print.config.machine_max_jerk_x.values[1]); - m_silent_time_estimator.set_axis_max_jerk(GCodeTimeEstimator::Y, print.config.machine_max_jerk_y.values[1]); - m_silent_time_estimator.set_axis_max_jerk(GCodeTimeEstimator::Z, print.config.machine_max_jerk_z.values[1]); - m_silent_time_estimator.set_axis_max_jerk(GCodeTimeEstimator::E, print.config.machine_max_jerk_e.values[1]); + // Until we have a UI support for the other firmwares than the Marlin, use the hardcoded default values + // and let the user to enter the G-code limits into the start G-code. + // If the following block is enabled for other firmwares than the Marlin, then the function + // this->print_machine_envelope(file, print); + // shall be adjusted as well to produce a G-code block compatible with the particular firmware flavor. + if (print.config.gcode_flavor.value == gcfMarlin) { + m_normal_time_estimator.set_max_acceleration(print.config.machine_max_acceleration_extruding.values[0]); + m_normal_time_estimator.set_retract_acceleration(print.config.machine_max_acceleration_retracting.values[0]); + m_normal_time_estimator.set_minimum_feedrate(print.config.machine_min_extruding_rate.values[0]); + m_normal_time_estimator.set_minimum_travel_feedrate(print.config.machine_min_travel_rate.values[0]); + m_normal_time_estimator.set_axis_max_acceleration(GCodeTimeEstimator::X, print.config.machine_max_acceleration_x.values[0]); + m_normal_time_estimator.set_axis_max_acceleration(GCodeTimeEstimator::Y, print.config.machine_max_acceleration_y.values[0]); + m_normal_time_estimator.set_axis_max_acceleration(GCodeTimeEstimator::Z, print.config.machine_max_acceleration_z.values[0]); + m_normal_time_estimator.set_axis_max_acceleration(GCodeTimeEstimator::E, print.config.machine_max_acceleration_e.values[0]); + m_normal_time_estimator.set_axis_max_feedrate(GCodeTimeEstimator::X, print.config.machine_max_feedrate_x.values[0]); + m_normal_time_estimator.set_axis_max_feedrate(GCodeTimeEstimator::Y, print.config.machine_max_feedrate_y.values[0]); + m_normal_time_estimator.set_axis_max_feedrate(GCodeTimeEstimator::Z, print.config.machine_max_feedrate_z.values[0]); + m_normal_time_estimator.set_axis_max_feedrate(GCodeTimeEstimator::E, print.config.machine_max_feedrate_e.values[0]); + m_normal_time_estimator.set_axis_max_jerk(GCodeTimeEstimator::X, print.config.machine_max_jerk_x.values[0]); + m_normal_time_estimator.set_axis_max_jerk(GCodeTimeEstimator::Y, print.config.machine_max_jerk_y.values[0]); + m_normal_time_estimator.set_axis_max_jerk(GCodeTimeEstimator::Z, print.config.machine_max_jerk_z.values[0]); + m_normal_time_estimator.set_axis_max_jerk(GCodeTimeEstimator::E, print.config.machine_max_jerk_e.values[0]); + + if (m_silent_time_estimator_enabled) + { + m_silent_time_estimator.reset(); + m_silent_time_estimator.set_dialect(print.config.gcode_flavor); + m_silent_time_estimator.set_max_acceleration(print.config.machine_max_acceleration_extruding.values[1]); + m_silent_time_estimator.set_retract_acceleration(print.config.machine_max_acceleration_retracting.values[1]); + m_silent_time_estimator.set_minimum_feedrate(print.config.machine_min_extruding_rate.values[1]); + m_silent_time_estimator.set_minimum_travel_feedrate(print.config.machine_min_travel_rate.values[1]); + m_silent_time_estimator.set_axis_max_acceleration(GCodeTimeEstimator::X, print.config.machine_max_acceleration_x.values[1]); + m_silent_time_estimator.set_axis_max_acceleration(GCodeTimeEstimator::Y, print.config.machine_max_acceleration_y.values[1]); + m_silent_time_estimator.set_axis_max_acceleration(GCodeTimeEstimator::Z, print.config.machine_max_acceleration_z.values[1]); + m_silent_time_estimator.set_axis_max_acceleration(GCodeTimeEstimator::E, print.config.machine_max_acceleration_e.values[1]); + m_silent_time_estimator.set_axis_max_feedrate(GCodeTimeEstimator::X, print.config.machine_max_feedrate_x.values[1]); + m_silent_time_estimator.set_axis_max_feedrate(GCodeTimeEstimator::Y, print.config.machine_max_feedrate_y.values[1]); + m_silent_time_estimator.set_axis_max_feedrate(GCodeTimeEstimator::Z, print.config.machine_max_feedrate_z.values[1]); + m_silent_time_estimator.set_axis_max_feedrate(GCodeTimeEstimator::E, print.config.machine_max_feedrate_e.values[1]); + m_silent_time_estimator.set_axis_max_jerk(GCodeTimeEstimator::X, print.config.machine_max_jerk_x.values[1]); + m_silent_time_estimator.set_axis_max_jerk(GCodeTimeEstimator::Y, print.config.machine_max_jerk_y.values[1]); + m_silent_time_estimator.set_axis_max_jerk(GCodeTimeEstimator::Z, print.config.machine_max_jerk_z.values[1]); + m_silent_time_estimator.set_axis_max_jerk(GCodeTimeEstimator::E, print.config.machine_max_jerk_e.values[1]); + } } + // resets analyzer m_analyzer.reset(); m_enable_analyzer = preview_data != nullptr; diff --git a/xs/src/libslic3r/GCodeTimeEstimator.cpp b/xs/src/libslic3r/GCodeTimeEstimator.cpp index 2a4fbf6dd..7c8540e66 100644 --- a/xs/src/libslic3r/GCodeTimeEstimator.cpp +++ b/xs/src/libslic3r/GCodeTimeEstimator.cpp @@ -414,7 +414,10 @@ namespace Slic3r { void GCodeTimeEstimator::set_acceleration(float acceleration_mm_sec2) { - _state.acceleration = std::min(_state.max_acceleration, acceleration_mm_sec2); + _state.acceleration = (_state.max_acceleration == 0) ? + acceleration_mm_sec2 : + // Clamp the acceleration with the maximum. + std::min(_state.max_acceleration, acceleration_mm_sec2); } float GCodeTimeEstimator::get_acceleration() const @@ -425,7 +428,8 @@ namespace Slic3r { void GCodeTimeEstimator::set_max_acceleration(float acceleration_mm_sec2) { _state.max_acceleration = acceleration_mm_sec2; - _state.acceleration = acceleration_mm_sec2; + if (acceleration_mm_sec2 > 0) + _state.acceleration = acceleration_mm_sec2; } float GCodeTimeEstimator::get_max_acceleration() const @@ -551,7 +555,10 @@ namespace Slic3r { set_e_local_positioning_type(Absolute); set_feedrate(DEFAULT_FEEDRATE); - set_max_acceleration(DEFAULT_ACCELERATION); + // Setting the maximum acceleration to zero means that the there is no limit and the G-code + // is allowed to set excessive values. + set_max_acceleration(0); + set_acceleration(DEFAULT_ACCELERATION); set_retract_acceleration(DEFAULT_RETRACT_ACCELERATION); set_minimum_feedrate(DEFAULT_MINIMUM_FEEDRATE); set_minimum_travel_feedrate(DEFAULT_MINIMUM_TRAVEL_FEEDRATE); From d805c8ac3bcaa3310b2c3542da061657a192c3b3 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Wed, 18 Jul 2018 14:26:42 +0200 Subject: [PATCH 06/47] Disable slicing when one object crosses the print volume boundary --- xs/src/libslic3r/BoundingBox.hpp | 4 ++++ xs/src/libslic3r/Model.cpp | 11 ++++++++--- xs/src/libslic3r/Model.hpp | 26 +++++++++++++++++++------- xs/src/libslic3r/Print.cpp | 2 +- xs/src/libslic3r/PrintObject.cpp | 2 +- xs/src/slic3r/GUI/3DScene.cpp | 25 +++++++++++++++++++------ xs/src/slic3r/GUI/3DScene.hpp | 5 ++++- xs/src/slic3r/GUI/GLCanvas3D.cpp | 17 +++++++++++------ xs/xsp/GUI_3DScene.xsp | 4 ---- 9 files changed, 67 insertions(+), 29 deletions(-) diff --git a/xs/src/libslic3r/BoundingBox.hpp b/xs/src/libslic3r/BoundingBox.hpp index 1f71536ee..82a3edc18 100644 --- a/xs/src/libslic3r/BoundingBox.hpp +++ b/xs/src/libslic3r/BoundingBox.hpp @@ -103,6 +103,10 @@ public: bool contains(const BoundingBox3Base& other) const { return contains(other.min) && contains(other.max); } + + bool intersects(const BoundingBox3Base& other) const { + return (min.x < other.max.x) && (max.x > other.min.x) && (min.y < other.max.y) && (max.y > other.min.y) && (min.z < other.max.z) && (max.z > other.min.z); + } }; class BoundingBox : public BoundingBoxBase diff --git a/xs/src/libslic3r/Model.cpp b/xs/src/libslic3r/Model.cpp index bd95d9959..509fe6190 100644 --- a/xs/src/libslic3r/Model.cpp +++ b/xs/src/libslic3r/Model.cpp @@ -1235,7 +1235,7 @@ void ModelObject::split(ModelObjectPtrs* new_objects) return; } -void ModelObject::check_instances_printability(const BoundingBoxf3& print_volume) +void ModelObject::check_instances_print_volume_state(const BoundingBoxf3& print_volume) { for (ModelVolume* vol : this->volumes) { @@ -1274,10 +1274,15 @@ void ModelObject::check_instances_printability(const BoundingBoxf3& print_volume p.y += inst->offset.y; bb.merge(p); - - inst->is_printable = print_volume.contains(bb); } } + + if (print_volume.contains(bb)) + inst->print_volume_state = ModelInstance::PVS_Inside; + else if (print_volume.intersects(bb)) + inst->print_volume_state = ModelInstance::PVS_Partly_Outside; + else + inst->print_volume_state = ModelInstance::PVS_Fully_Outside; } } } diff --git a/xs/src/libslic3r/Model.hpp b/xs/src/libslic3r/Model.hpp index 08ba8487d..f5e97fb6a 100644 --- a/xs/src/libslic3r/Model.hpp +++ b/xs/src/libslic3r/Model.hpp @@ -131,7 +131,8 @@ public: bool needed_repair() const; void cut(coordf_t z, Model* model) const; void split(ModelObjectPtrs* new_objects); - void check_instances_printability(const BoundingBoxf3& print_volume); + + void check_instances_print_volume_state(const BoundingBoxf3& print_volume); // Print object statistics to console. void print_info() const; @@ -198,14 +199,23 @@ private: // Knows the affine transformation of an object. class ModelInstance { - friend class ModelObject; public: + enum EPrintVolumeState : unsigned char + { + PVS_Inside, + PVS_Partly_Outside, + PVS_Fully_Outside, + Num_BedStates + }; + + friend class ModelObject; + double rotation; // Rotation around the Z axis, in radians around mesh center point double scaling_factor; Pointf offset; // in unscaled coordinates - // whether or not this instance is contained in the print volume (set by Print::validate() using ModelObject::check_instances_printability()) - bool is_printable; + // flag showing the position of this instance with respect to the print volume (set by Print::validate() using ModelObject::check_instances_print_volume_state()) + EPrintVolumeState print_volume_state; ModelObject* get_object() const { return this->object; } @@ -217,14 +227,16 @@ public: BoundingBoxf3 transform_bounding_box(const BoundingBoxf3 &bbox, bool dont_translate = false) const; // To be called on an external polygon. It does not translate the polygon, only rotates and scales. void transform_polygon(Polygon* polygon) const; - + + bool is_printable() const { return print_volume_state == PVS_Inside; } + private: // Parent object, owning this instance. ModelObject* object; - ModelInstance(ModelObject *object) : rotation(0), scaling_factor(1), object(object), is_printable(false) {} + ModelInstance(ModelObject *object) : rotation(0), scaling_factor(1), object(object), print_volume_state(PVS_Inside) {} ModelInstance(ModelObject *object, const ModelInstance &other) : - rotation(other.rotation), scaling_factor(other.scaling_factor), offset(other.offset), object(object), is_printable(false) {} + rotation(other.rotation), scaling_factor(other.scaling_factor), offset(other.offset), object(object), print_volume_state(PVS_Inside) {} }; diff --git a/xs/src/libslic3r/Print.cpp b/xs/src/libslic3r/Print.cpp index 9c9f7f5bb..838cdfc9f 100644 --- a/xs/src/libslic3r/Print.cpp +++ b/xs/src/libslic3r/Print.cpp @@ -543,7 +543,7 @@ std::string Print::validate() const print_volume.min.z = -1e10; unsigned int printable_count = 0; for (PrintObject *po : this->objects) { - po->model_object()->check_instances_printability(print_volume); + po->model_object()->check_instances_print_volume_state(print_volume); po->reload_model_instances(); if (po->is_printable()) ++printable_count; diff --git a/xs/src/libslic3r/PrintObject.cpp b/xs/src/libslic3r/PrintObject.cpp index 1d0a81cd2..8888da76d 100644 --- a/xs/src/libslic3r/PrintObject.cpp +++ b/xs/src/libslic3r/PrintObject.cpp @@ -103,7 +103,7 @@ bool PrintObject::reload_model_instances() copies.reserve(this->_model_object->instances.size()); for (const ModelInstance *mi : this->_model_object->instances) { - if (mi->is_printable) + if (mi->is_printable()) copies.emplace_back(Point::new_scale(mi->offset.x, mi->offset.y)); } return this->set_copies(copies); diff --git a/xs/src/slic3r/GUI/3DScene.cpp b/xs/src/slic3r/GUI/3DScene.cpp index d8fe592e8..c927d6e1d 100644 --- a/xs/src/slic3r/GUI/3DScene.cpp +++ b/xs/src/slic3r/GUI/3DScene.cpp @@ -743,7 +743,7 @@ void GLVolumeCollection::render_legacy() const glDisable(GL_BLEND); } -bool GLVolumeCollection::check_outside_state(const DynamicPrintConfig* config) +bool GLVolumeCollection::check_outside_state(const DynamicPrintConfig* config, ModelInstance::EPrintVolumeState* out_state) { if (config == nullptr) return false; @@ -757,18 +757,31 @@ bool GLVolumeCollection::check_outside_state(const DynamicPrintConfig* config) // Allow the objects to protrude below the print bed print_volume.min.z = -1e10; - bool contained = true; + ModelInstance::EPrintVolumeState state = ModelInstance::PVS_Inside; + bool all_contained = true; + for (GLVolume* volume : this->volumes) { if ((volume != nullptr) && !volume->is_modifier) { - bool state = print_volume.contains(volume->transformed_bounding_box()); - contained &= state; - volume->is_outside = !state; + const BoundingBoxf3& bb = volume->transformed_bounding_box(); + bool contained = print_volume.contains(bb); + all_contained &= contained; + + volume->is_outside = !contained; + + if ((state == ModelInstance::PVS_Inside) && volume->is_outside) + state = ModelInstance::PVS_Fully_Outside; + + if ((state == ModelInstance::PVS_Fully_Outside) && volume->is_outside && print_volume.intersects(bb)) + state = ModelInstance::PVS_Partly_Outside; } } - return contained; + if (out_state != nullptr) + *out_state = state; + + return all_contained; } void GLVolumeCollection::reset_outside_state() diff --git a/xs/src/slic3r/GUI/3DScene.hpp b/xs/src/slic3r/GUI/3DScene.hpp index f7fc75db5..11a800c24 100644 --- a/xs/src/slic3r/GUI/3DScene.hpp +++ b/xs/src/slic3r/GUI/3DScene.hpp @@ -6,6 +6,7 @@ #include "../../libslic3r/Line.hpp" #include "../../libslic3r/TriangleMesh.hpp" #include "../../libslic3r/Utils.hpp" +#include "../../libslic3r/Model.hpp" #include "../../slic3r/GUI/GLCanvas3DManager.hpp" class wxBitmap; @@ -422,7 +423,9 @@ public: print_box_max[0] = max_x; print_box_max[1] = max_y; print_box_max[2] = max_z; } - bool check_outside_state(const DynamicPrintConfig* config); + // returns true if all the volumes are completely contained in the print volume + // returns the containment state in the given out_state, if non-null + bool check_outside_state(const DynamicPrintConfig* config, ModelInstance::EPrintVolumeState* out_state); void reset_outside_state(); void update_colors_by_extruder(const DynamicPrintConfig* config); diff --git a/xs/src/slic3r/GUI/GLCanvas3D.cpp b/xs/src/slic3r/GUI/GLCanvas3D.cpp index 729c91cf3..8eae6359b 100644 --- a/xs/src/slic3r/GUI/GLCanvas3D.cpp +++ b/xs/src/slic3r/GUI/GLCanvas3D.cpp @@ -1381,7 +1381,8 @@ void GLCanvas3D::Gizmos::render(const GLCanvas3D& canvas, const BoundingBoxf3& b ::glDisable(GL_DEPTH_TEST); - _render_current_gizmo(box); + if (box.radius() > 0.0) + _render_current_gizmo(box); ::glPushMatrix(); ::glLoadIdentity(); @@ -1657,7 +1658,7 @@ void GLCanvas3D::update_volumes_selection(const std::vector& selections) bool GLCanvas3D::check_volumes_outside_state(const DynamicPrintConfig* config) const { - return m_volumes.check_outside_state(config); + return m_volumes.check_outside_state(config, nullptr); } bool GLCanvas3D::move_volume_up(unsigned int id) @@ -2082,19 +2083,22 @@ void GLCanvas3D::reload_scene(bool force) // checks for geometry outside the print volume to render it accordingly if (!m_volumes.empty()) { - bool contained = m_volumes.check_outside_state(m_config); + ModelInstance::EPrintVolumeState state; + bool contained = m_volumes.check_outside_state(m_config, &state); + if (!contained) { enable_warning_texture(true); _3DScene::generate_warning_texture(L("Detected object outside print volume")); + m_on_enable_action_buttons_callback.call(state == ModelInstance::PVS_Fully_Outside); } else { enable_warning_texture(false); m_volumes.reset_outside_state(); _3DScene::reset_warning_texture(); + m_on_enable_action_buttons_callback.call(!m_model->objects.empty()); } - m_on_enable_action_buttons_callback.call(!m_model->objects.empty()); } else { @@ -3130,6 +3134,7 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) m_mouse.set_start_position_3D_as_invalid(); m_mouse.set_start_position_2D_as_invalid(); m_mouse.dragging = false; + m_dirty = true; } else if (evt.Moving()) { @@ -3272,7 +3277,7 @@ BoundingBoxf3 GLCanvas3D::_selected_volumes_bounding_box() const BoundingBoxf3 bb; for (const GLVolume* volume : m_volumes.volumes) { - if ((volume != nullptr) && volume->selected) + if ((volume != nullptr) && !volume->is_wipe_tower && volume->selected) bb.merge(volume->transformed_bounding_box()); } return bb; @@ -3549,7 +3554,7 @@ void GLCanvas3D::_render_objects() const { const BoundingBoxf3& bed_bb = m_bed.get_bounding_box(); m_volumes.set_print_box((float)bed_bb.min.x, (float)bed_bb.min.y, 0.0f, (float)bed_bb.max.x, (float)bed_bb.max.y, (float)m_config->opt_float("max_print_height")); - m_volumes.check_outside_state(m_config); + m_volumes.check_outside_state(m_config, nullptr); } // do not cull backfaces to show broken geometry, if any ::glDisable(GL_CULL_FACE); diff --git a/xs/xsp/GUI_3DScene.xsp b/xs/xsp/GUI_3DScene.xsp index 65dfc8e8e..e85a3b64e 100644 --- a/xs/xsp/GUI_3DScene.xsp +++ b/xs/xsp/GUI_3DScene.xsp @@ -105,10 +105,6 @@ void release_geometry(); void set_print_box(float min_x, float min_y, float min_z, float max_x, float max_y, float max_z); - bool check_outside_state(DynamicPrintConfig* config) - %code%{ - RETVAL = THIS->check_outside_state(config); - %}; void reset_outside_state(); void update_colors_by_extruder(DynamicPrintConfig* config); From 6f18e58d13e603774fe66d40c43b4944de6c8992 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Wed, 18 Jul 2018 14:38:02 +0200 Subject: [PATCH 07/47] Fixed compile on Linux and Mac --- xs/src/libslic3r/BoundingBox.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xs/src/libslic3r/BoundingBox.hpp b/xs/src/libslic3r/BoundingBox.hpp index 82a3edc18..5324dbe3b 100644 --- a/xs/src/libslic3r/BoundingBox.hpp +++ b/xs/src/libslic3r/BoundingBox.hpp @@ -105,7 +105,7 @@ public: } bool intersects(const BoundingBox3Base& other) const { - return (min.x < other.max.x) && (max.x > other.min.x) && (min.y < other.max.y) && (max.y > other.min.y) && (min.z < other.max.z) && (max.z > other.min.z); + return (this->min.x < other.max.x) && (this->max.x > other.min.x) && (this->min.y < other.max.y) && (this->max.y > other.min.y) && (this->min.z < other.max.z) && (this->max.z > other.min.z); } }; From a46bdb1d819e82634f9cba02034980c83cf29c8a Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 18 Jul 2018 14:52:19 +0200 Subject: [PATCH 08/47] Reworked the "Sliced info" box on the platter to only show the "silent mode" print time if it is available. --- lib/Slic3r/GUI/Plater.pm | 112 +++++++++++++++++++-------------------- 1 file changed, 54 insertions(+), 58 deletions(-) diff --git a/lib/Slic3r/GUI/Plater.pm b/lib/Slic3r/GUI/Plater.pm index d0d4969e6..f59350eb9 100644 --- a/lib/Slic3r/GUI/Plater.pm +++ b/lib/Slic3r/GUI/Plater.pm @@ -194,7 +194,7 @@ sub new { $self->schedule_background_process; } else { # Hide the print info box, it is no more valid. - $self->{"print_info_box_show"}->(0); + $self->print_info_box_show(0); } }); @@ -292,9 +292,9 @@ sub new { $self->{right_panel} = Wx::Panel->new($self, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL); ### Scrolled Window for info boxes - my $scrolled_window_sizer = Wx::BoxSizer->new(wxVERTICAL); + my $scrolled_window_sizer = $self->{scrolled_window_sizer} = Wx::BoxSizer->new(wxVERTICAL); $scrolled_window_sizer->SetMinSize([310, -1]); - my $scrolled_window_panel = Wx::ScrolledWindow->new($self->{right_panel}, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL); + my $scrolled_window_panel = $self->{scrolled_window_panel} = Wx::ScrolledWindow->new($self->{right_panel}, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL); $scrolled_window_panel->SetSizer($scrolled_window_sizer); $scrolled_window_panel->SetScrollbars(1, 1, 1, 1); @@ -520,38 +520,9 @@ sub new { } } - my $print_info_sizer; - { - my $box = Wx::StaticBox->new($scrolled_window_panel, -1, L("Sliced Info")); - $print_info_sizer = Wx::StaticBoxSizer->new($box, wxVERTICAL); - $print_info_sizer->SetMinSize([300,-1]); - my $grid_sizer = Wx::FlexGridSizer->new(2, 2, 5, 5); - $grid_sizer->SetFlexibleDirection(wxHORIZONTAL); - $grid_sizer->AddGrowableCol(1, 1); - $grid_sizer->AddGrowableCol(3, 1); - $print_info_sizer->Add($grid_sizer, 0, wxEXPAND); - my @info = ( - fil_m => L("Used Filament (m)"), - fil_mm3 => L("Used Filament (mm³)"), - fil_g => L("Used Filament (g)"), - cost => L("Cost"), -#========================================================================================================================================== - normal_time => L("Estimated printing time (normal mode)"), -# default_time => L("Estimated printing time (default mode)"), -#========================================================================================================================================== - silent_time => L("Estimated printing time (silent mode)"), - ); - while (my $field = shift @info) { - my $label = shift @info; - my $text = Wx::StaticText->new($scrolled_window_panel, -1, "$label:", wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT); - $text->SetFont($Slic3r::GUI::small_font); - $grid_sizer->Add($text, 0); - - $self->{"print_info_$field"} = Wx::StaticText->new($scrolled_window_panel, -1, "", wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT); - $self->{"print_info_$field"}->SetFont($Slic3r::GUI::small_font); - $grid_sizer->Add($self->{"print_info_$field"}, 0); - } - } + my $print_info_sizer = $self->{print_info_sizer} = Wx::StaticBoxSizer->new( + Wx::StaticBox->new($scrolled_window_panel, -1, L("Sliced Info")), wxVERTICAL); + $print_info_sizer->SetMinSize([300,-1]); my $buttons_sizer = Wx::BoxSizer->new(wxHORIZONTAL); $self->{buttons_sizer} = $buttons_sizer; @@ -572,19 +543,8 @@ sub new { $right_sizer->Add($frequently_changed_parameters_sizer, 0, wxEXPAND | wxTOP, 0) if defined $frequently_changed_parameters_sizer; $right_sizer->Add($buttons_sizer, 0, wxEXPAND | wxBOTTOM, 5); $right_sizer->Add($scrolled_window_panel, 1, wxEXPAND | wxALL, 1); - # Callback for showing / hiding the print info box. - $self->{"print_info_box_show"} = sub { -# if ($right_sizer->IsShown(5) != $_[0]) { -# $right_sizer->Show(5, $_[0]); -# $self->Layout -# } - if ($scrolled_window_sizer->IsShown(2) != $_[0]) { - $scrolled_window_sizer->Show(2, $_[0]); - $scrolled_window_panel->Layout - } - }; # Show the box initially, let it be shown after the slicing is finished. - $self->{"print_info_box_show"}->(0); + $self->print_info_box_show(0); $self->{right_panel}->SetSizer($right_sizer); @@ -1300,7 +1260,7 @@ sub async_apply_config { $self->{canvas3D}->Refresh if Slic3r::GUI::_3DScene::is_layers_editing_enabled($self->{canvas3D}); # Hide the slicing results if the current slicing status is no more valid. - $self->{"print_info_box_show"}->(0) if $invalidated; + $self->print_info_box_show(0) if $invalidated; if (wxTheApp->{app_config}->get("background_processing")) { if ($invalidated) { @@ -1618,16 +1578,7 @@ sub on_export_completed { $self->{print_file} = undef; $self->{send_gcode_file} = undef; - $self->{"print_info_cost"}->SetLabel(sprintf("%.2f" , $self->{print}->total_cost)); - $self->{"print_info_fil_g"}->SetLabel(sprintf("%.2f" , $self->{print}->total_weight)); - $self->{"print_info_fil_mm3"}->SetLabel(sprintf("%.2f" , $self->{print}->total_extruded_volume)); -#========================================================================================================================================== - $self->{"print_info_normal_time"}->SetLabel($self->{print}->estimated_normal_print_time); -# $self->{"print_info_default_time"}->SetLabel($self->{print}->estimated_default_print_time); -#========================================================================================================================================== - $self->{"print_info_silent_time"}->SetLabel($self->{print}->estimated_silent_print_time); - $self->{"print_info_fil_m"}->SetLabel(sprintf("%.2f" , $self->{print}->total_used_filament / 1000)); - $self->{"print_info_box_show"}->(1); + $self->print_info_box_show(1); # this updates buttons status $self->object_list_changed; @@ -1637,6 +1588,51 @@ sub on_export_completed { $self->{preview3D}->reload_print if $self->{preview3D}; } +# Fill in the "Sliced info" box with the result of the G-code generator. +sub print_info_box_show { + my ($self, $show) = @_; + my $scrolled_window_panel = $self->{scrolled_window_panel}; + my $scrolled_window_sizer = $self->{scrolled_window_sizer}; + return if $scrolled_window_sizer->IsShown(2) == $show; + + if ($show) { + my $print_info_sizer = $self->{print_info_sizer}; + $print_info_sizer->Clear(1); + my $grid_sizer = Wx::FlexGridSizer->new(2, 2, 5, 5); + $grid_sizer->SetFlexibleDirection(wxHORIZONTAL); + $grid_sizer->AddGrowableCol(1, 1); + $grid_sizer->AddGrowableCol(3, 1); + $print_info_sizer->Add($grid_sizer, 0, wxEXPAND); + my @info = ( + L("Used Filament (m)") + => sprintf("%.2f" , $self->{print}->total_cost), + L("Used Filament (mm³)") + => sprintf("%.2f" , $self->{print}->total_weight), + L("Used Filament (g)"), + => sprintf("%.2f" , $self->{print}->total_extruded_volume), + L("Cost"), + => $self->{print}->estimated_normal_print_time, + L("Estimated printing time (normal mode)") + => $self->{print}->estimated_silent_print_time, + L("Estimated printing time (silent mode)") + => sprintf("%.2f" , $self->{print}->total_used_filament / 1000) + ); + while ( my $label = shift @info) { + my $value = shift @info; + next if $value eq "N/A"; + my $text = Wx::StaticText->new($scrolled_window_panel, -1, "$label:", wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT); + $text->SetFont($Slic3r::GUI::small_font); + $grid_sizer->Add($text, 0); + my $field = Wx::StaticText->new($scrolled_window_panel, -1, $value, wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT); + $field->SetFont($Slic3r::GUI::small_font); + $grid_sizer->Add($field, 0); + } + } + + $scrolled_window_sizer->Show(2, $show); + $scrolled_window_panel->Layout; +} + sub do_print { my ($self) = @_; From 3fac0d92cd93d3daf14c8e1ef1480f1bb5ad6ee5 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Wed, 18 Jul 2018 15:07:52 +0200 Subject: [PATCH 09/47] Unified opengl textures --- xs/src/slic3r/GUI/3DScene.cpp | 501 ++++++++++++++++++++++++-------- xs/src/slic3r/GUI/3DScene.hpp | 152 +++++++--- xs/src/slic3r/GUI/GLTexture.hpp | 16 +- xs/xsp/GUI_3DScene.xsp | 52 ---- 4 files changed, 501 insertions(+), 220 deletions(-) diff --git a/xs/src/slic3r/GUI/3DScene.cpp b/xs/src/slic3r/GUI/3DScene.cpp index d8fe592e8..2b50d20a8 100644 --- a/xs/src/slic3r/GUI/3DScene.cpp +++ b/xs/src/slic3r/GUI/3DScene.cpp @@ -540,8 +540,11 @@ double GLVolume::layer_height_texture_z_to_row_id() const void GLVolume::generate_layer_height_texture(PrintObject *print_object, bool force) { - GLTexture *tex = this->layer_height_texture.get(); - if (tex == nullptr) +//########################################################################################################################################3 + LayersTexture *tex = this->layer_height_texture.get(); +// GLTexture *tex = this->layer_height_texture.get(); +//########################################################################################################################################3 + if (tex == nullptr) // No layer_height_texture is assigned to this GLVolume, therefore the layer height texture cannot be filled. return; @@ -588,8 +591,11 @@ std::vector GLVolumeCollection::load_object( }; // Object will have a single common layer height texture for all volumes. - std::shared_ptr layer_height_texture = std::make_shared(); - +//########################################################################################################################################3 + std::shared_ptr layer_height_texture = std::make_shared(); +// std::shared_ptr layer_height_texture = std::make_shared(); +//########################################################################################################################################3 + std::vector volumes_idx; for (int volume_idx = 0; volume_idx < int(model_object->volumes.size()); ++ volume_idx) { const ModelVolume *model_volume = model_object->volumes[volume_idx]; @@ -1580,45 +1586,44 @@ _3DScene::LegendTexture _3DScene::s_legend_texture; _3DScene::WarningTexture _3DScene::s_warning_texture; GUI::GLCanvas3DManager _3DScene::s_canvas_mgr; -unsigned int _3DScene::TextureBase::finalize() -{ - if ((m_tex_id == 0) && !m_data.empty()) { - // sends buffer to gpu - ::glPixelStorei(GL_UNPACK_ALIGNMENT, 1); - ::glGenTextures(1, &m_tex_id); - ::glBindTexture(GL_TEXTURE_2D, (GLuint)m_tex_id); - ::glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, (GLsizei)m_tex_width, (GLsizei)m_tex_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, (const void*)m_data.data()); - ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 1); - ::glBindTexture(GL_TEXTURE_2D, 0); - m_data.clear(); - } - return (m_tex_width > 0 && m_tex_height > 0) ? m_tex_id : 0; -} - -void _3DScene::TextureBase::_destroy_texture() -{ - if (m_tex_id > 0) - { - ::glDeleteTextures(1, &m_tex_id); - m_tex_id = 0; - m_tex_height = 0; - m_tex_width = 0; - } - m_data.clear(); -} - +//########################################################################################################################################3 +//unsigned int _3DScene::TextureBase::finalize() +//{ +// if ((m_tex_id == 0) && !m_data.empty()) { +// // sends buffer to gpu +// ::glPixelStorei(GL_UNPACK_ALIGNMENT, 1); +// ::glGenTextures(1, &m_tex_id); +// ::glBindTexture(GL_TEXTURE_2D, (GLuint)m_tex_id); +// ::glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, (GLsizei)m_tex_width, (GLsizei)m_tex_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, (const void*)m_data.data()); +// ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); +// ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); +// ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 1); +// ::glBindTexture(GL_TEXTURE_2D, 0); +// m_data.clear(); +// } +// return (m_tex_width > 0 && m_tex_height > 0) ? m_tex_id : 0; +//} +// +//void _3DScene::TextureBase::_destroy_texture() +//{ +// if (m_tex_id > 0) +// { +// ::glDeleteTextures(1, &m_tex_id); +// m_tex_id = 0; +// m_tex_height = 0; +// m_tex_width = 0; +// } +// m_data.clear(); +//} +//########################################################################################################################################3 const unsigned char _3DScene::WarningTexture::Background_Color[3] = { 9, 91, 134 }; const unsigned char _3DScene::WarningTexture::Opacity = 255; -// Generate a texture data, but don't load it into the GPU yet, as the GPU context may not yet be valid. +//########################################################################################################################################3 bool _3DScene::WarningTexture::generate(const std::string& msg) { - // Mark the texture as released, but don't release the texture from the GPU yet. - m_tex_width = m_tex_height = 0; - m_data.clear(); + reset(); if (msg.empty()) return false; @@ -1630,11 +1635,11 @@ bool _3DScene::WarningTexture::generate(const std::string& msg) // calculates texture size wxCoord w, h; memDC.GetTextExtent(msg, &w, &h); - m_tex_width = (unsigned int)w; - m_tex_height = (unsigned int)h; + m_width = (int)w; + m_height = (int)h; // generates bitmap - wxBitmap bitmap(m_tex_width, m_tex_height); + wxBitmap bitmap(m_width, m_height); #if defined(__APPLE__) || defined(_MSC_VER) bitmap.UseAlpha(); @@ -1652,38 +1657,107 @@ bool _3DScene::WarningTexture::generate(const std::string& msg) memDC.SelectObject(wxNullBitmap); // Convert the bitmap into a linear data ready to be loaded into the GPU. - { - wxImage image = bitmap.ConvertToImage(); - image.SetMaskColour(Background_Color[0], Background_Color[1], Background_Color[2]); + wxImage image = bitmap.ConvertToImage(); + image.SetMaskColour(Background_Color[0], Background_Color[1], Background_Color[2]); - // prepare buffer - m_data.assign(4 * m_tex_width * m_tex_height, 0); - for (unsigned int h = 0; h < m_tex_height; ++h) + // prepare buffer + std::vector data(4 * m_width * m_height, 0); + for (int h = 0; h < m_height; ++h) + { + int hh = h * m_width; + unsigned char* px_ptr = data.data() + 4 * hh; + for (int w = 0; w < m_width; ++w) { - unsigned int hh = h * m_tex_width; - unsigned char* px_ptr = m_data.data() + 4 * hh; - for (unsigned int w = 0; w < m_tex_width; ++w) - { - *px_ptr++ = image.GetRed(w, h); - *px_ptr++ = image.GetGreen(w, h); - *px_ptr++ = image.GetBlue(w, h); - *px_ptr++ = image.IsTransparent(w, h) ? 0 : Opacity; - } + *px_ptr++ = image.GetRed(w, h); + *px_ptr++ = image.GetGreen(w, h); + *px_ptr++ = image.GetBlue(w, h); + *px_ptr++ = image.IsTransparent(w, h) ? 0 : Opacity; } } + + // sends buffer to gpu + ::glPixelStorei(GL_UNPACK_ALIGNMENT, 1); + ::glGenTextures(1, &m_id); + ::glBindTexture(GL_TEXTURE_2D, (GLuint)m_id); + ::glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, (GLsizei)m_width, (GLsizei)m_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, (const void*)data.data()); + ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 1); + ::glBindTexture(GL_TEXTURE_2D, 0); + return true; } +//// Generate a texture data, but don't load it into the GPU yet, as the GPU context may not yet be valid. +//bool _3DScene::WarningTexture::generate(const std::string& msg) +//{ +// // Mark the texture as released, but don't release the texture from the GPU yet. +// m_tex_width = m_tex_height = 0; +// m_data.clear(); +// +// if (msg.empty()) +// return false; +// +// wxMemoryDC memDC; +// // select default font +// memDC.SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT)); +// +// // calculates texture size +// wxCoord w, h; +// memDC.GetTextExtent(msg, &w, &h); +// m_tex_width = (unsigned int)w; +// m_tex_height = (unsigned int)h; +// +// // generates bitmap +// wxBitmap bitmap(m_tex_width, m_tex_height); +// +//#if defined(__APPLE__) || defined(_MSC_VER) +// bitmap.UseAlpha(); +//#endif +// +// memDC.SelectObject(bitmap); +// memDC.SetBackground(wxBrush(wxColour(Background_Color[0], Background_Color[1], Background_Color[2]))); +// memDC.Clear(); +// +// memDC.SetTextForeground(*wxWHITE); +// +// // draw message +// memDC.DrawText(msg, 0, 0); +// +// memDC.SelectObject(wxNullBitmap); +// +// // Convert the bitmap into a linear data ready to be loaded into the GPU. +// { +// wxImage image = bitmap.ConvertToImage(); +// image.SetMaskColour(Background_Color[0], Background_Color[1], Background_Color[2]); +// +// // prepare buffer +// m_data.assign(4 * m_tex_width * m_tex_height, 0); +// for (unsigned int h = 0; h < m_tex_height; ++h) +// { +// unsigned int hh = h * m_tex_width; +// unsigned char* px_ptr = m_data.data() + 4 * hh; +// for (unsigned int w = 0; w < m_tex_width; ++w) +// { +// *px_ptr++ = image.GetRed(w, h); +// *px_ptr++ = image.GetGreen(w, h); +// *px_ptr++ = image.GetBlue(w, h); +// *px_ptr++ = image.IsTransparent(w, h) ? 0 : Opacity; +// } +// } +// } +// return true; +//} +//########################################################################################################################################3 + const unsigned char _3DScene::LegendTexture::Squares_Border_Color[3] = { 64, 64, 64 }; const unsigned char _3DScene::LegendTexture::Background_Color[3] = { 9, 91, 134 }; const unsigned char _3DScene::LegendTexture::Opacity = 255; -// Generate a texture data, but don't load it into the GPU yet, as the GPU context may not yet be valid. +//########################################################################################################################################3 bool _3DScene::LegendTexture::generate(const GCodePreviewData& preview_data, const std::vector& tool_colors) { - // Mark the texture as released, but don't release the texture from the GPU yet. - m_tex_width = m_tex_height = 0; - m_data.clear(); + reset(); // collects items to render auto title = _(preview_data.get_legend_title()); @@ -1701,25 +1775,25 @@ bool _3DScene::LegendTexture::generate(const GCodePreviewData& preview_data, con // calculates texture size wxCoord w, h; memDC.GetTextExtent(title, &w, &h); - unsigned int title_width = (unsigned int)w; - unsigned int title_height = (unsigned int)h; + int title_width = (int)w; + int title_height = (int)h; - unsigned int max_text_width = 0; - unsigned int max_text_height = 0; + int max_text_width = 0; + int max_text_height = 0; for (const GCodePreviewData::LegendItem& item : items) { memDC.GetTextExtent(GUI::from_u8(item.text), &w, &h); - max_text_width = std::max(max_text_width, (unsigned int)w); - max_text_height = std::max(max_text_height, (unsigned int)h); + max_text_width = std::max(max_text_width, (int)w); + max_text_height = std::max(max_text_height, (int)h); } - m_tex_width = std::max(2 * Px_Border + title_width, 2 * (Px_Border + Px_Square_Contour) + Px_Square + Px_Text_Offset + max_text_width); - m_tex_height = 2 * (Px_Border + Px_Square_Contour) + title_height + Px_Title_Offset + items_count * Px_Square; + m_width = std::max(2 * Px_Border + title_width, 2 * (Px_Border + Px_Square_Contour) + Px_Square + Px_Text_Offset + max_text_width); + m_height = 2 * (Px_Border + Px_Square_Contour) + title_height + Px_Title_Offset + items_count * Px_Square; if (items_count > 1) - m_tex_height += (items_count - 1) * Px_Square_Contour; + m_height += (items_count - 1) * Px_Square_Contour; // generates bitmap - wxBitmap bitmap(m_tex_width, m_tex_height); + wxBitmap bitmap(m_width, m_height); #if defined(__APPLE__) || defined(_MSC_VER) bitmap.UseAlpha(); @@ -1732,15 +1806,15 @@ bool _3DScene::LegendTexture::generate(const GCodePreviewData& preview_data, con memDC.SetTextForeground(*wxWHITE); // draw title - unsigned int title_x = Px_Border; - unsigned int title_y = Px_Border; + int title_x = Px_Border; + int title_y = Px_Border; memDC.DrawText(title, title_x, title_y); // draw icons contours as background - unsigned int squares_contour_x = Px_Border; - unsigned int squares_contour_y = Px_Border + title_height + Px_Title_Offset; - unsigned int squares_contour_width = Px_Square + 2 * Px_Square_Contour; - unsigned int squares_contour_height = items_count * Px_Square + 2 * Px_Square_Contour; + int squares_contour_x = Px_Border; + int squares_contour_y = Px_Border + title_height + Px_Title_Offset; + int squares_contour_width = Px_Square + 2 * Px_Square_Contour; + int squares_contour_height = items_count * Px_Square + 2 * Px_Square_Contour; if (items_count > 1) squares_contour_height += (items_count - 1) * Px_Square_Contour; @@ -1752,15 +1826,15 @@ bool _3DScene::LegendTexture::generate(const GCodePreviewData& preview_data, con memDC.DrawRectangle(wxRect(squares_contour_x, squares_contour_y, squares_contour_width, squares_contour_height)); // draw items (colored icon + text) - unsigned int icon_x = squares_contour_x + Px_Square_Contour; - unsigned int icon_x_inner = icon_x + 1; - unsigned int icon_y = squares_contour_y + Px_Square_Contour; - unsigned int icon_y_step = Px_Square + Px_Square_Contour; + int icon_x = squares_contour_x + Px_Square_Contour; + int icon_x_inner = icon_x + 1; + int icon_y = squares_contour_y + Px_Square_Contour; + int icon_y_step = Px_Square + Px_Square_Contour; - unsigned int text_x = icon_x + Px_Square + Px_Text_Offset; - unsigned int text_y_offset = (Px_Square - max_text_height) / 2; + int text_x = icon_x + Px_Square + Px_Text_Offset; + int text_y_offset = (Px_Square - max_text_height) / 2; - unsigned int px_inner_square = Px_Square - 2; + int px_inner_square = Px_Square - 2; for (const GCodePreviewData::LegendItem& item : items) { @@ -1785,7 +1859,7 @@ bool _3DScene::LegendTexture::generate(const GCodePreviewData& preview_data, con memDC.DrawRectangle(wxRect(icon_x_inner, icon_y + 1, px_inner_square, px_inner_square)); // draw text - memDC.DrawText(GUI::from_u8(item.text), text_x, icon_y + text_y_offset); + memDC.DrawText(GUI::from_u8(item.text), text_x, icon_y + text_y_offset); // update y icon_y += icon_y_step; @@ -1794,28 +1868,177 @@ bool _3DScene::LegendTexture::generate(const GCodePreviewData& preview_data, con memDC.SelectObject(wxNullBitmap); // Convert the bitmap into a linear data ready to be loaded into the GPU. - { - wxImage image = bitmap.ConvertToImage(); - image.SetMaskColour(Background_Color[0], Background_Color[1], Background_Color[2]); + wxImage image = bitmap.ConvertToImage(); + image.SetMaskColour(Background_Color[0], Background_Color[1], Background_Color[2]); - // prepare buffer - m_data.assign(4 * m_tex_width * m_tex_height, 0); - for (unsigned int h = 0; h < m_tex_height; ++h) + // prepare buffer + std::vector data(4 * m_width * m_height, 0); + for (int h = 0; h < m_height; ++h) + { + int hh = h * m_width; + unsigned char* px_ptr = data.data() + 4 * hh; + for (int w = 0; w < m_width; ++w) { - unsigned int hh = h * m_tex_width; - unsigned char* px_ptr = m_data.data() + 4 * hh; - for (unsigned int w = 0; w < m_tex_width; ++w) - { - *px_ptr++ = image.GetRed(w, h); - *px_ptr++ = image.GetGreen(w, h); - *px_ptr++ = image.GetBlue(w, h); - *px_ptr++ = image.IsTransparent(w, h) ? 0 : Opacity; - } + *px_ptr++ = image.GetRed(w, h); + *px_ptr++ = image.GetGreen(w, h); + *px_ptr++ = image.GetBlue(w, h); + *px_ptr++ = image.IsTransparent(w, h) ? 0 : Opacity; } } + + // sends buffer to gpu + ::glPixelStorei(GL_UNPACK_ALIGNMENT, 1); + ::glGenTextures(1, &m_id); + ::glBindTexture(GL_TEXTURE_2D, (GLuint)m_id); + ::glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, (GLsizei)m_width, (GLsizei)m_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, (const void*)data.data()); + ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 1); + ::glBindTexture(GL_TEXTURE_2D, 0); + return true; } + +//// Generate a texture data, but don't load it into the GPU yet, as the GPU context may not yet be valid. +//bool _3DScene::LegendTexture::generate(const GCodePreviewData& preview_data, const std::vector& tool_colors) +//{ +// // Mark the texture as released, but don't release the texture from the GPU yet. +// m_tex_width = m_tex_height = 0; +// m_data.clear(); +// +// // collects items to render +// auto title = _(preview_data.get_legend_title()); +// const GCodePreviewData::LegendItemsList& items = preview_data.get_legend_items(tool_colors); +// +// unsigned int items_count = (unsigned int)items.size(); +// if (items_count == 0) +// // nothing to render, return +// return false; +// +// wxMemoryDC memDC; +// // select default font +// memDC.SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT)); +// +// // calculates texture size +// wxCoord w, h; +// memDC.GetTextExtent(title, &w, &h); +// unsigned int title_width = (unsigned int)w; +// unsigned int title_height = (unsigned int)h; +// +// unsigned int max_text_width = 0; +// unsigned int max_text_height = 0; +// for (const GCodePreviewData::LegendItem& item : items) +// { +// memDC.GetTextExtent(GUI::from_u8(item.text), &w, &h); +// max_text_width = std::max(max_text_width, (unsigned int)w); +// max_text_height = std::max(max_text_height, (unsigned int)h); +// } +// +// m_tex_width = std::max(2 * Px_Border + title_width, 2 * (Px_Border + Px_Square_Contour) + Px_Square + Px_Text_Offset + max_text_width); +// m_tex_height = 2 * (Px_Border + Px_Square_Contour) + title_height + Px_Title_Offset + items_count * Px_Square; +// if (items_count > 1) +// m_tex_height += (items_count - 1) * Px_Square_Contour; +// +// // generates bitmap +// wxBitmap bitmap(m_tex_width, m_tex_height); +// +//#if defined(__APPLE__) || defined(_MSC_VER) +// bitmap.UseAlpha(); +//#endif +// +// memDC.SelectObject(bitmap); +// memDC.SetBackground(wxBrush(wxColour(Background_Color[0], Background_Color[1], Background_Color[2]))); +// memDC.Clear(); +// +// memDC.SetTextForeground(*wxWHITE); +// +// // draw title +// unsigned int title_x = Px_Border; +// unsigned int title_y = Px_Border; +// memDC.DrawText(title, title_x, title_y); +// +// // draw icons contours as background +// unsigned int squares_contour_x = Px_Border; +// unsigned int squares_contour_y = Px_Border + title_height + Px_Title_Offset; +// unsigned int squares_contour_width = Px_Square + 2 * Px_Square_Contour; +// unsigned int squares_contour_height = items_count * Px_Square + 2 * Px_Square_Contour; +// if (items_count > 1) +// squares_contour_height += (items_count - 1) * Px_Square_Contour; +// +// wxColour color(Squares_Border_Color[0], Squares_Border_Color[1], Squares_Border_Color[2]); +// wxPen pen(color); +// wxBrush brush(color); +// memDC.SetPen(pen); +// memDC.SetBrush(brush); +// memDC.DrawRectangle(wxRect(squares_contour_x, squares_contour_y, squares_contour_width, squares_contour_height)); +// +// // draw items (colored icon + text) +// unsigned int icon_x = squares_contour_x + Px_Square_Contour; +// unsigned int icon_x_inner = icon_x + 1; +// unsigned int icon_y = squares_contour_y + Px_Square_Contour; +// unsigned int icon_y_step = Px_Square + Px_Square_Contour; +// +// unsigned int text_x = icon_x + Px_Square + Px_Text_Offset; +// unsigned int text_y_offset = (Px_Square - max_text_height) / 2; +// +// unsigned int px_inner_square = Px_Square - 2; +// +// for (const GCodePreviewData::LegendItem& item : items) +// { +// // draw darker icon perimeter +// const std::vector& item_color_bytes = item.color.as_bytes(); +// wxImage::HSVValue dark_hsv = wxImage::RGBtoHSV(wxImage::RGBValue(item_color_bytes[0], item_color_bytes[1], item_color_bytes[2])); +// dark_hsv.value *= 0.75; +// wxImage::RGBValue dark_rgb = wxImage::HSVtoRGB(dark_hsv); +// color.Set(dark_rgb.red, dark_rgb.green, dark_rgb.blue, item_color_bytes[3]); +// pen.SetColour(color); +// brush.SetColour(color); +// memDC.SetPen(pen); +// memDC.SetBrush(brush); +// memDC.DrawRectangle(wxRect(icon_x, icon_y, Px_Square, Px_Square)); +// +// // draw icon interior +// color.Set(item_color_bytes[0], item_color_bytes[1], item_color_bytes[2], item_color_bytes[3]); +// pen.SetColour(color); +// brush.SetColour(color); +// memDC.SetPen(pen); +// memDC.SetBrush(brush); +// memDC.DrawRectangle(wxRect(icon_x_inner, icon_y + 1, px_inner_square, px_inner_square)); +// +// // draw text +// memDC.DrawText(GUI::from_u8(item.text), text_x, icon_y + text_y_offset); +// +// // update y +// icon_y += icon_y_step; +// } +// +// memDC.SelectObject(wxNullBitmap); +// +// // Convert the bitmap into a linear data ready to be loaded into the GPU. +// { +// wxImage image = bitmap.ConvertToImage(); +// image.SetMaskColour(Background_Color[0], Background_Color[1], Background_Color[2]); +// +// // prepare buffer +// m_data.assign(4 * m_tex_width * m_tex_height, 0); +// for (unsigned int h = 0; h < m_tex_height; ++h) +// { +// unsigned int hh = h * m_tex_width; +// unsigned char* px_ptr = m_data.data() + 4 * hh; +// for (unsigned int w = 0; w < m_tex_width; ++w) +// { +// *px_ptr++ = image.GetRed(w, h); +// *px_ptr++ = image.GetGreen(w, h); +// *px_ptr++ = image.GetBlue(w, h); +// *px_ptr++ = image.IsTransparent(w, h) ? 0 : Opacity; +// } +// } +// } +// return true; +//} +//########################################################################################################################################3 + void _3DScene::init_gl() { s_canvas_mgr.init_gl(); @@ -2223,36 +2446,60 @@ void _3DScene::generate_legend_texture(const GCodePreviewData& preview_data, con s_legend_texture.generate(preview_data, tool_colors); } -unsigned int _3DScene::get_legend_texture_width() -{ - return s_legend_texture.get_texture_width(); -} - -unsigned int _3DScene::get_legend_texture_height() -{ - return s_legend_texture.get_texture_height(); -} +//################################################################################################################################################### +//unsigned int _3DScene::get_legend_texture_width() +//{ +// return s_legend_texture.get_texture_width(); +//} +// +//unsigned int _3DScene::get_legend_texture_height() +//{ +// return s_legend_texture.get_texture_height(); +//} +//################################################################################################################################################### void _3DScene::reset_legend_texture() { - s_legend_texture.reset_texture(); +//################################################################################################################################################### + s_legend_texture.reset(); +// s_legend_texture.reset_texture(); +//################################################################################################################################################### } -unsigned int _3DScene::finalize_legend_texture() +//################################################################################################################################################### +unsigned int _3DScene::get_legend_texture_id() { - return s_legend_texture.finalize(); + return s_legend_texture.get_id(); } -unsigned int _3DScene::get_warning_texture_width() +int _3DScene::get_legend_texture_width() { - return s_warning_texture.get_texture_width(); + return s_legend_texture.get_width(); } -unsigned int _3DScene::get_warning_texture_height() +int _3DScene::get_legend_texture_height() { - return s_warning_texture.get_texture_height(); + return s_legend_texture.get_height(); } +//unsigned int _3DScene::finalize_legend_texture() +//{ +// return s_legend_texture.finalize(); +//} +//################################################################################################################################################### + +//################################################################################################################################################### +//unsigned int _3DScene::get_warning_texture_width() +//{ +// return s_warning_texture.get_texture_width(); +//} +// +//unsigned int _3DScene::get_warning_texture_height() +//{ +// return s_warning_texture.get_texture_height(); +//} +//################################################################################################################################################### + void _3DScene::generate_warning_texture(const std::string& msg) { s_warning_texture.generate(msg); @@ -2260,12 +2507,32 @@ void _3DScene::generate_warning_texture(const std::string& msg) void _3DScene::reset_warning_texture() { - s_warning_texture.reset_texture(); +//################################################################################################################################################### + s_warning_texture.reset(); +// s_warning_texture.reset_texture(); +//################################################################################################################################################### } -unsigned int _3DScene::finalize_warning_texture() +//################################################################################################################################################### +unsigned int _3DScene::get_warning_texture_id() { - return s_warning_texture.finalize(); + return s_warning_texture.get_id(); } +int _3DScene::get_warning_texture_width() +{ + return s_warning_texture.get_width(); +} + +int _3DScene::get_warning_texture_height() +{ + return s_warning_texture.get_height(); +} + +//unsigned int _3DScene::finalize_warning_texture() +//{ +// return s_warning_texture.finalize(); +//} +//################################################################################################################################################### + } // namespace Slic3r diff --git a/xs/src/slic3r/GUI/3DScene.hpp b/xs/src/slic3r/GUI/3DScene.hpp index f7fc75db5..a0ec1e289 100644 --- a/xs/src/slic3r/GUI/3DScene.hpp +++ b/xs/src/slic3r/GUI/3DScene.hpp @@ -7,6 +7,9 @@ #include "../../libslic3r/TriangleMesh.hpp" #include "../../libslic3r/Utils.hpp" #include "../../slic3r/GUI/GLCanvas3DManager.hpp" +//################################################################################################################################# +#include "../../slic3r/GUI/GLTexture.hpp" +//################################################################################################################################# class wxBitmap; class wxWindow; @@ -199,10 +202,16 @@ private: } }; -class GLTexture +//########################################################################################################################################3 +class LayersTexture +//class GLTexture +//########################################################################################################################################3 { public: - GLTexture() : width(0), height(0), levels(0), cells(0) {} +//########################################################################################################################################3 + LayersTexture() : width(0), height(0), levels(0), cells(0) {} +// GLTexture() : width(0), height(0), levels(0), cells(0) {} +//########################################################################################################################################3 // Texture data std::vector data; @@ -341,7 +350,10 @@ public: void release_geometry() { this->indexed_vertex_array.release_geometry(); } /************************************************ Layer height texture ****************************************************/ - std::shared_ptr layer_height_texture; +//########################################################################################################################################3 + std::shared_ptr layer_height_texture; +// std::shared_ptr layer_height_texture; +//########################################################################################################################################3 // Data to render this volume using the layer height texture LayerHeightTextureData layer_height_texture_data; @@ -437,62 +449,92 @@ private: class _3DScene { - class TextureBase - { - protected: - unsigned int m_tex_id; - unsigned int m_tex_width; - unsigned int m_tex_height; +//################################################################################################################################################### +// class TextureBase +// { +// protected: +// unsigned int m_tex_id; +// unsigned int m_tex_width; +// unsigned int m_tex_height; +// +// // generate() fills in m_data with the pixels, while finalize() moves the data to the GPU before rendering. +// std::vector m_data; +// +// public: +// TextureBase() : m_tex_id(0), m_tex_width(0), m_tex_height(0) {} +// virtual ~TextureBase() { _destroy_texture(); } +// +// // If not loaded, load the texture data into the GPU. Return a texture ID or 0 if the texture has zero size. +// unsigned int finalize(); +// +// unsigned int get_texture_id() const { return m_tex_id; } +// unsigned int get_texture_width() const { return m_tex_width; } +// unsigned int get_texture_height() const { return m_tex_height; } +// +// void reset_texture() { _destroy_texture(); } +// +// private: +// void _destroy_texture(); +// }; +//################################################################################################################################################### - // generate() fills in m_data with the pixels, while finalize() moves the data to the GPU before rendering. - std::vector m_data; - - public: - TextureBase() : m_tex_id(0), m_tex_width(0), m_tex_height(0) {} - virtual ~TextureBase() { _destroy_texture(); } - - // If not loaded, load the texture data into the GPU. Return a texture ID or 0 if the texture has zero size. - unsigned int finalize(); - - unsigned int get_texture_id() const { return m_tex_id; } - unsigned int get_texture_width() const { return m_tex_width; } - unsigned int get_texture_height() const { return m_tex_height; } - - void reset_texture() { _destroy_texture(); } - - private: - void _destroy_texture(); - }; - - class WarningTexture : public TextureBase +//################################################################################################################################################### + class WarningTexture : public GUI::GLTexture { static const unsigned char Background_Color[3]; static const unsigned char Opacity; public: - WarningTexture() : TextureBase() {} - - // Generate a texture data, but don't load it into the GPU yet, as the glcontext may not be valid yet. bool generate(const std::string& msg); }; - class LegendTexture : public TextureBase +// class WarningTexture : public TextureBase +// { +// static const unsigned char Background_Color[3]; +// static const unsigned char Opacity; +// +// public: +// WarningTexture() : TextureBase() {} +// +// // Generate a texture data, but don't load it into the GPU yet, as the glcontext may not be valid yet. +// bool generate(const std::string& msg); +// }; +//################################################################################################################################################### + +//################################################################################################################################################### + class LegendTexture : public GUI::GLTexture { - static const unsigned int Px_Title_Offset = 5; - static const unsigned int Px_Text_Offset = 5; - static const unsigned int Px_Square = 20; - static const unsigned int Px_Square_Contour = 1; - static const unsigned int Px_Border = Px_Square / 2; + static const int Px_Title_Offset = 5; + static const int Px_Text_Offset = 5; + static const int Px_Square = 20; + static const int Px_Square_Contour = 1; + static const int Px_Border = Px_Square / 2; static const unsigned char Squares_Border_Color[3]; static const unsigned char Background_Color[3]; static const unsigned char Opacity; public: - LegendTexture() : TextureBase() {} - - // Generate a texture data, but don't load it into the GPU yet, as the glcontext may not be valid yet. bool generate(const GCodePreviewData& preview_data, const std::vector& tool_colors); }; + +// class LegendTexture : public TextureBase +// { +// static const unsigned int Px_Title_Offset = 5; +// static const unsigned int Px_Text_Offset = 5; +// static const unsigned int Px_Square = 20; +// static const unsigned int Px_Square_Contour = 1; +// static const unsigned int Px_Border = Px_Square / 2; +// static const unsigned char Squares_Border_Color[3]; +// static const unsigned char Background_Color[3]; +// static const unsigned char Opacity; +// +// public: +// LegendTexture() : TextureBase() {} +// +// // Generate a texture data, but don't load it into the GPU yet, as the glcontext may not be valid yet. +// bool generate(const GCodePreviewData& preview_data, const std::vector& tool_colors); +// }; +//################################################################################################################################################### static LegendTexture s_legend_texture; static WarningTexture s_warning_texture; @@ -599,19 +641,33 @@ public: // generates the legend texture in dependence of the current shown view type static void generate_legend_texture(const GCodePreviewData& preview_data, const std::vector& tool_colors); - static unsigned int get_legend_texture_width(); - static unsigned int get_legend_texture_height(); +//################################################################################################################################################### +// static unsigned int get_legend_texture_width(); +// static unsigned int get_legend_texture_height(); +//################################################################################################################################################### static void reset_legend_texture(); - static unsigned int finalize_legend_texture(); +//################################################################################################################################################### + static unsigned int get_legend_texture_id(); + static int get_legend_texture_width(); + static int get_legend_texture_height(); +// static unsigned int finalize_legend_texture(); +//################################################################################################################################################### - static unsigned int get_warning_texture_width(); - static unsigned int get_warning_texture_height(); +//################################################################################################################################################### +// static unsigned int get_warning_texture_width(); +// static unsigned int get_warning_texture_height(); +//################################################################################################################################################### // generates a warning texture containing the given message static void generate_warning_texture(const std::string& msg); static void reset_warning_texture(); - static unsigned int finalize_warning_texture(); +//################################################################################################################################################### + static unsigned int get_warning_texture_id(); + static int get_warning_texture_width(); + static int get_warning_texture_height(); +// static unsigned int finalize_warning_texture(); +//################################################################################################################################################### static void thick_lines_to_verts(const Lines& lines, const std::vector& widths, const std::vector& heights, bool closed, double top_z, GLVolume& volume); static void thick_lines_to_verts(const Lines3& lines, const std::vector& widths, const std::vector& heights, bool closed, GLVolume& volume); diff --git a/xs/src/slic3r/GUI/GLTexture.hpp b/xs/src/slic3r/GUI/GLTexture.hpp index 70480c605..43f4ba66d 100644 --- a/xs/src/slic3r/GUI/GLTexture.hpp +++ b/xs/src/slic3r/GUI/GLTexture.hpp @@ -10,7 +10,10 @@ namespace GUI { class GLTexture { - private: +//################################################################################################################################################### + protected: +// private: +//################################################################################################################################################### unsigned int m_id; int m_width; int m_height; @@ -18,7 +21,10 @@ namespace GUI { public: GLTexture(); - ~GLTexture(); +//################################################################################################################################################### + virtual ~GLTexture(); +// ~GLTexture(); +//################################################################################################################################################### bool load_from_file(const std::string& filename, bool generate_mipmaps); void reset(); @@ -26,11 +32,15 @@ namespace GUI { unsigned int get_id() const; int get_width() const; int get_height() const; + const std::string& get_source() const; static void render_texture(unsigned int tex_id, float left, float right, float bottom, float top); - private: +//################################################################################################################################################### + protected: +// private: +//################################################################################################################################################### void _generate_mipmaps(wxImage& image); }; diff --git a/xs/xsp/GUI_3DScene.xsp b/xs/xsp/GUI_3DScene.xsp index 65dfc8e8e..59568ba79 100644 --- a/xs/xsp/GUI_3DScene.xsp +++ b/xs/xsp/GUI_3DScene.xsp @@ -627,64 +627,12 @@ register_on_update_geometry_info_callback(canvas, callback) SV *callback; CODE: _3DScene::register_on_update_geometry_info_callback((wxGLCanvas*)wxPli_sv_2_object(aTHX_ canvas, "Wx::GLCanvas"), (void*)callback); - -unsigned int -finalize_legend_texture() - CODE: - RETVAL = _3DScene::finalize_legend_texture(); - OUTPUT: - RETVAL - -unsigned int -get_legend_texture_width() - CODE: - RETVAL = _3DScene::get_legend_texture_width(); - OUTPUT: - RETVAL - -unsigned int -get_legend_texture_height() - CODE: - RETVAL = _3DScene::get_legend_texture_height(); - OUTPUT: - RETVAL void reset_legend_texture() CODE: _3DScene::reset_legend_texture(); -void -generate_warning_texture(std::string msg) - CODE: - _3DScene::generate_warning_texture(msg); - -unsigned int -finalize_warning_texture() - CODE: - RETVAL = _3DScene::finalize_warning_texture(); - OUTPUT: - RETVAL - -unsigned int -get_warning_texture_width() - CODE: - RETVAL = _3DScene::get_warning_texture_width(); - OUTPUT: - RETVAL - -unsigned int -get_warning_texture_height() - CODE: - RETVAL = _3DScene::get_warning_texture_height(); - OUTPUT: - RETVAL - -void -reset_warning_texture() - CODE: - _3DScene::reset_warning_texture(); - std::vector load_model_object(canvas, model_object, obj_idx, instance_idxs) SV *canvas; From b57418f81d47dc8269597303a5312b927dd236e1 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 18 Jul 2018 15:08:55 +0200 Subject: [PATCH 10/47] Reordered the fields on the new "Machine limits" page. --- xs/src/slic3r/GUI/Tab.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/xs/src/slic3r/GUI/Tab.cpp b/xs/src/slic3r/GUI/Tab.cpp index 5bd2876e7..5d1c51eb3 100644 --- a/xs/src/slic3r/GUI/Tab.cpp +++ b/xs/src/slic3r/GUI/Tab.cpp @@ -1742,27 +1742,27 @@ PageShp TabPrinter::build_kinematics_page() } std::vector axes{ "x", "y", "z", "e" }; - auto optgroup = page->new_optgroup(_(L("Maximum accelerations"))); - for (const std::string &axis : axes) { - append_option_line(optgroup, "machine_max_acceleration_" + axis); - } - - optgroup = page->new_optgroup(_(L("Maximum feedrates"))); + auto optgroup = page->new_optgroup(_(L("Maximum feedrates"))); for (const std::string &axis : axes) { append_option_line(optgroup, "machine_max_feedrate_" + axis); } - optgroup = page->new_optgroup(_(L("Starting Acceleration"))); + optgroup = page->new_optgroup(_(L("Maximum accelerations"))); + for (const std::string &axis : axes) { + append_option_line(optgroup, "machine_max_acceleration_" + axis); + } append_option_line(optgroup, "machine_max_acceleration_extruding"); append_option_line(optgroup, "machine_max_acceleration_retracting"); - optgroup = page->new_optgroup(_(L("Advanced"))); - append_option_line(optgroup, "machine_min_extruding_rate"); - append_option_line(optgroup, "machine_min_travel_rate"); + optgroup = page->new_optgroup(_(L("Jerk limits"))); for (const std::string &axis : axes) { append_option_line(optgroup, "machine_max_jerk_" + axis); } + optgroup = page->new_optgroup(_(L("Minimum feedrates"))); + append_option_line(optgroup, "machine_min_extruding_rate"); + append_option_line(optgroup, "machine_min_travel_rate"); + return page; } From 13ced87089bcab24ee3c9e59282130117de5e39a Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Wed, 18 Jul 2018 15:09:26 +0200 Subject: [PATCH 11/47] Fixed depth test when rendering the picking texture --- xs/src/slic3r/GUI/GLCanvas3D.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/xs/src/slic3r/GUI/GLCanvas3D.cpp b/xs/src/slic3r/GUI/GLCanvas3D.cpp index 8eae6359b..9793e0f57 100644 --- a/xs/src/slic3r/GUI/GLCanvas3D.cpp +++ b/xs/src/slic3r/GUI/GLCanvas3D.cpp @@ -3446,6 +3446,7 @@ void GLCanvas3D::_picking_pass() const ::glDisable(GL_MULTISAMPLE); ::glDisable(GL_BLEND); + ::glEnable(GL_DEPTH_TEST); ::glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); From 7f267987cbb2dde3ff3204541bdf3768a723eaf7 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Wed, 18 Jul 2018 15:52:20 +0200 Subject: [PATCH 12/47] Code cleanup --- xs/src/slic3r/GUI/3DScene.cpp | 285 ------------------------------- xs/src/slic3r/GUI/3DScene.hpp | 92 +--------- xs/src/slic3r/GUI/GLCanvas3D.cpp | 4 +- xs/src/slic3r/GUI/GLTexture.hpp | 9 - 4 files changed, 4 insertions(+), 386 deletions(-) diff --git a/xs/src/slic3r/GUI/3DScene.cpp b/xs/src/slic3r/GUI/3DScene.cpp index bf69cb54e..565be4438 100644 --- a/xs/src/slic3r/GUI/3DScene.cpp +++ b/xs/src/slic3r/GUI/3DScene.cpp @@ -540,10 +540,7 @@ double GLVolume::layer_height_texture_z_to_row_id() const void GLVolume::generate_layer_height_texture(PrintObject *print_object, bool force) { -//########################################################################################################################################3 LayersTexture *tex = this->layer_height_texture.get(); -// GLTexture *tex = this->layer_height_texture.get(); -//########################################################################################################################################3 if (tex == nullptr) // No layer_height_texture is assigned to this GLVolume, therefore the layer height texture cannot be filled. return; @@ -591,10 +588,7 @@ std::vector GLVolumeCollection::load_object( }; // Object will have a single common layer height texture for all volumes. -//########################################################################################################################################3 std::shared_ptr layer_height_texture = std::make_shared(); -// std::shared_ptr layer_height_texture = std::make_shared(); -//########################################################################################################################################3 std::vector volumes_idx; for (int volume_idx = 0; volume_idx < int(model_object->volumes.size()); ++ volume_idx) { @@ -1599,41 +1593,9 @@ _3DScene::LegendTexture _3DScene::s_legend_texture; _3DScene::WarningTexture _3DScene::s_warning_texture; GUI::GLCanvas3DManager _3DScene::s_canvas_mgr; -//########################################################################################################################################3 -//unsigned int _3DScene::TextureBase::finalize() -//{ -// if ((m_tex_id == 0) && !m_data.empty()) { -// // sends buffer to gpu -// ::glPixelStorei(GL_UNPACK_ALIGNMENT, 1); -// ::glGenTextures(1, &m_tex_id); -// ::glBindTexture(GL_TEXTURE_2D, (GLuint)m_tex_id); -// ::glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, (GLsizei)m_tex_width, (GLsizei)m_tex_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, (const void*)m_data.data()); -// ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); -// ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); -// ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 1); -// ::glBindTexture(GL_TEXTURE_2D, 0); -// m_data.clear(); -// } -// return (m_tex_width > 0 && m_tex_height > 0) ? m_tex_id : 0; -//} -// -//void _3DScene::TextureBase::_destroy_texture() -//{ -// if (m_tex_id > 0) -// { -// ::glDeleteTextures(1, &m_tex_id); -// m_tex_id = 0; -// m_tex_height = 0; -// m_tex_width = 0; -// } -// m_data.clear(); -//} -//########################################################################################################################################3 - const unsigned char _3DScene::WarningTexture::Background_Color[3] = { 9, 91, 134 }; const unsigned char _3DScene::WarningTexture::Opacity = 255; -//########################################################################################################################################3 bool _3DScene::WarningTexture::generate(const std::string& msg) { reset(); @@ -1701,73 +1663,10 @@ bool _3DScene::WarningTexture::generate(const std::string& msg) return true; } -//// Generate a texture data, but don't load it into the GPU yet, as the GPU context may not yet be valid. -//bool _3DScene::WarningTexture::generate(const std::string& msg) -//{ -// // Mark the texture as released, but don't release the texture from the GPU yet. -// m_tex_width = m_tex_height = 0; -// m_data.clear(); -// -// if (msg.empty()) -// return false; -// -// wxMemoryDC memDC; -// // select default font -// memDC.SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT)); -// -// // calculates texture size -// wxCoord w, h; -// memDC.GetTextExtent(msg, &w, &h); -// m_tex_width = (unsigned int)w; -// m_tex_height = (unsigned int)h; -// -// // generates bitmap -// wxBitmap bitmap(m_tex_width, m_tex_height); -// -//#if defined(__APPLE__) || defined(_MSC_VER) -// bitmap.UseAlpha(); -//#endif -// -// memDC.SelectObject(bitmap); -// memDC.SetBackground(wxBrush(wxColour(Background_Color[0], Background_Color[1], Background_Color[2]))); -// memDC.Clear(); -// -// memDC.SetTextForeground(*wxWHITE); -// -// // draw message -// memDC.DrawText(msg, 0, 0); -// -// memDC.SelectObject(wxNullBitmap); -// -// // Convert the bitmap into a linear data ready to be loaded into the GPU. -// { -// wxImage image = bitmap.ConvertToImage(); -// image.SetMaskColour(Background_Color[0], Background_Color[1], Background_Color[2]); -// -// // prepare buffer -// m_data.assign(4 * m_tex_width * m_tex_height, 0); -// for (unsigned int h = 0; h < m_tex_height; ++h) -// { -// unsigned int hh = h * m_tex_width; -// unsigned char* px_ptr = m_data.data() + 4 * hh; -// for (unsigned int w = 0; w < m_tex_width; ++w) -// { -// *px_ptr++ = image.GetRed(w, h); -// *px_ptr++ = image.GetGreen(w, h); -// *px_ptr++ = image.GetBlue(w, h); -// *px_ptr++ = image.IsTransparent(w, h) ? 0 : Opacity; -// } -// } -// } -// return true; -//} -//########################################################################################################################################3 - const unsigned char _3DScene::LegendTexture::Squares_Border_Color[3] = { 64, 64, 64 }; const unsigned char _3DScene::LegendTexture::Background_Color[3] = { 9, 91, 134 }; const unsigned char _3DScene::LegendTexture::Opacity = 255; -//########################################################################################################################################3 bool _3DScene::LegendTexture::generate(const GCodePreviewData& preview_data, const std::vector& tool_colors) { reset(); @@ -1912,146 +1811,6 @@ bool _3DScene::LegendTexture::generate(const GCodePreviewData& preview_data, con return true; } - -//// Generate a texture data, but don't load it into the GPU yet, as the GPU context may not yet be valid. -//bool _3DScene::LegendTexture::generate(const GCodePreviewData& preview_data, const std::vector& tool_colors) -//{ -// // Mark the texture as released, but don't release the texture from the GPU yet. -// m_tex_width = m_tex_height = 0; -// m_data.clear(); -// -// // collects items to render -// auto title = _(preview_data.get_legend_title()); -// const GCodePreviewData::LegendItemsList& items = preview_data.get_legend_items(tool_colors); -// -// unsigned int items_count = (unsigned int)items.size(); -// if (items_count == 0) -// // nothing to render, return -// return false; -// -// wxMemoryDC memDC; -// // select default font -// memDC.SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT)); -// -// // calculates texture size -// wxCoord w, h; -// memDC.GetTextExtent(title, &w, &h); -// unsigned int title_width = (unsigned int)w; -// unsigned int title_height = (unsigned int)h; -// -// unsigned int max_text_width = 0; -// unsigned int max_text_height = 0; -// for (const GCodePreviewData::LegendItem& item : items) -// { -// memDC.GetTextExtent(GUI::from_u8(item.text), &w, &h); -// max_text_width = std::max(max_text_width, (unsigned int)w); -// max_text_height = std::max(max_text_height, (unsigned int)h); -// } -// -// m_tex_width = std::max(2 * Px_Border + title_width, 2 * (Px_Border + Px_Square_Contour) + Px_Square + Px_Text_Offset + max_text_width); -// m_tex_height = 2 * (Px_Border + Px_Square_Contour) + title_height + Px_Title_Offset + items_count * Px_Square; -// if (items_count > 1) -// m_tex_height += (items_count - 1) * Px_Square_Contour; -// -// // generates bitmap -// wxBitmap bitmap(m_tex_width, m_tex_height); -// -//#if defined(__APPLE__) || defined(_MSC_VER) -// bitmap.UseAlpha(); -//#endif -// -// memDC.SelectObject(bitmap); -// memDC.SetBackground(wxBrush(wxColour(Background_Color[0], Background_Color[1], Background_Color[2]))); -// memDC.Clear(); -// -// memDC.SetTextForeground(*wxWHITE); -// -// // draw title -// unsigned int title_x = Px_Border; -// unsigned int title_y = Px_Border; -// memDC.DrawText(title, title_x, title_y); -// -// // draw icons contours as background -// unsigned int squares_contour_x = Px_Border; -// unsigned int squares_contour_y = Px_Border + title_height + Px_Title_Offset; -// unsigned int squares_contour_width = Px_Square + 2 * Px_Square_Contour; -// unsigned int squares_contour_height = items_count * Px_Square + 2 * Px_Square_Contour; -// if (items_count > 1) -// squares_contour_height += (items_count - 1) * Px_Square_Contour; -// -// wxColour color(Squares_Border_Color[0], Squares_Border_Color[1], Squares_Border_Color[2]); -// wxPen pen(color); -// wxBrush brush(color); -// memDC.SetPen(pen); -// memDC.SetBrush(brush); -// memDC.DrawRectangle(wxRect(squares_contour_x, squares_contour_y, squares_contour_width, squares_contour_height)); -// -// // draw items (colored icon + text) -// unsigned int icon_x = squares_contour_x + Px_Square_Contour; -// unsigned int icon_x_inner = icon_x + 1; -// unsigned int icon_y = squares_contour_y + Px_Square_Contour; -// unsigned int icon_y_step = Px_Square + Px_Square_Contour; -// -// unsigned int text_x = icon_x + Px_Square + Px_Text_Offset; -// unsigned int text_y_offset = (Px_Square - max_text_height) / 2; -// -// unsigned int px_inner_square = Px_Square - 2; -// -// for (const GCodePreviewData::LegendItem& item : items) -// { -// // draw darker icon perimeter -// const std::vector& item_color_bytes = item.color.as_bytes(); -// wxImage::HSVValue dark_hsv = wxImage::RGBtoHSV(wxImage::RGBValue(item_color_bytes[0], item_color_bytes[1], item_color_bytes[2])); -// dark_hsv.value *= 0.75; -// wxImage::RGBValue dark_rgb = wxImage::HSVtoRGB(dark_hsv); -// color.Set(dark_rgb.red, dark_rgb.green, dark_rgb.blue, item_color_bytes[3]); -// pen.SetColour(color); -// brush.SetColour(color); -// memDC.SetPen(pen); -// memDC.SetBrush(brush); -// memDC.DrawRectangle(wxRect(icon_x, icon_y, Px_Square, Px_Square)); -// -// // draw icon interior -// color.Set(item_color_bytes[0], item_color_bytes[1], item_color_bytes[2], item_color_bytes[3]); -// pen.SetColour(color); -// brush.SetColour(color); -// memDC.SetPen(pen); -// memDC.SetBrush(brush); -// memDC.DrawRectangle(wxRect(icon_x_inner, icon_y + 1, px_inner_square, px_inner_square)); -// -// // draw text -// memDC.DrawText(GUI::from_u8(item.text), text_x, icon_y + text_y_offset); -// -// // update y -// icon_y += icon_y_step; -// } -// -// memDC.SelectObject(wxNullBitmap); -// -// // Convert the bitmap into a linear data ready to be loaded into the GPU. -// { -// wxImage image = bitmap.ConvertToImage(); -// image.SetMaskColour(Background_Color[0], Background_Color[1], Background_Color[2]); -// -// // prepare buffer -// m_data.assign(4 * m_tex_width * m_tex_height, 0); -// for (unsigned int h = 0; h < m_tex_height; ++h) -// { -// unsigned int hh = h * m_tex_width; -// unsigned char* px_ptr = m_data.data() + 4 * hh; -// for (unsigned int w = 0; w < m_tex_width; ++w) -// { -// *px_ptr++ = image.GetRed(w, h); -// *px_ptr++ = image.GetGreen(w, h); -// *px_ptr++ = image.GetBlue(w, h); -// *px_ptr++ = image.IsTransparent(w, h) ? 0 : Opacity; -// } -// } -// } -// return true; -//} -//########################################################################################################################################3 - void _3DScene::init_gl() { s_canvas_mgr.init_gl(); @@ -2459,27 +2218,11 @@ void _3DScene::generate_legend_texture(const GCodePreviewData& preview_data, con s_legend_texture.generate(preview_data, tool_colors); } -//################################################################################################################################################### -//unsigned int _3DScene::get_legend_texture_width() -//{ -// return s_legend_texture.get_texture_width(); -//} -// -//unsigned int _3DScene::get_legend_texture_height() -//{ -// return s_legend_texture.get_texture_height(); -//} -//################################################################################################################################################### - void _3DScene::reset_legend_texture() { -//################################################################################################################################################### s_legend_texture.reset(); -// s_legend_texture.reset_texture(); -//################################################################################################################################################### } -//################################################################################################################################################### unsigned int _3DScene::get_legend_texture_id() { return s_legend_texture.get_id(); @@ -2495,24 +2238,6 @@ int _3DScene::get_legend_texture_height() return s_legend_texture.get_height(); } -//unsigned int _3DScene::finalize_legend_texture() -//{ -// return s_legend_texture.finalize(); -//} -//################################################################################################################################################### - -//################################################################################################################################################### -//unsigned int _3DScene::get_warning_texture_width() -//{ -// return s_warning_texture.get_texture_width(); -//} -// -//unsigned int _3DScene::get_warning_texture_height() -//{ -// return s_warning_texture.get_texture_height(); -//} -//################################################################################################################################################### - void _3DScene::generate_warning_texture(const std::string& msg) { s_warning_texture.generate(msg); @@ -2520,13 +2245,9 @@ void _3DScene::generate_warning_texture(const std::string& msg) void _3DScene::reset_warning_texture() { -//################################################################################################################################################### s_warning_texture.reset(); -// s_warning_texture.reset_texture(); -//################################################################################################################################################### } -//################################################################################################################################################### unsigned int _3DScene::get_warning_texture_id() { return s_warning_texture.get_id(); @@ -2542,10 +2263,4 @@ int _3DScene::get_warning_texture_height() return s_warning_texture.get_height(); } -//unsigned int _3DScene::finalize_warning_texture() -//{ -// return s_warning_texture.finalize(); -//} -//################################################################################################################################################### - } // namespace Slic3r diff --git a/xs/src/slic3r/GUI/3DScene.hpp b/xs/src/slic3r/GUI/3DScene.hpp index 7ed8e2392..4103d59f3 100644 --- a/xs/src/slic3r/GUI/3DScene.hpp +++ b/xs/src/slic3r/GUI/3DScene.hpp @@ -8,9 +8,7 @@ #include "../../libslic3r/Utils.hpp" #include "../../libslic3r/Model.hpp" #include "../../slic3r/GUI/GLCanvas3DManager.hpp" -//################################################################################################################################# #include "../../slic3r/GUI/GLTexture.hpp" -//################################################################################################################################# class wxBitmap; class wxWindow; @@ -203,16 +201,10 @@ private: } }; -//########################################################################################################################################3 class LayersTexture -//class GLTexture -//########################################################################################################################################3 { public: -//########################################################################################################################################3 LayersTexture() : width(0), height(0), levels(0), cells(0) {} -// GLTexture() : width(0), height(0), levels(0), cells(0) {} -//########################################################################################################################################3 // Texture data std::vector data; @@ -351,10 +343,7 @@ public: void release_geometry() { this->indexed_vertex_array.release_geometry(); } /************************************************ Layer height texture ****************************************************/ -//########################################################################################################################################3 std::shared_ptr layer_height_texture; -// std::shared_ptr layer_height_texture; -//########################################################################################################################################3 // Data to render this volume using the layer height texture LayerHeightTextureData layer_height_texture_data; @@ -452,36 +441,6 @@ private: class _3DScene { -//################################################################################################################################################### -// class TextureBase -// { -// protected: -// unsigned int m_tex_id; -// unsigned int m_tex_width; -// unsigned int m_tex_height; -// -// // generate() fills in m_data with the pixels, while finalize() moves the data to the GPU before rendering. -// std::vector m_data; -// -// public: -// TextureBase() : m_tex_id(0), m_tex_width(0), m_tex_height(0) {} -// virtual ~TextureBase() { _destroy_texture(); } -// -// // If not loaded, load the texture data into the GPU. Return a texture ID or 0 if the texture has zero size. -// unsigned int finalize(); -// -// unsigned int get_texture_id() const { return m_tex_id; } -// unsigned int get_texture_width() const { return m_tex_width; } -// unsigned int get_texture_height() const { return m_tex_height; } -// -// void reset_texture() { _destroy_texture(); } -// -// private: -// void _destroy_texture(); -// }; -//################################################################################################################################################### - -//################################################################################################################################################### class WarningTexture : public GUI::GLTexture { static const unsigned char Background_Color[3]; @@ -491,20 +450,6 @@ class _3DScene bool generate(const std::string& msg); }; -// class WarningTexture : public TextureBase -// { -// static const unsigned char Background_Color[3]; -// static const unsigned char Opacity; -// -// public: -// WarningTexture() : TextureBase() {} -// -// // Generate a texture data, but don't load it into the GPU yet, as the glcontext may not be valid yet. -// bool generate(const std::string& msg); -// }; -//################################################################################################################################################### - -//################################################################################################################################################### class LegendTexture : public GUI::GLTexture { static const int Px_Title_Offset = 5; @@ -520,25 +465,6 @@ class _3DScene bool generate(const GCodePreviewData& preview_data, const std::vector& tool_colors); }; -// class LegendTexture : public TextureBase -// { -// static const unsigned int Px_Title_Offset = 5; -// static const unsigned int Px_Text_Offset = 5; -// static const unsigned int Px_Square = 20; -// static const unsigned int Px_Square_Contour = 1; -// static const unsigned int Px_Border = Px_Square / 2; -// static const unsigned char Squares_Border_Color[3]; -// static const unsigned char Background_Color[3]; -// static const unsigned char Opacity; -// -// public: -// LegendTexture() : TextureBase() {} -// -// // Generate a texture data, but don't load it into the GPU yet, as the glcontext may not be valid yet. -// bool generate(const GCodePreviewData& preview_data, const std::vector& tool_colors); -// }; -//################################################################################################################################################### - static LegendTexture s_legend_texture; static WarningTexture s_warning_texture; static GUI::GLCanvas3DManager s_canvas_mgr; @@ -644,33 +570,19 @@ public: // generates the legend texture in dependence of the current shown view type static void generate_legend_texture(const GCodePreviewData& preview_data, const std::vector& tool_colors); -//################################################################################################################################################### -// static unsigned int get_legend_texture_width(); -// static unsigned int get_legend_texture_height(); -//################################################################################################################################################### - static void reset_legend_texture(); -//################################################################################################################################################### + static unsigned int get_legend_texture_id(); static int get_legend_texture_width(); static int get_legend_texture_height(); -// static unsigned int finalize_legend_texture(); -//################################################################################################################################################### - -//################################################################################################################################################### -// static unsigned int get_warning_texture_width(); -// static unsigned int get_warning_texture_height(); -//################################################################################################################################################### // generates a warning texture containing the given message static void generate_warning_texture(const std::string& msg); static void reset_warning_texture(); -//################################################################################################################################################### + static unsigned int get_warning_texture_id(); static int get_warning_texture_width(); static int get_warning_texture_height(); -// static unsigned int finalize_warning_texture(); -//################################################################################################################################################### static void thick_lines_to_verts(const Lines& lines, const std::vector& widths, const std::vector& heights, bool closed, double top_z, GLVolume& volume); static void thick_lines_to_verts(const Lines3& lines, const std::vector& widths, const std::vector& heights, bool closed, GLVolume& volume); diff --git a/xs/src/slic3r/GUI/GLCanvas3D.cpp b/xs/src/slic3r/GUI/GLCanvas3D.cpp index 9793e0f57..694923d73 100644 --- a/xs/src/slic3r/GUI/GLCanvas3D.cpp +++ b/xs/src/slic3r/GUI/GLCanvas3D.cpp @@ -3594,7 +3594,7 @@ void GLCanvas3D::_render_warning_texture() const return; // If the warning texture has not been loaded into the GPU, do it now. - unsigned int tex_id = _3DScene::finalize_warning_texture(); + unsigned int tex_id = _3DScene::get_warning_texture_id(); if (tex_id > 0) { unsigned int w = _3DScene::get_warning_texture_width(); @@ -3627,7 +3627,7 @@ void GLCanvas3D::_render_legend_texture() const return; // If the legend texture has not been loaded into the GPU, do it now. - unsigned int tex_id = _3DScene::finalize_legend_texture(); + unsigned int tex_id = _3DScene::get_legend_texture_id(); if (tex_id > 0) { unsigned int w = _3DScene::get_legend_texture_width(); diff --git a/xs/src/slic3r/GUI/GLTexture.hpp b/xs/src/slic3r/GUI/GLTexture.hpp index 43f4ba66d..2e936161e 100644 --- a/xs/src/slic3r/GUI/GLTexture.hpp +++ b/xs/src/slic3r/GUI/GLTexture.hpp @@ -10,10 +10,7 @@ namespace GUI { class GLTexture { -//################################################################################################################################################### protected: -// private: -//################################################################################################################################################### unsigned int m_id; int m_width; int m_height; @@ -21,10 +18,7 @@ namespace GUI { public: GLTexture(); -//################################################################################################################################################### virtual ~GLTexture(); -// ~GLTexture(); -//################################################################################################################################################### bool load_from_file(const std::string& filename, bool generate_mipmaps); void reset(); @@ -37,10 +31,7 @@ namespace GUI { static void render_texture(unsigned int tex_id, float left, float right, float bottom, float top); -//################################################################################################################################################### protected: -// private: -//################################################################################################################################################### void _generate_mipmaps(wxImage& image); }; From 678be2b31702c41605b409f388189b1f40ab96c6 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Thu, 19 Jul 2018 11:24:04 +0200 Subject: [PATCH 13/47] Fixed update of rotate gizmo when selecting objects --- xs/src/slic3r/GUI/GLCanvas3D.cpp | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/xs/src/slic3r/GUI/GLCanvas3D.cpp b/xs/src/slic3r/GUI/GLCanvas3D.cpp index 694923d73..c020f1ad1 100644 --- a/xs/src/slic3r/GUI/GLCanvas3D.cpp +++ b/xs/src/slic3r/GUI/GLCanvas3D.cpp @@ -1918,23 +1918,8 @@ void GLCanvas3D::update_gizmos_data() ModelInstance* model_instance = model_object->instances[0]; if (model_instance != nullptr) { - switch (m_gizmos.get_current_type()) - { - case Gizmos::Scale: - { - m_gizmos.set_scale(model_instance->scaling_factor); - break; - } - case Gizmos::Rotate: - { - m_gizmos.set_angle_z(model_instance->rotation); - break; - } - default: - { - break; - } - } + m_gizmos.set_scale(model_instance->scaling_factor); + m_gizmos.set_angle_z(model_instance->rotation); } } } From 5ff26bce5084d54f0c609ea8d7e9158af1b0d9a9 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Thu, 19 Jul 2018 11:39:51 +0200 Subject: [PATCH 14/47] Fixed update of gizmo when deleting all objects --- xs/src/slic3r/GUI/GLCanvas3D.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/xs/src/slic3r/GUI/GLCanvas3D.cpp b/xs/src/slic3r/GUI/GLCanvas3D.cpp index c020f1ad1..ddc4feec9 100644 --- a/xs/src/slic3r/GUI/GLCanvas3D.cpp +++ b/xs/src/slic3r/GUI/GLCanvas3D.cpp @@ -1923,6 +1923,11 @@ void GLCanvas3D::update_gizmos_data() } } } + else + { + m_gizmos.set_scale(1.0f); + m_gizmos.set_angle_z(0.0f); + } } void GLCanvas3D::render() From 63fe2a9fb960ce6b74609dd0f5329f4c69b38bfb Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Thu, 19 Jul 2018 13:18:19 +0200 Subject: [PATCH 15/47] Warning and legend textures moved from _3DScene class to GLCanvas3D class --- xs/src/slic3r/GUI/3DScene.cpp | 272 +---------------------- xs/src/slic3r/GUI/3DScene.hpp | 41 ---- xs/src/slic3r/GUI/GLCanvas3D.cpp | 278 +++++++++++++++++++++++- xs/src/slic3r/GUI/GLCanvas3D.hpp | 35 +++ xs/src/slic3r/GUI/GLCanvas3DManager.cpp | 9 + xs/src/slic3r/GUI/GLCanvas3DManager.hpp | 2 + 6 files changed, 313 insertions(+), 324 deletions(-) diff --git a/xs/src/slic3r/GUI/3DScene.cpp b/xs/src/slic3r/GUI/3DScene.cpp index 565be4438..2ffd788eb 100644 --- a/xs/src/slic3r/GUI/3DScene.cpp +++ b/xs/src/slic3r/GUI/3DScene.cpp @@ -22,11 +22,6 @@ #include #include -#include -#include -#include -#include - #include #include "GUI.hpp" @@ -1589,228 +1584,8 @@ void _3DScene::point3_to_verts(const Point3& point, double width, double height, thick_point_to_verts(point, width, height, volume); } -_3DScene::LegendTexture _3DScene::s_legend_texture; -_3DScene::WarningTexture _3DScene::s_warning_texture; GUI::GLCanvas3DManager _3DScene::s_canvas_mgr; -const unsigned char _3DScene::WarningTexture::Background_Color[3] = { 9, 91, 134 }; -const unsigned char _3DScene::WarningTexture::Opacity = 255; - -bool _3DScene::WarningTexture::generate(const std::string& msg) -{ - reset(); - - if (msg.empty()) - return false; - - wxMemoryDC memDC; - // select default font - memDC.SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT)); - - // calculates texture size - wxCoord w, h; - memDC.GetTextExtent(msg, &w, &h); - m_width = (int)w; - m_height = (int)h; - - // generates bitmap - wxBitmap bitmap(m_width, m_height); - -#if defined(__APPLE__) || defined(_MSC_VER) - bitmap.UseAlpha(); -#endif - - memDC.SelectObject(bitmap); - memDC.SetBackground(wxBrush(wxColour(Background_Color[0], Background_Color[1], Background_Color[2]))); - memDC.Clear(); - - memDC.SetTextForeground(*wxWHITE); - - // draw message - memDC.DrawText(msg, 0, 0); - - memDC.SelectObject(wxNullBitmap); - - // Convert the bitmap into a linear data ready to be loaded into the GPU. - wxImage image = bitmap.ConvertToImage(); - image.SetMaskColour(Background_Color[0], Background_Color[1], Background_Color[2]); - - // prepare buffer - std::vector data(4 * m_width * m_height, 0); - for (int h = 0; h < m_height; ++h) - { - int hh = h * m_width; - unsigned char* px_ptr = data.data() + 4 * hh; - for (int w = 0; w < m_width; ++w) - { - *px_ptr++ = image.GetRed(w, h); - *px_ptr++ = image.GetGreen(w, h); - *px_ptr++ = image.GetBlue(w, h); - *px_ptr++ = image.IsTransparent(w, h) ? 0 : Opacity; - } - } - - // sends buffer to gpu - ::glPixelStorei(GL_UNPACK_ALIGNMENT, 1); - ::glGenTextures(1, &m_id); - ::glBindTexture(GL_TEXTURE_2D, (GLuint)m_id); - ::glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, (GLsizei)m_width, (GLsizei)m_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, (const void*)data.data()); - ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 1); - ::glBindTexture(GL_TEXTURE_2D, 0); - - return true; -} - -const unsigned char _3DScene::LegendTexture::Squares_Border_Color[3] = { 64, 64, 64 }; -const unsigned char _3DScene::LegendTexture::Background_Color[3] = { 9, 91, 134 }; -const unsigned char _3DScene::LegendTexture::Opacity = 255; - -bool _3DScene::LegendTexture::generate(const GCodePreviewData& preview_data, const std::vector& tool_colors) -{ - reset(); - - // collects items to render - auto title = _(preview_data.get_legend_title()); - const GCodePreviewData::LegendItemsList& items = preview_data.get_legend_items(tool_colors); - - unsigned int items_count = (unsigned int)items.size(); - if (items_count == 0) - // nothing to render, return - return false; - - wxMemoryDC memDC; - // select default font - memDC.SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT)); - - // calculates texture size - wxCoord w, h; - memDC.GetTextExtent(title, &w, &h); - int title_width = (int)w; - int title_height = (int)h; - - int max_text_width = 0; - int max_text_height = 0; - for (const GCodePreviewData::LegendItem& item : items) - { - memDC.GetTextExtent(GUI::from_u8(item.text), &w, &h); - max_text_width = std::max(max_text_width, (int)w); - max_text_height = std::max(max_text_height, (int)h); - } - - m_width = std::max(2 * Px_Border + title_width, 2 * (Px_Border + Px_Square_Contour) + Px_Square + Px_Text_Offset + max_text_width); - m_height = 2 * (Px_Border + Px_Square_Contour) + title_height + Px_Title_Offset + items_count * Px_Square; - if (items_count > 1) - m_height += (items_count - 1) * Px_Square_Contour; - - // generates bitmap - wxBitmap bitmap(m_width, m_height); - -#if defined(__APPLE__) || defined(_MSC_VER) - bitmap.UseAlpha(); -#endif - - memDC.SelectObject(bitmap); - memDC.SetBackground(wxBrush(wxColour(Background_Color[0], Background_Color[1], Background_Color[2]))); - memDC.Clear(); - - memDC.SetTextForeground(*wxWHITE); - - // draw title - int title_x = Px_Border; - int title_y = Px_Border; - memDC.DrawText(title, title_x, title_y); - - // draw icons contours as background - int squares_contour_x = Px_Border; - int squares_contour_y = Px_Border + title_height + Px_Title_Offset; - int squares_contour_width = Px_Square + 2 * Px_Square_Contour; - int squares_contour_height = items_count * Px_Square + 2 * Px_Square_Contour; - if (items_count > 1) - squares_contour_height += (items_count - 1) * Px_Square_Contour; - - wxColour color(Squares_Border_Color[0], Squares_Border_Color[1], Squares_Border_Color[2]); - wxPen pen(color); - wxBrush brush(color); - memDC.SetPen(pen); - memDC.SetBrush(brush); - memDC.DrawRectangle(wxRect(squares_contour_x, squares_contour_y, squares_contour_width, squares_contour_height)); - - // draw items (colored icon + text) - int icon_x = squares_contour_x + Px_Square_Contour; - int icon_x_inner = icon_x + 1; - int icon_y = squares_contour_y + Px_Square_Contour; - int icon_y_step = Px_Square + Px_Square_Contour; - - int text_x = icon_x + Px_Square + Px_Text_Offset; - int text_y_offset = (Px_Square - max_text_height) / 2; - - int px_inner_square = Px_Square - 2; - - for (const GCodePreviewData::LegendItem& item : items) - { - // draw darker icon perimeter - const std::vector& item_color_bytes = item.color.as_bytes(); - wxImage::HSVValue dark_hsv = wxImage::RGBtoHSV(wxImage::RGBValue(item_color_bytes[0], item_color_bytes[1], item_color_bytes[2])); - dark_hsv.value *= 0.75; - wxImage::RGBValue dark_rgb = wxImage::HSVtoRGB(dark_hsv); - color.Set(dark_rgb.red, dark_rgb.green, dark_rgb.blue, item_color_bytes[3]); - pen.SetColour(color); - brush.SetColour(color); - memDC.SetPen(pen); - memDC.SetBrush(brush); - memDC.DrawRectangle(wxRect(icon_x, icon_y, Px_Square, Px_Square)); - - // draw icon interior - color.Set(item_color_bytes[0], item_color_bytes[1], item_color_bytes[2], item_color_bytes[3]); - pen.SetColour(color); - brush.SetColour(color); - memDC.SetPen(pen); - memDC.SetBrush(brush); - memDC.DrawRectangle(wxRect(icon_x_inner, icon_y + 1, px_inner_square, px_inner_square)); - - // draw text - memDC.DrawText(GUI::from_u8(item.text), text_x, icon_y + text_y_offset); - - // update y - icon_y += icon_y_step; - } - - memDC.SelectObject(wxNullBitmap); - - // Convert the bitmap into a linear data ready to be loaded into the GPU. - wxImage image = bitmap.ConvertToImage(); - image.SetMaskColour(Background_Color[0], Background_Color[1], Background_Color[2]); - - // prepare buffer - std::vector data(4 * m_width * m_height, 0); - for (int h = 0; h < m_height; ++h) - { - int hh = h * m_width; - unsigned char* px_ptr = data.data() + 4 * hh; - for (int w = 0; w < m_width; ++w) - { - *px_ptr++ = image.GetRed(w, h); - *px_ptr++ = image.GetGreen(w, h); - *px_ptr++ = image.GetBlue(w, h); - *px_ptr++ = image.IsTransparent(w, h) ? 0 : Opacity; - } - } - - // sends buffer to gpu - ::glPixelStorei(GL_UNPACK_ALIGNMENT, 1); - ::glGenTextures(1, &m_id); - ::glBindTexture(GL_TEXTURE_2D, (GLuint)m_id); - ::glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, (GLsizei)m_width, (GLsizei)m_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, (const void*)data.data()); - ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 1); - ::glBindTexture(GL_TEXTURE_2D, 0); - - return true; -} - void _3DScene::init_gl() { s_canvas_mgr.init_gl(); @@ -2213,54 +1988,9 @@ void _3DScene::load_gcode_preview(wxGLCanvas* canvas, const GCodePreviewData* pr s_canvas_mgr.load_gcode_preview(canvas, preview_data, str_tool_colors); } -void _3DScene::generate_legend_texture(const GCodePreviewData& preview_data, const std::vector& tool_colors) -{ - s_legend_texture.generate(preview_data, tool_colors); -} - void _3DScene::reset_legend_texture() { - s_legend_texture.reset(); -} - -unsigned int _3DScene::get_legend_texture_id() -{ - return s_legend_texture.get_id(); -} - -int _3DScene::get_legend_texture_width() -{ - return s_legend_texture.get_width(); -} - -int _3DScene::get_legend_texture_height() -{ - return s_legend_texture.get_height(); -} - -void _3DScene::generate_warning_texture(const std::string& msg) -{ - s_warning_texture.generate(msg); -} - -void _3DScene::reset_warning_texture() -{ - s_warning_texture.reset(); -} - -unsigned int _3DScene::get_warning_texture_id() -{ - return s_warning_texture.get_id(); -} - -int _3DScene::get_warning_texture_width() -{ - return s_warning_texture.get_width(); -} - -int _3DScene::get_warning_texture_height() -{ - return s_warning_texture.get_height(); + s_canvas_mgr.reset_legend_texture(); } } // namespace Slic3r diff --git a/xs/src/slic3r/GUI/3DScene.hpp b/xs/src/slic3r/GUI/3DScene.hpp index 4103d59f3..a2ca1de7c 100644 --- a/xs/src/slic3r/GUI/3DScene.hpp +++ b/xs/src/slic3r/GUI/3DScene.hpp @@ -8,7 +8,6 @@ #include "../../libslic3r/Utils.hpp" #include "../../libslic3r/Model.hpp" #include "../../slic3r/GUI/GLCanvas3DManager.hpp" -#include "../../slic3r/GUI/GLTexture.hpp" class wxBitmap; class wxWindow; @@ -441,32 +440,6 @@ private: class _3DScene { - class WarningTexture : public GUI::GLTexture - { - static const unsigned char Background_Color[3]; - static const unsigned char Opacity; - - public: - bool generate(const std::string& msg); - }; - - class LegendTexture : public GUI::GLTexture - { - static const int Px_Title_Offset = 5; - static const int Px_Text_Offset = 5; - static const int Px_Square = 20; - static const int Px_Square_Contour = 1; - static const int Px_Border = Px_Square / 2; - static const unsigned char Squares_Border_Color[3]; - static const unsigned char Background_Color[3]; - static const unsigned char Opacity; - - public: - bool generate(const GCodePreviewData& preview_data, const std::vector& tool_colors); - }; - - static LegendTexture s_legend_texture; - static WarningTexture s_warning_texture; static GUI::GLCanvas3DManager s_canvas_mgr; public: @@ -568,22 +541,8 @@ public: static void load_wipe_tower_toolpaths(wxGLCanvas* canvas, const std::vector& str_tool_colors); static void load_gcode_preview(wxGLCanvas* canvas, const GCodePreviewData* preview_data, const std::vector& str_tool_colors); - // generates the legend texture in dependence of the current shown view type - static void generate_legend_texture(const GCodePreviewData& preview_data, const std::vector& tool_colors); static void reset_legend_texture(); - static unsigned int get_legend_texture_id(); - static int get_legend_texture_width(); - static int get_legend_texture_height(); - - // generates a warning texture containing the given message - static void generate_warning_texture(const std::string& msg); - static void reset_warning_texture(); - - static unsigned int get_warning_texture_id(); - static int get_warning_texture_width(); - static int get_warning_texture_height(); - static void thick_lines_to_verts(const Lines& lines, const std::vector& widths, const std::vector& heights, bool closed, double top_z, GLVolume& volume); static void thick_lines_to_verts(const Lines3& lines, const std::vector& widths, const std::vector& heights, bool closed, GLVolume& volume); static void extrusionentity_to_verts(const ExtrusionPath& extrusion_path, float print_z, GLVolume& volume); diff --git a/xs/src/slic3r/GUI/GLCanvas3D.cpp b/xs/src/slic3r/GUI/GLCanvas3D.cpp index ddc4feec9..684757c79 100644 --- a/xs/src/slic3r/GUI/GLCanvas3D.cpp +++ b/xs/src/slic3r/GUI/GLCanvas3D.cpp @@ -15,6 +15,10 @@ #include #include +#include +#include +#include +#include #include #include @@ -1457,6 +1461,224 @@ float GLCanvas3D::Gizmos::_get_total_overlay_height() const return height; } +const unsigned char GLCanvas3D::WarningTexture::Background_Color[3] = { 9, 91, 134 }; +const unsigned char GLCanvas3D::WarningTexture::Opacity = 255; + +bool GLCanvas3D::WarningTexture::generate(const std::string& msg) +{ + reset(); + + if (msg.empty()) + return false; + + wxMemoryDC memDC; + // select default font + memDC.SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT)); + + // calculates texture size + wxCoord w, h; + memDC.GetTextExtent(msg, &w, &h); + m_width = (int)w; + m_height = (int)h; + + // generates bitmap + wxBitmap bitmap(m_width, m_height); + +#if defined(__APPLE__) || defined(_MSC_VER) + bitmap.UseAlpha(); +#endif + + memDC.SelectObject(bitmap); + memDC.SetBackground(wxBrush(wxColour(Background_Color[0], Background_Color[1], Background_Color[2]))); + memDC.Clear(); + + memDC.SetTextForeground(*wxWHITE); + + // draw message + memDC.DrawText(msg, 0, 0); + + memDC.SelectObject(wxNullBitmap); + + // Convert the bitmap into a linear data ready to be loaded into the GPU. + wxImage image = bitmap.ConvertToImage(); + image.SetMaskColour(Background_Color[0], Background_Color[1], Background_Color[2]); + + // prepare buffer + std::vector data(4 * m_width * m_height, 0); + for (int h = 0; h < m_height; ++h) + { + int hh = h * m_width; + unsigned char* px_ptr = data.data() + 4 * hh; + for (int w = 0; w < m_width; ++w) + { + *px_ptr++ = image.GetRed(w, h); + *px_ptr++ = image.GetGreen(w, h); + *px_ptr++ = image.GetBlue(w, h); + *px_ptr++ = image.IsTransparent(w, h) ? 0 : Opacity; + } + } + + // sends buffer to gpu + ::glPixelStorei(GL_UNPACK_ALIGNMENT, 1); + ::glGenTextures(1, &m_id); + ::glBindTexture(GL_TEXTURE_2D, (GLuint)m_id); + ::glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, (GLsizei)m_width, (GLsizei)m_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, (const void*)data.data()); + ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 1); + ::glBindTexture(GL_TEXTURE_2D, 0); + + return true; +} + +const unsigned char GLCanvas3D::LegendTexture::Squares_Border_Color[3] = { 64, 64, 64 }; +const unsigned char GLCanvas3D::LegendTexture::Background_Color[3] = { 9, 91, 134 }; +const unsigned char GLCanvas3D::LegendTexture::Opacity = 255; + +bool GLCanvas3D::LegendTexture::generate(const GCodePreviewData& preview_data, const std::vector& tool_colors) +{ + reset(); + + // collects items to render + auto title = _(preview_data.get_legend_title()); + const GCodePreviewData::LegendItemsList& items = preview_data.get_legend_items(tool_colors); + + unsigned int items_count = (unsigned int)items.size(); + if (items_count == 0) + // nothing to render, return + return false; + + wxMemoryDC memDC; + // select default font + memDC.SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT)); + + // calculates texture size + wxCoord w, h; + memDC.GetTextExtent(title, &w, &h); + int title_width = (int)w; + int title_height = (int)h; + + int max_text_width = 0; + int max_text_height = 0; + for (const GCodePreviewData::LegendItem& item : items) + { + memDC.GetTextExtent(GUI::from_u8(item.text), &w, &h); + max_text_width = std::max(max_text_width, (int)w); + max_text_height = std::max(max_text_height, (int)h); + } + + m_width = std::max(2 * Px_Border + title_width, 2 * (Px_Border + Px_Square_Contour) + Px_Square + Px_Text_Offset + max_text_width); + m_height = 2 * (Px_Border + Px_Square_Contour) + title_height + Px_Title_Offset + items_count * Px_Square; + if (items_count > 1) + m_height += (items_count - 1) * Px_Square_Contour; + + // generates bitmap + wxBitmap bitmap(m_width, m_height); + +#if defined(__APPLE__) || defined(_MSC_VER) + bitmap.UseAlpha(); +#endif + + memDC.SelectObject(bitmap); + memDC.SetBackground(wxBrush(wxColour(Background_Color[0], Background_Color[1], Background_Color[2]))); + memDC.Clear(); + + memDC.SetTextForeground(*wxWHITE); + + // draw title + int title_x = Px_Border; + int title_y = Px_Border; + memDC.DrawText(title, title_x, title_y); + + // draw icons contours as background + int squares_contour_x = Px_Border; + int squares_contour_y = Px_Border + title_height + Px_Title_Offset; + int squares_contour_width = Px_Square + 2 * Px_Square_Contour; + int squares_contour_height = items_count * Px_Square + 2 * Px_Square_Contour; + if (items_count > 1) + squares_contour_height += (items_count - 1) * Px_Square_Contour; + + wxColour color(Squares_Border_Color[0], Squares_Border_Color[1], Squares_Border_Color[2]); + wxPen pen(color); + wxBrush brush(color); + memDC.SetPen(pen); + memDC.SetBrush(brush); + memDC.DrawRectangle(wxRect(squares_contour_x, squares_contour_y, squares_contour_width, squares_contour_height)); + + // draw items (colored icon + text) + int icon_x = squares_contour_x + Px_Square_Contour; + int icon_x_inner = icon_x + 1; + int icon_y = squares_contour_y + Px_Square_Contour; + int icon_y_step = Px_Square + Px_Square_Contour; + + int text_x = icon_x + Px_Square + Px_Text_Offset; + int text_y_offset = (Px_Square - max_text_height) / 2; + + int px_inner_square = Px_Square - 2; + + for (const GCodePreviewData::LegendItem& item : items) + { + // draw darker icon perimeter + const std::vector& item_color_bytes = item.color.as_bytes(); + wxImage::HSVValue dark_hsv = wxImage::RGBtoHSV(wxImage::RGBValue(item_color_bytes[0], item_color_bytes[1], item_color_bytes[2])); + dark_hsv.value *= 0.75; + wxImage::RGBValue dark_rgb = wxImage::HSVtoRGB(dark_hsv); + color.Set(dark_rgb.red, dark_rgb.green, dark_rgb.blue, item_color_bytes[3]); + pen.SetColour(color); + brush.SetColour(color); + memDC.SetPen(pen); + memDC.SetBrush(brush); + memDC.DrawRectangle(wxRect(icon_x, icon_y, Px_Square, Px_Square)); + + // draw icon interior + color.Set(item_color_bytes[0], item_color_bytes[1], item_color_bytes[2], item_color_bytes[3]); + pen.SetColour(color); + brush.SetColour(color); + memDC.SetPen(pen); + memDC.SetBrush(brush); + memDC.DrawRectangle(wxRect(icon_x_inner, icon_y + 1, px_inner_square, px_inner_square)); + + // draw text + memDC.DrawText(GUI::from_u8(item.text), text_x, icon_y + text_y_offset); + + // update y + icon_y += icon_y_step; + } + + memDC.SelectObject(wxNullBitmap); + + // Convert the bitmap into a linear data ready to be loaded into the GPU. + wxImage image = bitmap.ConvertToImage(); + image.SetMaskColour(Background_Color[0], Background_Color[1], Background_Color[2]); + + // prepare buffer + std::vector data(4 * m_width * m_height, 0); + for (int h = 0; h < m_height; ++h) + { + int hh = h * m_width; + unsigned char* px_ptr = data.data() + 4 * hh; + for (int w = 0; w < m_width; ++w) + { + *px_ptr++ = image.GetRed(w, h); + *px_ptr++ = image.GetGreen(w, h); + *px_ptr++ = image.GetBlue(w, h); + *px_ptr++ = image.IsTransparent(w, h) ? 0 : Opacity; + } + } + + // sends buffer to gpu + ::glPixelStorei(GL_UNPACK_ALIGNMENT, 1); + ::glGenTextures(1, &m_id); + ::glBindTexture(GL_TEXTURE_2D, (GLuint)m_id); + ::glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, (GLsizei)m_width, (GLsizei)m_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, (const void*)data.data()); + ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 1); + ::glBindTexture(GL_TEXTURE_2D, 0); + + return true; +} + GLGizmoBase* GLCanvas3D::Gizmos::_get_current() const { GizmosMap::const_iterator it = m_gizmos.find(m_current); @@ -2079,21 +2301,21 @@ void GLCanvas3D::reload_scene(bool force) if (!contained) { enable_warning_texture(true); - _3DScene::generate_warning_texture(L("Detected object outside print volume")); + _generate_warning_texture(L("Detected object outside print volume")); m_on_enable_action_buttons_callback.call(state == ModelInstance::PVS_Fully_Outside); } else { enable_warning_texture(false); m_volumes.reset_outside_state(); - _3DScene::reset_warning_texture(); + _reset_warning_texture(); m_on_enable_action_buttons_callback.call(!m_model->objects.empty()); } } else { enable_warning_texture(false); - _3DScene::reset_warning_texture(); + _reset_warning_texture(); m_on_enable_action_buttons_callback.call(false); } } @@ -2484,11 +2706,11 @@ void GLCanvas3D::load_gcode_preview(const GCodePreviewData& preview_data, const _load_gcode_unretractions(preview_data); if (m_volumes.empty()) - _3DScene::reset_legend_texture(); + reset_legend_texture(); else { - _3DScene::generate_legend_texture(preview_data, tool_colors); - + _generate_legend_texture(preview_data, tool_colors); + // removes empty volumes m_volumes.volumes.erase(std::remove_if(m_volumes.volumes.begin(), m_volumes.volumes.end(), [](const GLVolume* volume) { return volume->print_zs.empty(); }), m_volumes.volumes.end()); @@ -3176,6 +3398,14 @@ Point GLCanvas3D::get_local_mouse_position() const return Point(mouse_pos.x, mouse_pos.y); } +void GLCanvas3D::reset_legend_texture() +{ + if (!set_current()) + return; + + m_legend_texture.reset(); +} + bool GLCanvas3D::_is_shown_on_screen() const { return (m_canvas != nullptr) ? m_canvas->IsShownOnScreen() : false; @@ -3584,11 +3814,11 @@ void GLCanvas3D::_render_warning_texture() const return; // If the warning texture has not been loaded into the GPU, do it now. - unsigned int tex_id = _3DScene::get_warning_texture_id(); + unsigned int tex_id = m_warning_texture.get_id(); if (tex_id > 0) { - unsigned int w = _3DScene::get_warning_texture_width(); - unsigned int h = _3DScene::get_warning_texture_height(); + int w = m_warning_texture.get_width(); + int h = m_warning_texture.get_height(); if ((w > 0) && (h > 0)) { ::glDisable(GL_DEPTH_TEST); @@ -3617,11 +3847,11 @@ void GLCanvas3D::_render_legend_texture() const return; // If the legend texture has not been loaded into the GPU, do it now. - unsigned int tex_id = _3DScene::get_legend_texture_id(); + unsigned int tex_id = m_legend_texture.get_id(); if (tex_id > 0) { - unsigned int w = _3DScene::get_legend_texture_width(); - unsigned int h = _3DScene::get_legend_texture_height(); + int w = m_legend_texture.get_width(); + int h = m_legend_texture.get_height(); if ((w > 0) && (h > 0)) { ::glDisable(GL_DEPTH_TEST); @@ -4535,5 +4765,29 @@ std::vector GLCanvas3D::_parse_colors(const std::vector& col return output; } +void GLCanvas3D::_generate_legend_texture(const GCodePreviewData& preview_data, const std::vector& tool_colors) +{ + if (!set_current()) + return; + + m_legend_texture.generate(preview_data, tool_colors); +} + +void GLCanvas3D::_generate_warning_texture(const std::string& msg) +{ + if (!set_current()) + return; + + m_warning_texture.generate(msg); +} + +void GLCanvas3D::_reset_warning_texture() +{ + if (!set_current()) + return; + + m_warning_texture.reset(); +} + } // namespace GUI } // namespace Slic3r diff --git a/xs/src/slic3r/GUI/GLCanvas3D.hpp b/xs/src/slic3r/GUI/GLCanvas3D.hpp index cc998226b..d18ca0cab 100644 --- a/xs/src/slic3r/GUI/GLCanvas3D.hpp +++ b/xs/src/slic3r/GUI/GLCanvas3D.hpp @@ -394,9 +394,35 @@ public: GLGizmoBase* _get_current() const; }; + class WarningTexture : public GUI::GLTexture + { + static const unsigned char Background_Color[3]; + static const unsigned char Opacity; + + public: + bool generate(const std::string& msg); + }; + + class LegendTexture : public GUI::GLTexture + { + static const int Px_Title_Offset = 5; + static const int Px_Text_Offset = 5; + static const int Px_Square = 20; + static const int Px_Square_Contour = 1; + static const int Px_Border = Px_Square / 2; + static const unsigned char Squares_Border_Color[3]; + static const unsigned char Background_Color[3]; + static const unsigned char Opacity; + + public: + bool generate(const GCodePreviewData& preview_data, const std::vector& tool_colors); + }; + private: wxGLCanvas* m_canvas; wxGLContext* m_context; + LegendTexture m_legend_texture; + WarningTexture m_warning_texture; wxTimer* m_timer; Camera m_camera; Bed m_bed; @@ -578,6 +604,8 @@ public: Size get_canvas_size() const; Point get_local_mouse_position() const; + void reset_legend_texture(); + private: bool _is_shown_on_screen() const; void _force_zoom_to_bed(); @@ -643,6 +671,13 @@ private: void _on_move(const std::vector& volume_idxs); void _on_select(int volume_idx); + // generates the legend texture in dependence of the current shown view type + void _generate_legend_texture(const GCodePreviewData& preview_data, const std::vector& tool_colors); + + // generates a warning texture containing the given message + void _generate_warning_texture(const std::string& msg); + void _reset_warning_texture(); + static std::vector _parse_colors(const std::vector& colors); }; diff --git a/xs/src/slic3r/GUI/GLCanvas3DManager.cpp b/xs/src/slic3r/GUI/GLCanvas3DManager.cpp index 7a68cbc81..23a8f4c15 100644 --- a/xs/src/slic3r/GUI/GLCanvas3DManager.cpp +++ b/xs/src/slic3r/GUI/GLCanvas3DManager.cpp @@ -550,6 +550,15 @@ void GLCanvas3DManager::load_gcode_preview(wxGLCanvas* canvas, const GCodePrevie it->second->load_gcode_preview(*preview_data, str_tool_colors); } +void GLCanvas3DManager::reset_legend_texture() +{ + for (CanvasesMap::value_type& canvas : m_canvases) + { + if (canvas.second != nullptr) + canvas.second->reset_legend_texture(); + } +} + void GLCanvas3DManager::register_on_viewport_changed_callback(wxGLCanvas* canvas, void* callback) { CanvasesMap::iterator it = _get_canvas(canvas); diff --git a/xs/src/slic3r/GUI/GLCanvas3DManager.hpp b/xs/src/slic3r/GUI/GLCanvas3DManager.hpp index c813fd477..98205982f 100644 --- a/xs/src/slic3r/GUI/GLCanvas3DManager.hpp +++ b/xs/src/slic3r/GUI/GLCanvas3DManager.hpp @@ -137,6 +137,8 @@ public: void load_wipe_tower_toolpaths(wxGLCanvas* canvas, const std::vector& str_tool_colors); void load_gcode_preview(wxGLCanvas* canvas, const GCodePreviewData* preview_data, const std::vector& str_tool_colors); + void reset_legend_texture(); + void register_on_viewport_changed_callback(wxGLCanvas* canvas, void* callback); void register_on_double_click_callback(wxGLCanvas* canvas, void* callback); void register_on_right_click_callback(wxGLCanvas* canvas, void* callback); From feb0f7627939c92d9de44bfa5620a4eed22bddfd Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Thu, 19 Jul 2018 13:43:33 +0200 Subject: [PATCH 16/47] Better fix for gizmo update when deleting objects --- xs/src/slic3r/GUI/GLCanvas3D.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/xs/src/slic3r/GUI/GLCanvas3D.cpp b/xs/src/slic3r/GUI/GLCanvas3D.cpp index 684757c79..716866e57 100644 --- a/xs/src/slic3r/GUI/GLCanvas3D.cpp +++ b/xs/src/slic3r/GUI/GLCanvas3D.cpp @@ -2264,8 +2264,12 @@ void GLCanvas3D::reload_scene(bool force) m_objects_volumes_idxs.push_back(load_object(*m_model, obj_idx)); } + // 1st call to reset if no objects left update_gizmos_data(); update_volumes_selection(m_objects_selections); + // 2nd call to restore if something selected + if (!m_objects_selections.empty()) + update_gizmos_data(); if (m_config->has("nozzle_diameter")) { From 1a6fdb668fcb96e370eb8bf80de011196c3b2787 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Thu, 19 Jul 2018 13:58:25 +0200 Subject: [PATCH 17/47] Fixed print info --- lib/Slic3r/GUI/Plater.pm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/Slic3r/GUI/Plater.pm b/lib/Slic3r/GUI/Plater.pm index f59350eb9..4a56ce632 100644 --- a/lib/Slic3r/GUI/Plater.pm +++ b/lib/Slic3r/GUI/Plater.pm @@ -1605,17 +1605,17 @@ sub print_info_box_show { $print_info_sizer->Add($grid_sizer, 0, wxEXPAND); my @info = ( L("Used Filament (m)") - => sprintf("%.2f" , $self->{print}->total_cost), + => sprintf("%.2f" , $self->{print}->total_used_filament / 1000), L("Used Filament (mm³)") - => sprintf("%.2f" , $self->{print}->total_weight), - L("Used Filament (g)"), => sprintf("%.2f" , $self->{print}->total_extruded_volume), + L("Used Filament (g)"), + => sprintf("%.2f" , $self->{print}->total_weight), L("Cost"), - => $self->{print}->estimated_normal_print_time, + => sprintf("%.2f" , $self->{print}->total_cost), L("Estimated printing time (normal mode)") - => $self->{print}->estimated_silent_print_time, + => $self->{print}->estimated_normal_print_time, L("Estimated printing time (silent mode)") - => sprintf("%.2f" , $self->{print}->total_used_filament / 1000) + => $self->{print}->estimated_silent_print_time ); while ( my $label = shift @info) { my $value = shift @info; From aaa592bab9be479ba90bea27c2b2fd36e12f724b Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Thu, 19 Jul 2018 16:06:46 +0200 Subject: [PATCH 18/47] Another fix in gizmos update --- xs/src/slic3r/GUI/GLCanvas3D.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xs/src/slic3r/GUI/GLCanvas3D.cpp b/xs/src/slic3r/GUI/GLCanvas3D.cpp index 716866e57..064a9adce 100644 --- a/xs/src/slic3r/GUI/GLCanvas3D.cpp +++ b/xs/src/slic3r/GUI/GLCanvas3D.cpp @@ -2128,7 +2128,7 @@ void GLCanvas3D::update_volumes_colors_by_extruder() void GLCanvas3D::update_gizmos_data() { - if (!m_gizmos.is_running()) + if (!m_gizmos.is_enabled()) return; int id = _get_first_selected_object_id(); @@ -3323,6 +3323,7 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt) { deselect_volumes(); _on_select(-1); + update_gizmos_data(); } } else if (evt.LeftUp() && m_gizmos.is_dragging()) From ed0f073ef33540fbf3b78e2f7c0ceb3acce3e4d3 Mon Sep 17 00:00:00 2001 From: tamasmeszaros Date: Wed, 18 Jul 2018 16:37:44 +0200 Subject: [PATCH 19/47] Small objects can now fit inside free space surrounded by objects. --- xs/src/libnest2d/examples/main.cpp | 22 +- .../libnest2d/geometry_traits_nfp.hpp | 56 ++++- .../libnest2d/libnest2d/placers/nfpplacer.hpp | 227 ++++++++++++------ .../libnest2d/selections/firstfit.hpp | 4 +- xs/src/libslic3r/Model.cpp | 12 +- 5 files changed, 238 insertions(+), 83 deletions(-) diff --git a/xs/src/libnest2d/examples/main.cpp b/xs/src/libnest2d/examples/main.cpp index 4623a6add..e5a47161e 100644 --- a/xs/src/libnest2d/examples/main.cpp +++ b/xs/src/libnest2d/examples/main.cpp @@ -519,20 +519,28 @@ void arrangeRectangles() { std::vector proba = { { - { {0, 0}, {20, 20}, {40, 0}, {0, 0} } + Rectangle(100, 2) }, { - { {0, 100}, {50, 60}, {100, 100}, {50, 0}, {0, 100} } - + Rectangle(100, 2) + }, + { + Rectangle(100, 2) + }, + { + Rectangle(10, 10) }, }; + proba[0].rotate(Pi/3); + proba[1].rotate(Pi-Pi/3); + std::vector input; input.insert(input.end(), prusaParts().begin(), prusaParts().end()); // input.insert(input.end(), prusaExParts().begin(), prusaExParts().end()); -// input.insert(input.end(), stegoParts().begin(), stegoParts().end()); + input.insert(input.end(), stegoParts().begin(), stegoParts().end()); // input.insert(input.end(), rects.begin(), rects.end()); -// input.insert(input.end(), proba.begin(), proba.end()); + input.insert(input.end(), proba.begin(), proba.end()); // input.insert(input.end(), crasher.begin(), crasher.end()); Box bin(250*SCALE, 210*SCALE); @@ -569,9 +577,9 @@ void arrangeRectangles() { Packer::SelectionConfig sconf; // sconf.allow_parallel = false; // sconf.force_parallel = false; -// sconf.try_triplets = true; +// sconf.try_triplets = false; // sconf.try_reverse_order = true; -// sconf.waste_increment = 0.1; +// sconf.waste_increment = 0.005; arrange.configure(pconf, sconf); diff --git a/xs/src/libnest2d/libnest2d/geometry_traits_nfp.hpp b/xs/src/libnest2d/libnest2d/geometry_traits_nfp.hpp index 56e8527b4..581b6bed0 100644 --- a/xs/src/libnest2d/libnest2d/geometry_traits_nfp.hpp +++ b/xs/src/libnest2d/libnest2d/geometry_traits_nfp.hpp @@ -25,9 +25,60 @@ using Shapes = typename ShapeLike::Shapes; /// Minkowski addition (not used yet) template -static RawShape minkowskiDiff(const RawShape& sh, const RawShape& /*other*/) +static RawShape minkowskiDiff(const RawShape& sh, const RawShape& cother) { + using Vertex = TPoint; + //using Coord = TCoord; + using Edge = _Segment; + using sl = ShapeLike; + using std::signbit; + // Copy the orbiter (controur only), we will have to work on it + RawShape orbiter = sl::create(sl::getContour(cother)); + + // Make the orbiter reverse oriented + for(auto &v : sl::getContour(orbiter)) v = -v; + + // An egde with additional data for marking it + struct MarkedEdge { Edge e; Radians turn_angle; bool is_turning_point; }; + + // Container for marked edges + using EdgeList = std::vector; + + EdgeList A, B; + + auto fillEdgeList = [](EdgeList& L, const RawShape& poly) { + L.reserve(sl::contourVertexCount(poly)); + + auto it = sl::cbegin(poly); + auto nextit = std::next(it); + + L.emplace_back({Edge(*it, *nextit), 0, false}); + it++; nextit++; + + while(nextit != sl::cend(poly)) { + Edge e(*it, *nextit); + auto& L_prev = L.back(); + auto phi = L_prev.e.angleToXaxis(); + auto phi_prev = e.angleToXaxis(); + auto turn_angle = phi-phi_prev; + if(turn_angle > Pi) turn_angle -= 2*Pi; + L.emplace_back({ + e, + turn_angle, + signbit(turn_angle) != signbit(L_prev.turn_angle) + }); + it++; nextit++; + } + + L.front().turn_angle = L.front().e.angleToXaxis() - + L.back().e.angleToXaxis(); + + if(L.front().turn_angle > Pi) L.front().turn_angle -= 2*Pi; + }; + + fillEdgeList(A, sh); + fillEdgeList(B, orbiter); return sh; } @@ -193,6 +244,9 @@ static RawShape nfpConvexOnly(const RawShape& sh, const RawShape& cother) // Lindmark's reasoning about the reference vertex of nfp in his thesis // ("No fit polygon problem" - section 2.1.9) + // TODO: dont do this here. Cache the rmu and lmd in Item and get translate + // the nfp after this call + auto csh = sh; // Copy sh, we will sort the verices in the copy auto& cmp = _vsort; std::sort(ShapeLike::begin(csh), ShapeLike::end(csh), cmp); diff --git a/xs/src/libnest2d/libnest2d/placers/nfpplacer.hpp b/xs/src/libnest2d/libnest2d/placers/nfpplacer.hpp index d6bd154db..89848eb53 100644 --- a/xs/src/libnest2d/libnest2d/placers/nfpplacer.hpp +++ b/xs/src/libnest2d/libnest2d/placers/nfpplacer.hpp @@ -48,32 +48,89 @@ template class EdgeCache { using Coord = TCoord; using Edge = _Segment; - mutable std::vector corners_; + struct ContourCache { + mutable std::vector corners; + std::vector emap; + std::vector distances; + double full_distance = 0; + } contour_; - std::vector emap_; - std::vector distances_; - double full_distance_ = 0; + std::vector holes_; void createCache(const RawShape& sh) { - auto first = ShapeLike::cbegin(sh); - auto next = first + 1; - auto endit = ShapeLike::cend(sh); + { // For the contour + auto first = ShapeLike::cbegin(sh); + auto next = std::next(first); + auto endit = ShapeLike::cend(sh); - distances_.reserve(ShapeLike::contourVertexCount(sh)); + contour_.distances.reserve(ShapeLike::contourVertexCount(sh)); - while(next != endit) { - emap_.emplace_back(*(first++), *(next++)); - full_distance_ += emap_.back().length(); - distances_.push_back(full_distance_); + while(next != endit) { + contour_.emap.emplace_back(*(first++), *(next++)); + contour_.full_distance += contour_.emap.back().length(); + contour_.distances.push_back(contour_.full_distance); + } + } + + for(auto& h : ShapeLike::holes(sh)) { // For the holes + auto first = h.begin(); + auto next = std::next(first); + auto endit = h.end(); + + ContourCache hc; + hc.distances.reserve(endit - first); + + while(next != endit) { + hc.emap.emplace_back(*(first++), *(next++)); + hc.full_distance += hc.emap.back().length(); + hc.distances.push_back(hc.full_distance); + } + + holes_.push_back(hc); } } void fetchCorners() const { - if(!corners_.empty()) return; + if(!contour_.corners.empty()) return; // TODO Accuracy - corners_ = distances_; - for(auto& d : corners_) d /= full_distance_; + contour_.corners = contour_.distances; + for(auto& d : contour_.corners) d /= contour_.full_distance; + } + + void fetchHoleCorners(unsigned hidx) const { + auto& hc = holes_[hidx]; + if(!hc.corners.empty()) return; + + // TODO Accuracy + hc.corners = hc.distances; + for(auto& d : hc.corners) d /= hc.full_distance; + } + + inline Vertex coords(const ContourCache& cache, double distance) const { + assert(distance >= .0 && distance <= 1.0); + + // distance is from 0.0 to 1.0, we scale it up to the full length of + // the circumference + double d = distance*cache.full_distance; + + auto& distances = cache.distances; + + // Magic: we find the right edge in log time + auto it = std::lower_bound(distances.begin(), distances.end(), d); + auto idx = it - distances.begin(); // get the index of the edge + auto edge = cache.emap[idx]; // extrac the edge + + // Get the remaining distance on the target edge + auto ed = d - (idx > 0 ? *std::prev(it) : 0 ); + auto angle = edge.angleToXaxis(); + Vertex ret = edge.first(); + + // Get the point on the edge which lies in ed distance from the start + ret += { static_cast(std::round(ed*std::cos(angle))), + static_cast(std::round(ed*std::sin(angle))) }; + + return ret; } public: @@ -102,37 +159,36 @@ public: * @return Returns the coordinates of the point lying on the polygon * circumference. */ - inline Vertex coords(double distance) { - assert(distance >= .0 && distance <= 1.0); - - // distance is from 0.0 to 1.0, we scale it up to the full length of - // the circumference - double d = distance*full_distance_; - - // Magic: we find the right edge in log time - auto it = std::lower_bound(distances_.begin(), distances_.end(), d); - auto idx = it - distances_.begin(); // get the index of the edge - auto edge = emap_[idx]; // extrac the edge - - // Get the remaining distance on the target edge - auto ed = d - (idx > 0 ? *std::prev(it) : 0 ); - auto angle = edge.angleToXaxis(); - Vertex ret = edge.first(); - - // Get the point on the edge which lies in ed distance from the start - ret += { static_cast(std::round(ed*std::cos(angle))), - static_cast(std::round(ed*std::sin(angle))) }; - - return ret; + inline Vertex coords(double distance) const { + return coords(contour_, distance); } - inline double circumference() const BP2D_NOEXCEPT { return full_distance_; } + inline Vertex coords(unsigned hidx, double distance) const { + assert(hidx < holes_.size()); + return coords(holes_[hidx], distance); + } + + inline double circumference() const BP2D_NOEXCEPT { + return contour_.full_distance; + } + + inline double circumference(unsigned hidx) const BP2D_NOEXCEPT { + return holes_[hidx].full_distance; + } inline const std::vector& corners() const BP2D_NOEXCEPT { fetchCorners(); - return corners_; + return contour_.corners; } + inline const std::vector& + corners(unsigned holeidx) const BP2D_NOEXCEPT { + fetchHoleCorners(holeidx); + return holes_[holeidx].corners; + } + + inline unsigned holeCount() const BP2D_NOEXCEPT { return holes_.size(); } + }; template @@ -294,12 +350,20 @@ public: for(auto& nfp : nfps ) ecache.emplace_back(nfp); - auto getNfpPoint = [&ecache](double relpos) { - auto relpfloor = std::floor(relpos); - auto nfp_idx = static_cast(relpfloor); - if(nfp_idx >= ecache.size()) nfp_idx--; - auto p = relpos - relpfloor; - return ecache[nfp_idx].coords(p); + struct Optimum { + double relpos; + unsigned nfpidx; + int hidx; + Optimum(double pos, unsigned nidx): + relpos(pos), nfpidx(nidx), hidx(-1) {} + Optimum(double pos, unsigned nidx, int holeidx): + relpos(pos), nfpidx(nidx), hidx(holeidx) {} + }; + + auto getNfpPoint = [&ecache](const Optimum& opt) + { + return opt.hidx < 0? ecache[opt.nfpidx].coords(opt.relpos) : + ecache[opt.nfpidx].coords(opt.nfpidx, opt.relpos); }; Nfp::Shapes pile; @@ -310,6 +374,8 @@ public: pile_area += mitem.area(); } + // This is the kernel part of the object function that is + // customizable by the library client auto _objfunc = config_.object_function? config_.object_function : [this](const Nfp::Shapes& pile, double occupied_area, @@ -334,9 +400,8 @@ public: }; // Our object function for placement - auto objfunc = [&] (double relpos) + auto rawobjfunc = [&] (Vertex v) { - Vertex v = getNfpPoint(relpos); auto d = v - iv; d += startpos; item.translation(d); @@ -359,46 +424,74 @@ public: stopcr.type = opt::StopLimitType::RELATIVE; opt::TOptimizer solver(stopcr); - double optimum = 0; + Optimum optimum(0, 0); double best_score = penality_; - // double max_bound = 1.0*nfps.size(); - // Genetic should look like this: - /*auto result = solver.optimize_min(objfunc, - opt::initvals(0.0), - opt::bound(0.0, max_bound) - ); - - if(result.score < penality_) { - best_score = result.score; - optimum = std::get<0>(result.optimum); - }*/ - // Local optimization with the four polygon corners as // starting points for(unsigned ch = 0; ch < ecache.size(); ch++) { auto& cache = ecache[ch]; + auto contour_ofn = [&rawobjfunc, &getNfpPoint, ch] + (double relpos) + { + return rawobjfunc(getNfpPoint(Optimum(relpos, ch))); + }; + std::for_each(cache.corners().begin(), cache.corners().end(), - [ch, &solver, &objfunc, - &best_score, &optimum] - (double pos) + [ch, &contour_ofn, &solver, &best_score, + &optimum] (double pos) { try { - auto result = solver.optimize_min(objfunc, - opt::initvals(ch+pos), - opt::bound(ch, 1.0 + ch) + auto result = solver.optimize_min(contour_ofn, + opt::initvals(pos), + opt::bound(0, 1.0) ); if(result.score < best_score) { best_score = result.score; - optimum = std::get<0>(result.optimum); + optimum.relpos = std::get<0>(result.optimum); + optimum.nfpidx = ch; + optimum.hidx = -1; } } catch(std::exception& e) { derr() << "ERROR: " << e.what() << "\n"; } }); + + for(unsigned hidx = 0; hidx < cache.holeCount(); ++hidx) { + auto hole_ofn = + [&rawobjfunc, &getNfpPoint, ch, hidx] + (double pos) + { + Optimum opt(pos, ch, hidx); + return rawobjfunc(getNfpPoint(opt)); + }; + + std::for_each(cache.corners(hidx).begin(), + cache.corners(hidx).end(), + [&hole_ofn, &solver, &best_score, + &optimum, ch, hidx] + (double pos) + { + try { + auto result = solver.optimize_min(hole_ofn, + opt::initvals(pos), + opt::bound(0, 1.0) + ); + + if(result.score < best_score) { + best_score = result.score; + Optimum o(std::get<0>(result.optimum), + ch, hidx); + optimum = o; + } + } catch(std::exception& e) { + derr() << "ERROR: " << e.what() << "\n"; + } + }); + } } if( best_score < global_score ) { diff --git a/xs/src/libnest2d/libnest2d/selections/firstfit.hpp b/xs/src/libnest2d/libnest2d/selections/firstfit.hpp index 2253a0dfe..b6e80520c 100644 --- a/xs/src/libnest2d/libnest2d/selections/firstfit.hpp +++ b/xs/src/libnest2d/libnest2d/selections/firstfit.hpp @@ -56,7 +56,7 @@ public: }; // Safety test: try to pack each item into an empty bin. If it fails - // then it should be removed from the not_packed list + // then it should be removed from the list { auto it = store_.begin(); while (it != store_.end()) { Placer p(bin); @@ -72,7 +72,7 @@ public: while(!was_packed) { for(size_t j = 0; j < placers.size() && !was_packed; j++) { - if(was_packed = placers[j].pack(item)) + if((was_packed = placers[j].pack(item))) makeProgress(placers[j], j); } diff --git a/xs/src/libslic3r/Model.cpp b/xs/src/libslic3r/Model.cpp index 2925251eb..b2e439e5d 100644 --- a/xs/src/libslic3r/Model.cpp +++ b/xs/src/libslic3r/Model.cpp @@ -530,12 +530,12 @@ bool arrange(Model &model, coordf_t dist, const Slic3r::BoundingBoxf* bb, // arranger.useMinimumBoundigBoxRotation(); pcfg.rotations = { 0.0 }; - // Magic: we will specify what is the goal of arrangement... - // In this case we override the default object to make the larger items go - // into the center of the pile and smaller items orbit it so the resulting - // pile has a circle-like shape. This is good for the print bed's heat - // profile. We alse sacrafice a bit of pack efficiency for this to work. As - // a side effect, the arrange procedure is a lot faster (we do not need to + // Magic: we will specify what is the goal of arrangement... In this case + // we override the default object function to make the larger items go into + // the center of the pile and smaller items orbit it so the resulting pile + // has a circle-like shape. This is good for the print bed's heat profile. + // We alse sacrafice a bit of pack efficiency for this to work. As a side + // effect, the arrange procedure is a lot faster (we do not need to // calculate the convex hulls) pcfg.object_function = [bin, hasbin]( NfpPlacer::Pile pile, // The currently arranged pile From 4b8e10a05cba649a88d3c32e001bac0e4feeed3b Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Fri, 20 Jul 2018 12:05:08 +0200 Subject: [PATCH 20/47] Slightly faster time estimation --- xs/src/libslic3r/GCode.cpp | 4 ++-- xs/src/libslic3r/GCodeTimeEstimator.cpp | 9 ++++++--- xs/src/libslic3r/GCodeTimeEstimator.hpp | 5 ++++- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/xs/src/libslic3r/GCode.cpp b/xs/src/libslic3r/GCode.cpp index 8e0862cf2..f0b37ade3 100644 --- a/xs/src/libslic3r/GCode.cpp +++ b/xs/src/libslic3r/GCode.cpp @@ -863,9 +863,9 @@ void GCode::_do_export(Print &print, FILE *file, GCodePreviewData *preview_data) _write(file, m_writer.postamble()); // calculates estimated printing time - m_normal_time_estimator.calculate_time(); + m_normal_time_estimator.calculate_time(false); if (m_silent_time_estimator_enabled) - m_silent_time_estimator.calculate_time(); + m_silent_time_estimator.calculate_time(false); // Get filament stats. print.filament_stats.clear(); diff --git a/xs/src/libslic3r/GCodeTimeEstimator.cpp b/xs/src/libslic3r/GCodeTimeEstimator.cpp index 7c8540e66..2b4d89b3d 100644 --- a/xs/src/libslic3r/GCodeTimeEstimator.cpp +++ b/xs/src/libslic3r/GCodeTimeEstimator.cpp @@ -196,11 +196,14 @@ namespace Slic3r { } } - void GCodeTimeEstimator::calculate_time() + void GCodeTimeEstimator::calculate_time(bool start_from_beginning) { PROFILE_FUNC(); - _reset_time(); - _set_blocks_st_synchronize(false); + if (start_from_beginning) + { + _reset_time(); + _set_blocks_st_synchronize(false); + } _calculate_time(); #if ENABLE_MOVE_STATS diff --git a/xs/src/libslic3r/GCodeTimeEstimator.hpp b/xs/src/libslic3r/GCodeTimeEstimator.hpp index fe678884a..7e0cb4442 100644 --- a/xs/src/libslic3r/GCodeTimeEstimator.hpp +++ b/xs/src/libslic3r/GCodeTimeEstimator.hpp @@ -227,7 +227,10 @@ namespace Slic3r { void add_gcode_block(const std::string &str) { this->add_gcode_block(str.c_str()); } // Calculates the time estimate from the gcode lines added using add_gcode_line() or add_gcode_block() - void calculate_time(); + // start_from_beginning: + // if set to true all blocks will be used to calculate the time estimate, + // if set to false only the blocks not yet processed will be used and the calculated time will be added to the current calculated time + void calculate_time(bool start_from_beginning); // Calculates the time estimate from the given gcode in string format void calculate_time_from_text(const std::string& gcode); From 95bd2bb8f978a7573a68cbb0094f075f3c47d6cc Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Fri, 20 Jul 2018 15:54:11 +0200 Subject: [PATCH 21/47] Faster time estimate for multimaterial --- xs/src/libslic3r/GCodeTimeEstimator.cpp | 38 ++++++++----------------- xs/src/libslic3r/GCodeTimeEstimator.hpp | 6 ++-- 2 files changed, 14 insertions(+), 30 deletions(-) diff --git a/xs/src/libslic3r/GCodeTimeEstimator.cpp b/xs/src/libslic3r/GCodeTimeEstimator.cpp index 2b4d89b3d..f8360688b 100644 --- a/xs/src/libslic3r/GCodeTimeEstimator.cpp +++ b/xs/src/libslic3r/GCodeTimeEstimator.cpp @@ -79,7 +79,6 @@ namespace Slic3r { } GCodeTimeEstimator::Block::Block() - : st_synchronized(false) { } @@ -202,7 +201,7 @@ namespace Slic3r { if (start_from_beginning) { _reset_time(); - _set_blocks_st_synchronize(false); + _last_st_synchronized_block_id = -1; } _calculate_time(); @@ -614,6 +613,8 @@ namespace Slic3r { reset_g1_line_id(); _g1_line_ids.clear(); + + _last_st_synchronized_block_id = -1; } void GCodeTimeEstimator::_reset_time() @@ -626,14 +627,6 @@ namespace Slic3r { _blocks.clear(); } - void GCodeTimeEstimator::_set_blocks_st_synchronize(bool state) - { - for (Block& block : _blocks) - { - block.st_synchronized = state; - } - } - void GCodeTimeEstimator::_calculate_time() { _forward_pass(); @@ -642,10 +635,9 @@ namespace Slic3r { _time += get_additional_time(); - for (Block& block : _blocks) + for (int i = _last_st_synchronized_block_id + 1; i < (int)_blocks.size(); ++i) { - if (block.st_synchronized) - continue; + Block& block = _blocks[i]; #if ENABLE_MOVE_STATS float block_time = 0.0f; @@ -668,6 +660,8 @@ namespace Slic3r { block.elapsed_time = _time; #endif // ENABLE_MOVE_STATS } + + _last_st_synchronized_block_id = _blocks.size() - 1; } void GCodeTimeEstimator::_process_gcode_line(GCodeReader&, const GCodeReader::GCodeLine& line) @@ -1210,18 +1204,14 @@ namespace Slic3r { void GCodeTimeEstimator::_simulate_st_synchronize() { _calculate_time(); - _set_blocks_st_synchronize(true); } void GCodeTimeEstimator::_forward_pass() { if (_blocks.size() > 1) { - for (unsigned int i = 0; i < (unsigned int)_blocks.size() - 1; ++i) - { - if (_blocks[i].st_synchronized || _blocks[i + 1].st_synchronized) - continue; - + for (int i = _last_st_synchronized_block_id + 1; i < (int)_blocks.size() - 1; ++i) + { _planner_forward_pass_kernel(_blocks[i], _blocks[i + 1]); } } @@ -1231,11 +1221,8 @@ namespace Slic3r { { if (_blocks.size() > 1) { - for (int i = (int)_blocks.size() - 1; i >= 1; --i) + for (int i = (int)_blocks.size() - 1; i >= _last_st_synchronized_block_id + 2; --i) { - if (_blocks[i - 1].st_synchronized || _blocks[i].st_synchronized) - continue; - _planner_reverse_pass_kernel(_blocks[i - 1], _blocks[i]); } } @@ -1286,10 +1273,9 @@ namespace Slic3r { Block* curr = nullptr; Block* next = nullptr; - for (Block& b : _blocks) + for (int i = _last_st_synchronized_block_id + 1; i < (int)_blocks.size(); ++i) { - if (b.st_synchronized) - continue; + Block& b = _blocks[i]; curr = next; next = &b; diff --git a/xs/src/libslic3r/GCodeTimeEstimator.hpp b/xs/src/libslic3r/GCodeTimeEstimator.hpp index 7e0cb4442..2dfefda0b 100644 --- a/xs/src/libslic3r/GCodeTimeEstimator.hpp +++ b/xs/src/libslic3r/GCodeTimeEstimator.hpp @@ -144,8 +144,6 @@ namespace Slic3r { Trapezoid trapezoid; float elapsed_time; - bool st_synchronized; - Block(); // Returns the length of the move covered by this block, in mm @@ -211,6 +209,8 @@ namespace Slic3r { BlocksList _blocks; // Map between g1 line id and blocks id, used to speed up export of remaining times G1LineIdToBlockIdMap _g1_line_ids; + // Index of the last block already st_synchronized + int _last_st_synchronized_block_id; float _time; // s #if ENABLE_MOVE_STATS @@ -323,8 +323,6 @@ namespace Slic3r { void _reset_time(); void _reset_blocks(); - void _set_blocks_st_synchronize(bool state); - // Calculates the time estimate void _calculate_time(); From 167060e4702609c135dae3d7943c32c108d9dd2d Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Fri, 20 Jul 2018 16:14:23 +0200 Subject: [PATCH 22/47] Added some profilling macros into GCodeTimeEstimator --- xs/src/Shiny/ShinyPrereqs.h | 3 +++ xs/src/Shiny/ShinyTools.c | 5 ++++- xs/src/libslic3r/GCodeTimeEstimator.cpp | 27 +++++++++++++++++++++++++ xs/src/libslic3r/PrintObject.cpp | 4 ++-- 4 files changed, 36 insertions(+), 3 deletions(-) diff --git a/xs/src/Shiny/ShinyPrereqs.h b/xs/src/Shiny/ShinyPrereqs.h index a392515c7..5a3044dbc 100644 --- a/xs/src/Shiny/ShinyPrereqs.h +++ b/xs/src/Shiny/ShinyPrereqs.h @@ -25,6 +25,9 @@ THE SOFTWARE. #ifndef SHINY_PREREQS_H #define SHINY_PREREQS_H + +#include + /*---------------------------------------------------------------------------*/ #ifndef FALSE diff --git a/xs/src/Shiny/ShinyTools.c b/xs/src/Shiny/ShinyTools.c index bfc0bcdf5..4058e2285 100644 --- a/xs/src/Shiny/ShinyTools.c +++ b/xs/src/Shiny/ShinyTools.c @@ -93,8 +93,11 @@ float ShinyGetTickInvFreq(void) { #elif SHINY_PLATFORM == SHINY_PLATFORM_POSIX +//#include +//#include + void ShinyGetTicks(shinytick_t *p) { - timeval time; + struct timeval time; gettimeofday(&time, NULL); *p = time.tv_sec * 1000000 + time.tv_usec; diff --git a/xs/src/libslic3r/GCodeTimeEstimator.cpp b/xs/src/libslic3r/GCodeTimeEstimator.cpp index f8360688b..5543b5cc9 100644 --- a/xs/src/libslic3r/GCodeTimeEstimator.cpp +++ b/xs/src/libslic3r/GCodeTimeEstimator.cpp @@ -486,6 +486,7 @@ namespace Slic3r { GCodeFlavor GCodeTimeEstimator::get_dialect() const { + PROFILE_FUNC(); return _state.dialect; } @@ -536,6 +537,7 @@ namespace Slic3r { void GCodeTimeEstimator::add_additional_time(float timeSec) { + PROFILE_FUNC(); _state.additional_time += timeSec; } @@ -627,8 +629,10 @@ namespace Slic3r { _blocks.clear(); } + void GCodeTimeEstimator::_calculate_time() { + PROFILE_FUNC(); _forward_pass(); _reverse_pass(); _recalculate_trapezoids(); @@ -797,6 +801,7 @@ namespace Slic3r { void GCodeTimeEstimator::_processG1(const GCodeReader::GCodeLine& line) { + PROFILE_FUNC(); increment_g1_line_id(); // updates axes positions from line @@ -994,6 +999,7 @@ namespace Slic3r { void GCodeTimeEstimator::_processG4(const GCodeReader::GCodeLine& line) { + PROFILE_FUNC(); GCodeFlavor dialect = get_dialect(); float value; @@ -1015,31 +1021,37 @@ namespace Slic3r { void GCodeTimeEstimator::_processG20(const GCodeReader::GCodeLine& line) { + PROFILE_FUNC(); set_units(Inches); } void GCodeTimeEstimator::_processG21(const GCodeReader::GCodeLine& line) { + PROFILE_FUNC(); set_units(Millimeters); } void GCodeTimeEstimator::_processG28(const GCodeReader::GCodeLine& line) { + PROFILE_FUNC(); // TODO } void GCodeTimeEstimator::_processG90(const GCodeReader::GCodeLine& line) { + PROFILE_FUNC(); set_global_positioning_type(Absolute); } void GCodeTimeEstimator::_processG91(const GCodeReader::GCodeLine& line) { + PROFILE_FUNC(); set_global_positioning_type(Relative); } void GCodeTimeEstimator::_processG92(const GCodeReader::GCodeLine& line) { + PROFILE_FUNC(); float lengthsScaleFactor = (get_units() == Inches) ? INCHES_TO_MM : 1.0f; bool anyFound = false; @@ -1080,26 +1092,31 @@ namespace Slic3r { void GCodeTimeEstimator::_processM1(const GCodeReader::GCodeLine& line) { + PROFILE_FUNC(); _simulate_st_synchronize(); } void GCodeTimeEstimator::_processM82(const GCodeReader::GCodeLine& line) { + PROFILE_FUNC(); set_e_local_positioning_type(Absolute); } void GCodeTimeEstimator::_processM83(const GCodeReader::GCodeLine& line) { + PROFILE_FUNC(); set_e_local_positioning_type(Relative); } void GCodeTimeEstimator::_processM109(const GCodeReader::GCodeLine& line) { + PROFILE_FUNC(); // TODO } void GCodeTimeEstimator::_processM201(const GCodeReader::GCodeLine& line) { + PROFILE_FUNC(); GCodeFlavor dialect = get_dialect(); // see http://reprap.org/wiki/G-code#M201:_Set_max_printing_acceleration @@ -1120,6 +1137,7 @@ namespace Slic3r { void GCodeTimeEstimator::_processM203(const GCodeReader::GCodeLine& line) { + PROFILE_FUNC(); GCodeFlavor dialect = get_dialect(); // see http://reprap.org/wiki/G-code#M203:_Set_maximum_feedrate @@ -1144,6 +1162,7 @@ namespace Slic3r { void GCodeTimeEstimator::_processM204(const GCodeReader::GCodeLine& line) { + PROFILE_FUNC(); float value; if (line.has_value('S', value)) set_acceleration(value); @@ -1154,6 +1173,7 @@ namespace Slic3r { void GCodeTimeEstimator::_processM205(const GCodeReader::GCodeLine& line) { + PROFILE_FUNC(); if (line.has_x()) { float max_jerk = line.x(); @@ -1180,6 +1200,7 @@ namespace Slic3r { void GCodeTimeEstimator::_processM221(const GCodeReader::GCodeLine& line) { + PROFILE_FUNC(); float value_s; float value_t; if (line.has_value('S', value_s) && !line.has_value('T', value_t)) @@ -1188,6 +1209,7 @@ namespace Slic3r { void GCodeTimeEstimator::_processM566(const GCodeReader::GCodeLine& line) { + PROFILE_FUNC(); if (line.has_x()) set_axis_max_jerk(X, line.x() * MMMIN_TO_MMSEC); @@ -1203,11 +1225,13 @@ namespace Slic3r { void GCodeTimeEstimator::_simulate_st_synchronize() { + PROFILE_FUNC(); _calculate_time(); } void GCodeTimeEstimator::_forward_pass() { + PROFILE_FUNC(); if (_blocks.size() > 1) { for (int i = _last_st_synchronized_block_id + 1; i < (int)_blocks.size() - 1; ++i) @@ -1219,6 +1243,7 @@ namespace Slic3r { void GCodeTimeEstimator::_reverse_pass() { + PROFILE_FUNC(); if (_blocks.size() > 1) { for (int i = (int)_blocks.size() - 1; i >= _last_st_synchronized_block_id + 2; --i) @@ -1230,6 +1255,7 @@ namespace Slic3r { void GCodeTimeEstimator::_planner_forward_pass_kernel(Block& prev, Block& curr) { + PROFILE_FUNC(); // If the previous block is an acceleration block, but it is not long enough to complete the // full speed change within the block, we need to adjust the entry speed accordingly. Entry // speeds have already been reset, maximized, and reverse planned by reverse planner. @@ -1270,6 +1296,7 @@ namespace Slic3r { void GCodeTimeEstimator::_recalculate_trapezoids() { + PROFILE_FUNC(); Block* curr = nullptr; Block* next = nullptr; diff --git a/xs/src/libslic3r/PrintObject.cpp b/xs/src/libslic3r/PrintObject.cpp index 8888da76d..47495dad8 100644 --- a/xs/src/libslic3r/PrintObject.cpp +++ b/xs/src/libslic3r/PrintObject.cpp @@ -1183,8 +1183,8 @@ void PrintObject::_slice() this->typed_slices = false; -#if 0 - // Disable parallelization for debugging purposes. +#ifdef SLIC3R_PROFILE + // Disable parallelization so the Shiny profiler works static tbb::task_scheduler_init *tbb_init = nullptr; tbb_init = new tbb::task_scheduler_init(1); #endif From e19a74865b3d318f7001053a989f0a251d9890f6 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Fri, 20 Jul 2018 17:57:21 +0200 Subject: [PATCH 23/47] Bumped up the version number. --- xs/src/libslic3r/libslic3r.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xs/src/libslic3r/libslic3r.h b/xs/src/libslic3r/libslic3r.h index e81b0c8af..4e309fdaf 100644 --- a/xs/src/libslic3r/libslic3r.h +++ b/xs/src/libslic3r/libslic3r.h @@ -14,7 +14,7 @@ #include #define SLIC3R_FORK_NAME "Slic3r Prusa Edition" -#define SLIC3R_VERSION "1.41.0-alpha" +#define SLIC3R_VERSION "1.41.0-alpha1" #define SLIC3R_BUILD "UNKNOWN" typedef int32_t coord_t; From 88bf7c852cc25fb4573950e21370143024103f31 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Sat, 21 Jul 2018 09:32:45 +0200 Subject: [PATCH 24/47] Fixed upgrade of vendor profile from the application resources after an upgrade of the application. --- lib/Slic3r/GUI.pm | 3 ++- xs/src/slic3r/Utils/PresetUpdater.cpp | 21 ++++++++++++++++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/lib/Slic3r/GUI.pm b/lib/Slic3r/GUI.pm index 80130fefe..cbfe0e5fe 100644 --- a/lib/Slic3r/GUI.pm +++ b/lib/Slic3r/GUI.pm @@ -169,7 +169,8 @@ sub OnInit { $self->update_ui_from_settings; }); - # The following event is emited by PresetUpdater (C++) + # The following event is emited by PresetUpdater (C++) to inform about + # the newer Slic3r application version avaiable online. EVT_COMMAND($self, -1, $VERSION_ONLINE_EVENT, sub { my ($self, $event) = @_; my $version = $event->GetString; diff --git a/xs/src/slic3r/Utils/PresetUpdater.cpp b/xs/src/slic3r/Utils/PresetUpdater.cpp index 1ce814b89..7ed963a16 100644 --- a/xs/src/slic3r/Utils/PresetUpdater.cpp +++ b/xs/src/slic3r/Utils/PresetUpdater.cpp @@ -326,6 +326,8 @@ Updates PresetUpdater::priv::get_config_updates() const continue; } + // Getting a recommended version from the latest index, wich may have been downloaded + // from the internet, or installed / updated from the installation resources. const auto recommended = idx.recommended(); if (recommended == idx.end()) { BOOST_LOG_TRIVIAL(error) << boost::format("No recommended version for vendor: %1%, invalid index?") % idx.vendor(); @@ -353,25 +355,34 @@ Updates PresetUpdater::priv::get_config_updates() const } auto path_src = cache_path / (idx.vendor() + ".ini"); + auto path_in_rsrc = rsrc_path / (idx.vendor() + ".ini"); if (! fs::exists(path_src)) { - auto path_in_rsrc = rsrc_path / (idx.vendor() + ".ini"); if (! fs::exists(path_in_rsrc)) { BOOST_LOG_TRIVIAL(warning) << boost::format("Index for vendor %1% indicates update, but bundle found in neither cache nor resources") - % idx.vendor();; + % idx.vendor(); continue; } else { path_src = std::move(path_in_rsrc); + path_in_rsrc.clear(); } } - const auto new_vp = VendorProfile::from_ini(path_src, false); + auto new_vp = VendorProfile::from_ini(path_src, false); + bool found = false; if (new_vp.config_version == recommended->config_version) { updates.updates.emplace_back(std::move(path_src), std::move(bundle_path), *recommended); - } else { + found = true; + } else if (! path_in_rsrc.empty() && fs::exists(path_in_rsrc)) { + new_vp = VendorProfile::from_ini(path_in_rsrc, false); + if (new_vp.config_version == recommended->config_version) { + updates.updates.emplace_back(std::move(path_in_rsrc), std::move(bundle_path), *recommended); + found = true; + } + } + if (! found) BOOST_LOG_TRIVIAL(warning) << boost::format("Index for vendor %1% indicates update (%2%) but the new bundle was found neither in cache nor resources") % idx.vendor() % recommended->config_version.to_string(); - } } } From 109b6fb79cef1f85004b6518fe656161040f1f8f Mon Sep 17 00:00:00 2001 From: bubnikv Date: Sat, 21 Jul 2018 15:46:54 +0200 Subject: [PATCH 25/47] Added the MK3 MMU2 printer into the profiles, added an image of the MK3 MMU2 to the wizard. --- .../icons/printers/PrusaResearch_MK3SMM.png | Bin 0 -> 41571 bytes resources/profiles/PrusaResearch.idx | 1 + resources/profiles/PrusaResearch.ini | 96 +++++++++++++++--- 3 files changed, 85 insertions(+), 12 deletions(-) create mode 100644 resources/icons/printers/PrusaResearch_MK3SMM.png diff --git a/resources/icons/printers/PrusaResearch_MK3SMM.png b/resources/icons/printers/PrusaResearch_MK3SMM.png new file mode 100644 index 0000000000000000000000000000000000000000..1068bfc105f02d13e374764352e61ce76087ecb0 GIT binary patch literal 41571 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%0DF%RgsF}R*<8&ArgN&BuY(A6?$Vu7QvDx< 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 literal 0 HcmV?d00001 diff --git a/resources/profiles/PrusaResearch.idx b/resources/profiles/PrusaResearch.idx index d050ef39c..8b8e8951e 100644 --- a/resources/profiles/PrusaResearch.idx +++ b/resources/profiles/PrusaResearch.idx @@ -1,4 +1,5 @@ min_slic3r_version = 1.41.0-alpha +0.2.0-alpha1 0.2.0-alpha min_slic3r_version = 1.40.0 0.1.6 Split the MK2.5 profile from the MK2S diff --git a/resources/profiles/PrusaResearch.ini b/resources/profiles/PrusaResearch.ini index 7e2c78377..2f0761d15 100644 --- a/resources/profiles/PrusaResearch.ini +++ b/resources/profiles/PrusaResearch.ini @@ -5,7 +5,7 @@ name = Prusa Research # Configuration version of this file. Config file will only be installed, if the config_version differs. # This means, the server may force the Slic3r configuration to be downgraded. -config_version = 0.2.0-alpha +config_version = 0.2.0-alpha1 # Where to get the updates from? config_update_url = https://raw.githubusercontent.com/prusa3d/Slic3r-settings/master/live/PrusaResearch/ @@ -30,6 +30,10 @@ variants = 0.4; 0.25; 0.6 name = Original Prusa i3 MK2SMM variants = 0.4; 0.6 +[printer_model:MK3SMM] +name = Original Prusa i3 MK3SMM +variants = 0.4 + # All presets starting with asterisk, for example *common*, are intermediate and they will # not make it into the user interface. @@ -207,7 +211,7 @@ infill_extrusion_width = 0.5 [print:0.05mm ULTRADETAIL MK3] inherits = *0.05mm* -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and nozzle_diameter[0]==0.4 +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and nozzle_diameter[0]==0.4 and ! single_extruder_multi_material fill_pattern = grid top_infill_extrusion_width = 0.4 @@ -252,7 +256,7 @@ solid_infill_speed = 50 [print:0.10mm DETAIL MK3] inherits = *0.10mm* bridge_speed = 30 -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and nozzle_diameter[0]==0.4 +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and nozzle_diameter[0]==0.4 and ! single_extruder_multi_material external_perimeter_speed = 35 fill_pattern = grid infill_acceleration = 1500 @@ -358,7 +362,7 @@ compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and [print:0.15mm OPTIMAL MK3] inherits = *0.15mm* bridge_speed = 30 -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and nozzle_diameter[0]==0.4 +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and nozzle_diameter[0]==0.4 and ! single_extruder_multi_material external_perimeter_speed = 35 fill_pattern = grid infill_acceleration = 1500 @@ -426,6 +430,32 @@ perimeter_speed = 45 solid_infill_speed = 200 top_solid_infill_speed = 50 +[print:0.15mm OPTIMAL MK3 MMU2] +inherits = 0.15mm OPTIMAL MK3 +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and single_extruder_multi_material +bottom_solid_layers = 4 +external_perimeter_speed = 40 +fill_density = 10% +infill_overlap = 15% +perimeter_speed = 60 +small_perimeter_speed = 20 +support_material_threshold = 20 +top_solid_layers = 5 + +[print:0.20mm FAST MK3 MMU2] +inherits = 0.20mm FAST MK3 +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and single_extruder_multi_material +bridge_flow_ratio = 0.8 +external_perimeter_speed = 40 +fill_density = 15% +infill_overlap = 35% +infill_speed = 150 +perimeter_speed = 50 +small_perimeter_speed = 20 +solid_infill_speed = 150 +wipe_tower_x = 169 +wipe_tower_y = 137 + # XXXXXXXXXXXXXXXXXXXX # XXX--- 0.20mm ---XXX # XXXXXXXXXXXXXXXXXXXX @@ -445,7 +475,7 @@ top_solid_infill_speed = 70 [print:0.20mm FAST MK3] inherits = *0.20mm* bridge_speed = 30 -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and nozzle_diameter[0]==0.4 +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and nozzle_diameter[0]==0.4 and ! single_extruder_multi_material external_perimeter_speed = 35 fill_pattern = grid infill_acceleration = 1500 @@ -552,7 +582,8 @@ support_material_xy_spacing = 150% [filament:*common*] cooling = 1 compatible_printers = -compatible_printers_condition = +# For now, all but selected filaments are disabled for the MMU 2.0 +compatible_printers_condition = ! (printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and single_extruder_multi_material) end_filament_gcode = "; Filament-specific end gcode" extrusion_multiplier = 1 filament_loading_speed = 28 @@ -624,7 +655,8 @@ temperature = 255 inherits = *common* bed_temperature = 50 bridge_fan_speed = 100 -compatible_printers_condition = nozzle_diameter[0]>0.35 and num_extruders==1 +# For now, all but selected filaments are disabled for the MMU 2.0 +compatible_printers_condition = nozzle_diameter[0]>0.35 and num_extruders==1 && ! (printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and single_extruder_multi_material) cooling = 0 disable_fan_first_layers = 1 extrusion_multiplier = 1.2 @@ -642,7 +674,8 @@ temperature = 240 [filament:ColorFabb Brass Bronze] inherits = *PLA* -compatible_printers_condition = nozzle_diameter[0]>0.35 +# For now, all but selected filaments are disabled for the MMU 2.0 +compatible_printers_condition = nozzle_diameter[0]>0.35 and ! (printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and single_extruder_multi_material) extrusion_multiplier = 1.2 filament_colour = #804040 filament_max_volumetric_speed = 10 @@ -667,7 +700,8 @@ inherits = *PLA* [filament:ColorFabb Woodfil] inherits = *PLA* -compatible_printers_condition = nozzle_diameter[0]>0.35 +# For now, all but selected filaments are disabled for the MMU 2.0 +compatible_printers_condition = nozzle_diameter[0]>0.35 and ! (printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and single_extruder_multi_material) extrusion_multiplier = 1.2 filament_colour = #804040 filament_max_volumetric_speed = 10 @@ -748,7 +782,8 @@ temperature = 275 [filament:Fillamentum Timberfil] inherits = *PLA* -compatible_printers_condition = nozzle_diameter[0]>0.35 +# For now, all but selected filaments are disabled for the MMU 2.0 +compatible_printers_condition = nozzle_diameter[0]>0.35 and ! (printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and single_extruder_multi_material) extrusion_multiplier = 1.2 filament_colour = #804040 filament_max_volumetric_speed = 10 @@ -818,6 +853,17 @@ filament_notes = "List of manufacturers tested with standart PET print settings inherits = *PLA* filament_notes = "List of materials tested with standart PLA print settings for MK2:\n\nDas Filament\nEsun PLA\nEUMAKERS PLA\nFiberlogy HD-PLA\nFillamentum PLA\nFloreon3D\nHatchbox PLA\nPlasty Mladeč PLA\nPrimavalue PLA\nProto pasta Matte Fiber\nVerbatim PLA\nVerbatim BVOH" +[filament:Prusa PLA MMU2] +inherits = Prusa PLA +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and single_extruder_multi_material +filament_cooling_final_speed = 50 +filament_cooling_initial_speed = 10 +filament_cooling_moves = 7 +filament_loading_speed = 14 +filament_ramming_parameters = "120 110 4.03226 4.12903 4.25806 4.41935 4.58065 4.80645 5.35484 6.29032 7.58065 9.09677 10.5806 11.8387 12.6452 12.9677| 0.05 4.01935 0.45 4.15483 0.95 4.50968 1.45 4.94516 1.95 6.79677 2.45 9.87102 2.95 12.4388 3.45 13.0839 3.95 7.6 4.45 7.6 4.95 7.6" +min_fan_speed = 85 +slowdown_below_layer_time = 10 + [filament:SemiFlex or Flexfill 98A] inherits = *FLEX* @@ -979,7 +1025,6 @@ end_gcode = G1 E-4 F2100.00000\nG91\nG1 Z1 F7200.000\nG90\nG1 X245 Y1\nG1 X240 E printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_MK2\nPRINTER_HAS_BOWDEN start_gcode = M115 U3.1.0 ; tell printer latest fw version\n; Start G-Code sequence START\nT?\nM104 S[first_layer_temperature]\nM140 S[first_layer_bed_temperature]\nM109 S[first_layer_temperature]\nM190 S[first_layer_bed_temperature]\nG21 ; set units to millimeters\nG90 ; use absolute coordinates\nM83 ; use relative distances for extrusion\nG28 W\nG80\nG92 E0.0\nM203 E100\nM92 E140\nG1 Z0.250 F7200.000\nG1 X50.0 E80.0 F1000.0\nG1 X160.0 E20.0 F1000.0\nG1 Z0.200 F7200.000\nG1 X220.0 E13 F1000.0\nG1 X240.0 E0 F1000.0\nG1 E-4 F1000.0\nG92 E0.0 default_print_profile = 0.15mm OPTIMAL -default_filament_profile = Prusa PLA [printer:*mm-multi*] inherits = *multimaterial* @@ -990,7 +1035,6 @@ printer_notes = Don't remove the following keywords! These keywords are used in start_gcode = M115 U3.1.0 ; tell printer latest fw version\n; Start G-Code sequence START\nT[initial_tool]\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG21 ; set units to millimeters\nG90 ; use absolute coordinates\nM83 ; use relative distances for extrusion\nG28 W\nG80\nG92 E0.0\nM203 E100 ; set max feedrate\nM92 E140 ; E-steps per filament milimeter\n{if not has_wipe_tower}\nG1 Z0.250 F7200.000\nG1 X50.0 E80.0 F1000.0\nG1 X160.0 E20.0 F1000.0\nG1 Z0.200 F7200.000\nG1 X220.0 E13 F1000.0\nG1 X240.0 E0 F1000.0\nG1 E-4 F1000.0\n{endif}\nG92 E0.0 variable_layer_height = 0 default_print_profile = 0.15mm OPTIMAL -default_filament_profile = Prusa PLA # XXXXXXXXXXXXXXXXX # XXX--- MK2 ---XXX @@ -1107,6 +1151,34 @@ min_layer_height = 0.1 printer_variant = 0.6 default_print_profile = 0.15mm OPTIMAL 0.6 nozzle MK3 +[printer:*mm2*] +inherits = Original Prusa i3 MK3 +single_extruder_multi_material = 1 +max_print_height = 200 +cooling_tube_length = 10 +cooling_tube_retraction = 30 +parking_pos_retraction = 85 +retract_length_toolchange = 3 +extra_loading_move = -13 +printer_model = MK3SMM +default_print_profile = 0.15mm OPTIMAL MK3 MMU2 +default_filament_profile = Prusa PLA MMU2 + +[printer:Original Prusa i3 MK3 MMU2 Single] +inherits = *mm2* +start_gcode = M107\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\nG21 ; set units to millimeters\n\n ; go outside print area\nG1 Y-3.0 F1000.0 \nG1 Z0.4 F1000\n; select extruder\nT?\n; initial load\nG1 X50 E15 F1073\nG1 X100 E10 F2000\nG1 Z0.3 F1000\n\nG92 E0.0\nG1 X240.0 E15.0 F2400.0 \nG1 Y-2.0 F1000.0\nG1 X100.0 E10 F1400.0 \nG1 Z0.20 F1000\nG1 X0.0 E4 F1000.0\n\nG92 E0.0\nM221 S{if layer_height<0.075}100{else}95{endif}\nG90 ; use absolute coordinates\nM83 ; use relative distances for extrusion\nG92 E0.0\n +end_gcode = G1 X0 Y210 F7200\nG1 E2 F5000\nG1 E2 F5500\nG1 E2 F6000\nG1 E-15.0000 F5800\nG1 E-20.0000 F5500\nG1 E10.0000 F3000\nG1 E-10.0000 F3100\nG1 E10.0000 F3150\nG1 E-10.0000 F3250\nG1 E10.0000 F3300\n\nM702 C\n\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nG1 X0 Y200; home X axis\nM84 ; disable motors + +[printer:Original Prusa i3 MK3 MMU2] +inherits = *mm2* +# The 5x nozzle diameter defines the number of extruders. Other extruder parameters +# (for example the retract values) are duplicaed from the first value, so they do not need +# to be defined explicitely. +nozzle_diameter = 0.4,0.4,0.4,0.4,0.4 +extruder_colour = #FFFF00;#FFFFFF;#804040;#0000FF;#C0C0C0 +start_gcode = M107\n\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\nG21 ; set units to millimeters\nG90 ; use absolute coordinates\nM83 ; use relative distances for extrusion\nG92 E0.0\n +end_gcode = G1 E-15.0000 F3000\n\nM702 C\n\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nG1 X0 Y200; home X axis\nM84 ; disable motors + # The obsolete presets will be removed when upgrading from the legacy configuration structure (up to Slic3r 1.39.2) to 1.40.0 and newer. [obsolete_presets] print="0.05mm DETAIL 0.25 nozzle";"0.05mm DETAIL MK3";"0.05mm DETAIL";"0.20mm NORMAL MK3";"0.35mm FAST MK3" From 68cd51435f2e5b830156534a144efe64bc019b7d Mon Sep 17 00:00:00 2001 From: bubnikv Date: Sat, 21 Jul 2018 17:39:26 +0200 Subject: [PATCH 26/47] Bumped up the version number. --- xs/src/libslic3r/libslic3r.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xs/src/libslic3r/libslic3r.h b/xs/src/libslic3r/libslic3r.h index 4e309fdaf..77006cebe 100644 --- a/xs/src/libslic3r/libslic3r.h +++ b/xs/src/libslic3r/libslic3r.h @@ -14,7 +14,7 @@ #include #define SLIC3R_FORK_NAME "Slic3r Prusa Edition" -#define SLIC3R_VERSION "1.41.0-alpha1" +#define SLIC3R_VERSION "1.41.0-alpha2" #define SLIC3R_BUILD "UNKNOWN" typedef int32_t coord_t; From 86caf83721870c41425e27e9165d38ba05381627 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Mon, 23 Jul 2018 08:57:00 +0200 Subject: [PATCH 27/47] Update objects' list after scaling using gizmo --- lib/Slic3r/GUI/Plater.pm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/Slic3r/GUI/Plater.pm b/lib/Slic3r/GUI/Plater.pm index 4a56ce632..22b887baf 100644 --- a/lib/Slic3r/GUI/Plater.pm +++ b/lib/Slic3r/GUI/Plater.pm @@ -127,6 +127,8 @@ sub new { $range->[1] *= $variation; } $_->set_scaling_factor($scale) for @{ $model_object->instances }; + + $self->{list}->SetItem($obj_idx, 2, ($model_object->instances->[0]->scaling_factor * 100) . "%"); $object->transform_thumbnail($self->{model}, $obj_idx); #update print and start background processing From a0096cf563e5830b49a647c79c01ad3cc4195422 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Mon, 23 Jul 2018 09:42:02 +0200 Subject: [PATCH 28/47] Renamed the key MK3SMMU to MK3MMU2, added a generic PLA MMU2 material. --- ...ch_MK3SMM.png => PrusaResearch_MK3MM2.png} | Bin resources/profiles/PrusaResearch.idx | 1 + resources/profiles/PrusaResearch.ini | 23 ++++++++++++------ 3 files changed, 16 insertions(+), 8 deletions(-) rename resources/icons/printers/{PrusaResearch_MK3SMM.png => PrusaResearch_MK3MM2.png} (100%) diff --git a/resources/icons/printers/PrusaResearch_MK3SMM.png b/resources/icons/printers/PrusaResearch_MK3MM2.png similarity index 100% rename from resources/icons/printers/PrusaResearch_MK3SMM.png rename to resources/icons/printers/PrusaResearch_MK3MM2.png diff --git a/resources/profiles/PrusaResearch.idx b/resources/profiles/PrusaResearch.idx index 8b8e8951e..bdb372d81 100644 --- a/resources/profiles/PrusaResearch.idx +++ b/resources/profiles/PrusaResearch.idx @@ -1,4 +1,5 @@ min_slic3r_version = 1.41.0-alpha +0.2.0-alpha2 0.2.0-alpha1 0.2.0-alpha min_slic3r_version = 1.40.0 diff --git a/resources/profiles/PrusaResearch.ini b/resources/profiles/PrusaResearch.ini index 2f0761d15..fe403263d 100644 --- a/resources/profiles/PrusaResearch.ini +++ b/resources/profiles/PrusaResearch.ini @@ -5,7 +5,7 @@ name = Prusa Research # Configuration version of this file. Config file will only be installed, if the config_version differs. # This means, the server may force the Slic3r configuration to be downgraded. -config_version = 0.2.0-alpha1 +config_version = 0.2.0-alpha2 # Where to get the updates from? config_update_url = https://raw.githubusercontent.com/prusa3d/Slic3r-settings/master/live/PrusaResearch/ @@ -27,11 +27,11 @@ name = Original Prusa i3 MK2.5 variants = 0.4; 0.25; 0.6 [printer_model:MK2SMM] -name = Original Prusa i3 MK2SMM +name = Original Prusa i3 MK2S Multi Material Upgrade variants = 0.4; 0.6 -[printer_model:MK3SMM] -name = Original Prusa i3 MK3SMM +[printer_model:MK3MM2] +name = Original Prusa i3 MK3 Multi Material Upgrade 2.0 variants = 0.4 # All presets starting with asterisk, for example *common*, are intermediate and they will @@ -589,6 +589,9 @@ extrusion_multiplier = 1 filament_loading_speed = 28 filament_unloading_speed = 90 filament_toolchange_delay = 0 +filament_cooling_moves = 4 +filament_cooling_initial_speed = 2.2 +filament_cooling_final_speed = 3.4 filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" filament_cost = 0 filament_density = 0 @@ -853,7 +856,7 @@ filament_notes = "List of manufacturers tested with standart PET print settings inherits = *PLA* filament_notes = "List of materials tested with standart PLA print settings for MK2:\n\nDas Filament\nEsun PLA\nEUMAKERS PLA\nFiberlogy HD-PLA\nFillamentum PLA\nFloreon3D\nHatchbox PLA\nPlasty Mladeč PLA\nPrimavalue PLA\nProto pasta Matte Fiber\nVerbatim PLA\nVerbatim BVOH" -[filament:Prusa PLA MMU2] +[filament:*PLA MMU2*] inherits = Prusa PLA compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and single_extruder_multi_material filament_cooling_final_speed = 50 @@ -861,8 +864,12 @@ filament_cooling_initial_speed = 10 filament_cooling_moves = 7 filament_loading_speed = 14 filament_ramming_parameters = "120 110 4.03226 4.12903 4.25806 4.41935 4.58065 4.80645 5.35484 6.29032 7.58065 9.09677 10.5806 11.8387 12.6452 12.9677| 0.05 4.01935 0.45 4.15483 0.95 4.50968 1.45 4.94516 1.95 6.79677 2.45 9.87102 2.95 12.4388 3.45 13.0839 3.95 7.6 4.45 7.6 4.95 7.6" -min_fan_speed = 85 -slowdown_below_layer_time = 10 + +[filament:Generic PLA MMU2] +inherits = *PLA MMU2* + +[filament:Prusa PLA MMU2] +inherits = *PLA MMU2* [filament:SemiFlex or Flexfill 98A] inherits = *FLEX* @@ -1160,7 +1167,7 @@ cooling_tube_retraction = 30 parking_pos_retraction = 85 retract_length_toolchange = 3 extra_loading_move = -13 -printer_model = MK3SMM +printer_model = MK3MM2 default_print_profile = 0.15mm OPTIMAL MK3 MMU2 default_filament_profile = Prusa PLA MMU2 From df36de0d355672b83c4bad3f0997f5defeb2ec9c Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Mon, 23 Jul 2018 10:16:56 +0200 Subject: [PATCH 29/47] Fixed status of Slice now and Export G-Code buttons after object import --- lib/Slic3r/GUI/Plater.pm | 3 ++- xs/src/slic3r/GUI/3DScene.cpp | 2 +- xs/src/slic3r/GUI/3DScene.hpp | 2 +- xs/src/slic3r/GUI/GLCanvas3D.cpp | 6 ++++-- xs/src/slic3r/GUI/GLCanvas3D.hpp | 2 +- xs/src/slic3r/GUI/GLCanvas3DManager.cpp | 2 +- xs/src/slic3r/GUI/GLCanvas3DManager.hpp | 2 +- xs/xsp/GUI_3DScene.xsp | 2 +- 8 files changed, 12 insertions(+), 9 deletions(-) diff --git a/lib/Slic3r/GUI/Plater.pm b/lib/Slic3r/GUI/Plater.pm index 22b887baf..1c590a7f7 100644 --- a/lib/Slic3r/GUI/Plater.pm +++ b/lib/Slic3r/GUI/Plater.pm @@ -2102,7 +2102,8 @@ sub object_list_changed { my $export_in_progress = $self->{export_gcode_output_file} || $self->{send_gcode_file}; my $model_fits = $self->{canvas3D} ? Slic3r::GUI::_3DScene::check_volumes_outside_state($self->{canvas3D}, $self->{config}) : 1; - my $method = ($have_objects && ! $export_in_progress && $model_fits) ? 'Enable' : 'Disable'; + # $model_fits == 1 -> ModelInstance::PVS_Partly_Outside + my $method = ($have_objects && ! $export_in_progress && ($model_fits != 1)) ? 'Enable' : 'Disable'; $self->{"btn_$_"}->$method for grep $self->{"btn_$_"}, qw(reslice export_gcode print send_gcode); } diff --git a/xs/src/slic3r/GUI/3DScene.cpp b/xs/src/slic3r/GUI/3DScene.cpp index 2ffd788eb..62659033a 100644 --- a/xs/src/slic3r/GUI/3DScene.cpp +++ b/xs/src/slic3r/GUI/3DScene.cpp @@ -1651,7 +1651,7 @@ void _3DScene::update_volumes_selection(wxGLCanvas* canvas, const std::vector& selections); - static bool check_volumes_outside_state(wxGLCanvas* canvas, const DynamicPrintConfig* config); + static int check_volumes_outside_state(wxGLCanvas* canvas, const DynamicPrintConfig* config); static bool move_volume_up(wxGLCanvas* canvas, unsigned int id); static bool move_volume_down(wxGLCanvas* canvas, unsigned int id); diff --git a/xs/src/slic3r/GUI/GLCanvas3D.cpp b/xs/src/slic3r/GUI/GLCanvas3D.cpp index 064a9adce..722f1c112 100644 --- a/xs/src/slic3r/GUI/GLCanvas3D.cpp +++ b/xs/src/slic3r/GUI/GLCanvas3D.cpp @@ -1878,9 +1878,11 @@ void GLCanvas3D::update_volumes_selection(const std::vector& selections) } } -bool GLCanvas3D::check_volumes_outside_state(const DynamicPrintConfig* config) const +int GLCanvas3D::check_volumes_outside_state(const DynamicPrintConfig* config) const { - return m_volumes.check_outside_state(config, nullptr); + ModelInstance::EPrintVolumeState state; + m_volumes.check_outside_state(config, &state); + return (int)state; } bool GLCanvas3D::move_volume_up(unsigned int id) diff --git a/xs/src/slic3r/GUI/GLCanvas3D.hpp b/xs/src/slic3r/GUI/GLCanvas3D.hpp index d18ca0cab..a9a6117ec 100644 --- a/xs/src/slic3r/GUI/GLCanvas3D.hpp +++ b/xs/src/slic3r/GUI/GLCanvas3D.hpp @@ -495,7 +495,7 @@ public: void deselect_volumes(); void select_volume(unsigned int id); void update_volumes_selection(const std::vector& selections); - bool check_volumes_outside_state(const DynamicPrintConfig* config) const; + int check_volumes_outside_state(const DynamicPrintConfig* config) const; bool move_volume_up(unsigned int id); bool move_volume_down(unsigned int id); diff --git a/xs/src/slic3r/GUI/GLCanvas3DManager.cpp b/xs/src/slic3r/GUI/GLCanvas3DManager.cpp index 23a8f4c15..5e9048d54 100644 --- a/xs/src/slic3r/GUI/GLCanvas3DManager.cpp +++ b/xs/src/slic3r/GUI/GLCanvas3DManager.cpp @@ -237,7 +237,7 @@ void GLCanvas3DManager::update_volumes_selection(wxGLCanvas* canvas, const std:: it->second->update_volumes_selection(selections); } -bool GLCanvas3DManager::check_volumes_outside_state(wxGLCanvas* canvas, const DynamicPrintConfig* config) const +int GLCanvas3DManager::check_volumes_outside_state(wxGLCanvas* canvas, const DynamicPrintConfig* config) const { CanvasesMap::const_iterator it = _get_canvas(canvas); return (it != m_canvases.end()) ? it->second->check_volumes_outside_state(config) : false; diff --git a/xs/src/slic3r/GUI/GLCanvas3DManager.hpp b/xs/src/slic3r/GUI/GLCanvas3DManager.hpp index 98205982f..32aa712d3 100644 --- a/xs/src/slic3r/GUI/GLCanvas3DManager.hpp +++ b/xs/src/slic3r/GUI/GLCanvas3DManager.hpp @@ -75,7 +75,7 @@ public: void deselect_volumes(wxGLCanvas* canvas); void select_volume(wxGLCanvas* canvas, unsigned int id); void update_volumes_selection(wxGLCanvas* canvas, const std::vector& selections); - bool check_volumes_outside_state(wxGLCanvas* canvas, const DynamicPrintConfig* config) const; + int check_volumes_outside_state(wxGLCanvas* canvas, const DynamicPrintConfig* config) const; bool move_volume_up(wxGLCanvas* canvas, unsigned int id); bool move_volume_down(wxGLCanvas* canvas, unsigned int id); diff --git a/xs/xsp/GUI_3DScene.xsp b/xs/xsp/GUI_3DScene.xsp index 38c85c328..5c2f7df85 100644 --- a/xs/xsp/GUI_3DScene.xsp +++ b/xs/xsp/GUI_3DScene.xsp @@ -230,7 +230,7 @@ update_volumes_selection(canvas, selections) CODE: _3DScene::update_volumes_selection((wxGLCanvas*)wxPli_sv_2_object(aTHX_ canvas, "Wx::GLCanvas"), selections); -bool +int check_volumes_outside_state(canvas, config) SV *canvas; DynamicPrintConfig *config; From 33175a02f37b588654ce7fe294b38863072e9aa5 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Mon, 23 Jul 2018 10:58:39 +0200 Subject: [PATCH 30/47] Added xml escape characters detection when exporting object and columes names to amf files --- xs/src/libslic3r/Format/AMF.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xs/src/libslic3r/Format/AMF.cpp b/xs/src/libslic3r/Format/AMF.cpp index 21d4b4d3b..be513166e 100644 --- a/xs/src/libslic3r/Format/AMF.cpp +++ b/xs/src/libslic3r/Format/AMF.cpp @@ -761,7 +761,7 @@ bool store_amf(const char *path, Model *model, Print* print, bool export_print_c for (const std::string &key : object->config.keys()) stream << " " << object->config.serialize(key) << "\n"; if (!object->name.empty()) - stream << " " << object->name << "\n"; + stream << " " << xml_escape(object->name) << "\n"; std::vector layer_height_profile = object->layer_height_profile_valid ? object->layer_height_profile : std::vector(); if (layer_height_profile.size() >= 4 && (layer_height_profile.size() % 2) == 0) { // Store the layer height profile as a single semicolon separated list. @@ -805,7 +805,7 @@ bool store_amf(const char *path, Model *model, Print* print, bool export_print_c for (const std::string &key : volume->config.keys()) stream << " " << volume->config.serialize(key) << "\n"; if (!volume->name.empty()) - stream << " " << volume->name << "\n"; + stream << " " << xml_escape(volume->name) << "\n"; if (volume->modifier) stream << " 1\n"; for (int i = 0; i < volume->mesh.stl.stats.number_of_facets; ++i) { From abe7a71f85d28ed4561ad357a3d59cae39f0eb1c Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Mon, 23 Jul 2018 11:43:06 +0200 Subject: [PATCH 31/47] ConfigWizard: Wrap printer model titles --- xs/src/slic3r/GUI/ConfigWizard.cpp | 37 ++++++++++++++-------- xs/src/slic3r/GUI/ConfigWizard_private.hpp | 1 + 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/xs/src/slic3r/GUI/ConfigWizard.cpp b/xs/src/slic3r/GUI/ConfigWizard.cpp index 2e315a70b..0c42168bb 100644 --- a/xs/src/slic3r/GUI/ConfigWizard.cpp +++ b/xs/src/slic3r/GUI/ConfigWizard.cpp @@ -65,22 +65,27 @@ PrinterPicker::PrinterPicker(wxWindow *parent, const VendorProfile &vendor, cons auto namefont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); namefont.SetWeight(wxFONTWEIGHT_BOLD); + // wxGrid appends widgets by rows, but we need to construct them in columns. + // These vectors are used to hold the elements so that they can be appended in the right order. + std::vector titles; + std::vector bitmaps; + std::vector variants_panels; + for (const auto &model : models) { - auto *panel = new wxPanel(this); - auto *col_sizer = new wxBoxSizer(wxVERTICAL); - panel->SetSizer(col_sizer); - - auto *title = new wxStaticText(panel, wxID_ANY, model.name, wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT); - title->SetFont(namefont); - col_sizer->Add(title, 0, wxBOTTOM, 3); - auto bitmap_file = wxString::Format("printers/%s_%s.png", vendor.id, model.id); wxBitmap bitmap(GUI::from_u8(Slic3r::var(bitmap_file.ToStdString())), wxBITMAP_TYPE_PNG); - auto *bitmap_widget = new wxStaticBitmap(panel, wxID_ANY, bitmap); - col_sizer->Add(bitmap_widget, 0, wxBOTTOM, 3); - col_sizer->AddSpacer(20); + auto *title = new wxStaticText(this, wxID_ANY, model.name, wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT); + title->SetFont(namefont); + title->Wrap(std::max((int)MODEL_MIN_WRAP, bitmap.GetWidth())); + titles.push_back(title); + auto *bitmap_widget = new wxStaticBitmap(this, wxID_ANY, bitmap); + bitmaps.push_back(bitmap_widget); + + auto *variants_panel = new wxPanel(this); + auto *variants_sizer = new wxBoxSizer(wxVERTICAL); + variants_panel->SetSizer(variants_sizer); const auto model_id = model.id; bool default_variant = true; // Mark the first variant as default in the GUI @@ -88,22 +93,26 @@ PrinterPicker::PrinterPicker(wxWindow *parent, const VendorProfile &vendor, cons const auto label = wxString::Format("%s %s %s %s", variant.name, _(L("mm")), _(L("nozzle")), (default_variant ? _(L("(default)")) : wxString())); default_variant = false; - auto *cbox = new Checkbox(panel, label, model_id, variant.name); + auto *cbox = new Checkbox(variants_panel, label, model_id, variant.name); const size_t idx = cboxes.size(); cboxes.push_back(cbox); bool enabled = appconfig_vendors.get_variant("PrusaResearch", model_id, variant.name); variants_checked += enabled; cbox->SetValue(enabled); - col_sizer->Add(cbox, 0, wxBOTTOM, 3); + variants_sizer->Add(cbox, 0, wxBOTTOM, 3); cbox->Bind(wxEVT_CHECKBOX, [this, idx](wxCommandEvent &event) { if (idx >= this->cboxes.size()) { return; } this->on_checkbox(this->cboxes[idx], event.IsChecked()); }); } - printer_grid->Add(panel); + variants_panels.push_back(variants_panel); } + for (auto title : titles) { printer_grid->Add(title, 0, wxBOTTOM, 3); } + for (auto bitmap : bitmaps) { printer_grid->Add(bitmap, 0, wxBOTTOM, 20); } + for (auto vp : variants_panels) { printer_grid->Add(vp); } + auto *all_none_sizer = new wxBoxSizer(wxHORIZONTAL); auto *sel_all = new wxButton(this, wxID_ANY, _(L("Select all"))); auto *sel_none = new wxButton(this, wxID_ANY, _(L("Select none"))); diff --git a/xs/src/slic3r/GUI/ConfigWizard_private.hpp b/xs/src/slic3r/GUI/ConfigWizard_private.hpp index 04319a1b4..c027f300d 100644 --- a/xs/src/slic3r/GUI/ConfigWizard_private.hpp +++ b/xs/src/slic3r/GUI/ConfigWizard_private.hpp @@ -27,6 +27,7 @@ namespace GUI { enum { WRAP_WIDTH = 500, + MODEL_MIN_WRAP = 150, DIALOG_MARGIN = 15, INDEX_MARGIN = 40, From 1c58c3e15340833555422c0aad2e9bef8c7c8507 Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Mon, 23 Jul 2018 12:34:07 +0200 Subject: [PATCH 32/47] PresetUpdater: Fix incompatible bundle requirements display --- xs/src/slic3r/Utils/PresetUpdater.cpp | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/xs/src/slic3r/Utils/PresetUpdater.cpp b/xs/src/slic3r/Utils/PresetUpdater.cpp index 7ed963a16..b5eab115b 100644 --- a/xs/src/slic3r/Utils/PresetUpdater.cpp +++ b/xs/src/slic3r/Utils/PresetUpdater.cpp @@ -541,10 +541,21 @@ bool PresetUpdater::config_update() const std::unordered_map incompats_map; for (const auto &incompat : updates.incompats) { auto vendor = incompat.name(); - auto restrictions = wxString::Format(_(L("requires min. %s and max. %s")), - incompat.version.min_slic3r_version.to_string(), - incompat.version.max_slic3r_version.to_string() - ); + + const auto min_slic3r = incompat.version.min_slic3r_version; + const auto max_slic3r = incompat.version.max_slic3r_version; + wxString restrictions; + if (min_slic3r != Semver::zero() && max_slic3r != Semver::inf()) { + restrictions = wxString::Format(_(L("requires min. %s and max. %s")), + min_slic3r.to_string(), + max_slic3r.to_string() + ); + } else if (min_slic3r != Semver::zero()) { + restrictions = wxString::Format(_(L("requires min. %s")), min_slic3r.to_string()); + } else { + restrictions = wxString::Format(_(L("requires max. %s")), max_slic3r.to_string()); + } + incompats_map.emplace(std::make_pair(std::move(vendor), std::move(restrictions))); } @@ -556,7 +567,7 @@ bool PresetUpdater::config_update() const BOOST_LOG_TRIVIAL(info) << "User wants to re-configure..."; p->perform_updates(std::move(updates)); GUI::ConfigWizard wizard(nullptr, GUI::ConfigWizard::RR_DATA_INCOMPAT); - if (! wizard.run(GUI::get_preset_bundle(), this)) { + if (! wizard.run(GUI::get_preset_bundle(), this)) { return false; } } else { From 0bd8affab9f7dce5dd1a73bc4390b88d8507a9c9 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Mon, 23 Jul 2018 13:54:43 +0200 Subject: [PATCH 33/47] Attempt to fix #1067 --- xs/src/slic3r/GUI/GLTexture.cpp | 9 ++++++--- xs/src/slic3r/GUI/GLTexture.hpp | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/xs/src/slic3r/GUI/GLTexture.cpp b/xs/src/slic3r/GUI/GLTexture.cpp index 2af555707..18c9f5dea 100644 --- a/xs/src/slic3r/GUI/GLTexture.cpp +++ b/xs/src/slic3r/GUI/GLTexture.cpp @@ -79,7 +79,8 @@ bool GLTexture::load_from_file(const std::string& filename, bool generate_mipmap if (generate_mipmaps) { // we manually generate mipmaps because glGenerateMipmap() function is not reliable on all graphics cards - _generate_mipmaps(image); + unsigned int levels_count = _generate_mipmaps(image); + ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 1 + levels_count); ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); } else @@ -149,14 +150,14 @@ void GLTexture::render_texture(unsigned int tex_id, float left, float right, flo ::glDisable(GL_BLEND); } -void GLTexture::_generate_mipmaps(wxImage& image) +unsigned int GLTexture::_generate_mipmaps(wxImage& image) { int w = image.GetWidth(); int h = image.GetHeight(); GLint level = 0; std::vector data(w * h * 4, 0); - while ((w > 1) && (h > 1)) + while ((w > 1) || (h > 1)) { ++level; @@ -183,6 +184,8 @@ void GLTexture::_generate_mipmaps(wxImage& image) ::glTexImage2D(GL_TEXTURE_2D, level, GL_RGBA, (GLsizei)w, (GLsizei)h, 0, GL_RGBA, GL_UNSIGNED_BYTE, (const void*)data.data()); } + + return (unsigned int)level; } } // namespace GUI diff --git a/xs/src/slic3r/GUI/GLTexture.hpp b/xs/src/slic3r/GUI/GLTexture.hpp index 2e936161e..3113fcab2 100644 --- a/xs/src/slic3r/GUI/GLTexture.hpp +++ b/xs/src/slic3r/GUI/GLTexture.hpp @@ -32,7 +32,7 @@ namespace GUI { static void render_texture(unsigned int tex_id, float left, float right, float bottom, float top); protected: - void _generate_mipmaps(wxImage& image); + unsigned int _generate_mipmaps(wxImage& image); }; } // namespace GUI From de085fdb6c2b575d2fa4f2ea84df7e3fa7cee5e5 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Mon, 23 Jul 2018 14:21:14 +0200 Subject: [PATCH 34/47] Power of two squared bed textures to try to fix #1067 --- resources/icons/bed/mk2_top.png | Bin 102340 -> 33621 bytes resources/icons/bed/mk3_top.png | Bin 85263 -> 190302 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/icons/bed/mk2_top.png b/resources/icons/bed/mk2_top.png index 142050c3a26328237307af611062de60bf1fe3ab..cab4b966f86544dd5fa1f4736ee0052056810873 100644 GIT binary patch literal 33621 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 literal 102340 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 Zf>v$#So~4p4D%+_LC1hof!Z~DRXUj1% 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

yUt7LI_ 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�{gNZn0IrO5y8xTtTq~u}RzgN8 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�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≧eD;nEh|q= zXp>3e0<$mMkG;vkfVp>UEM|_2PvzLN16bTXobnO*p*@^j`#{Z$pb+-kU|ah}uM3KK zc0jMV_AwMv0(h%|fdLqp+@E%~)3TxF;jf%Q`48-gT(@d_q+|IJz(@v|Q8%YJ)5mH% z4*=l+>}0{9^UAYV-CF_J6=+1Swl<+nC4+Opu4&zHd;K2;!YoO&cpt=N$}}HA$PmJP zm|Ous5qedOORC;|A@q79l~1{RNLkiMNx~6-k%$ zs$qI31E1aQwy*+`tBmI2JM z=ipTUvF$(k$B?hZ47=(b=u@C-8M5nk+XB)0F|21iU`57)Nck+WoT}3>vzXlIB*2MT=%H z^(J2pcsK>+8+9?hp_ctlv~=jc2~`Ro zfd-n`?Bsf*m@IlLj0F`gfhiU$0U7ua8?Wl6J>#Ro)X!_-k$0GdJ3~2 ziRZcHVW5KpIyn$)KL+ncvvni?JIDHmUDm4=k?$!;c6V+3&*Sd*#~%H^oA}ZX;F($d zxZ!{P_TS~(k-<3o2rP>5G~)mwU|MaAq41zOuju((aehz`FVUp;licUXoBRY^JSe>8 z+rRs7)8Bt?xJ`<0dB?0DJeq-62Iap9|9ia5V0F>@b5PZ?9ujz;7C1acm(d92-8}CH zV*dME^UsG&Osy}zkmElQHAzKO*QRGU*B=B*r-0M>RnJ|RrwPir)4N^cr=P}sX+4jY zRC)Wir; z#zJm|70}`J+(q{U)dXBuNWiopFTdB;2Hy;QWf~=o!xJVeEzTRhy*Qg|EiMpNYqB#E zNx}SsX;? zR{4(49=KI>+gHu3%ZS%+ikI!{y^}xom==_ku4``%)A!R6xzjAs2=-YnJ<(>~oU7|5 zJERqkF{1;Jh2>^u*Ogy)1u{mnoOUWSE6Yp5#4Zy8$EyEd{9E9$GT2vOd8)? zj%@DHf~f!cUij;~=DfU>m5GL(N%>a|walog0cZEaW@;J4`Rn<*c#oLiYd=WlA5wi3 z9HL3n(o-JvCLW^g&n0WHPUvrAVDS-!Og^?sq-rx1QrFcXHS-aWa z1QmEGo7xgm6Or3ObZMkM-#~Z( znT!7%4U2whI+>mAr}B55!?Df*`=XFp869;=jPu85RntOK7IdYTik$pKD^h76Yu7+g zIP<7#`|^f>APY^uQI6b)9iDmRWUjWYIL~Dy_F}bewcFI^qnQtVRi&tw*N)?h1FCNG(3L?~CcG9A$P?))^9gT1Gw5 z95)Q#ax8Dr*bmuUUTj1!1#EK-LF5+*U08=HEOzJ6Wu)OU{<{aFUTy?}QM)9KG9Ez~X z-Y|uce}z$9GTk{$&@ec!X?ofUZTU=ou{D26kha-Euk!-Yz$A60We6OG@V^+h;Ul8j zH4O$qyismRo-#3x>n!65%`D6}im+KaFtk5heY%W{u@;-(D=Jo7`xweMhq+Dwx4*!c z&iW8__X3fVmEH`+*h7@wU4@*{Na3GSI1a=_vpy>|-Ns?xQa3-l_Bcti(>f#$5h8l| zXqL&XT6mv`J~Cf)j|7+nHE!gu9JnRsl(ip>ZXM;}*u zX=pPQQ8gBxx>$|s2ermJ$<~o?;v5ymRkHd(bHEjA67wO^JrW|OKDn$G_^ligEn)a^ z@dYb`F)E#i^;93OVkdLfR!Y|T-eTNbTPuU%x(0eM&r&pPlqhQZJG$ILIP66(Icvk( z;$;fv$^1~+^y_!({rJE<=^<#&pK2vZq0sYZNyt z@;B)`50^{>&q z5aK$8&%Dw;Rn==vRQvpBdhCARk*{5G!1dZXM&2fMulwR>Kq(D8qrFCy)8dic@{4k5 zZdpEf0rck0egW+bl=EPE@3*Qx+a`>q-%;tM4G~=+volBeW{QbszwV7+7#vN}J+3Fp zP*_4fFbGlI)9xsCQbOVBoG&W| zeTV?=ZAs-m9B(qlmeoWXgnO!JC9m@(eH;s_PF>w#Y*e4v;ZuTBL5fG^eQdk+s};-8 z$d?G3?z98+M2toXTI*I(Mha?ziG6uFbpknwrKaj{XmhxRGY_jktY<~_hfN_@=}xhR zXY^NBsCP^q4zJRjh%}QCn9lf_;Ah48WoWD+9rES5GXs(uFT_mNY-)1wFxVwkb>FON zTo)x&Ki?~H#aIgA?<#Z+ERe(gUVq^{ydDqAkRduX3dFdN&H zAB6V$-Lyz*OgFGtQ^S_qu(dn3^J8Ic*WbS~gh%{g=e>78oxa?Xj3JoSg_{r4S|%50 z(HV<_;R(KA^{pL{OlBw?5P!IY6qbIHqYXb@`GBZC`@VPu$&VxZ*?;~Ws#a%mUPD>; z$3lKy>oA&1MNN9Ri8rHEwO~R=!CXwF4GAo5YGhyK@3rk0v@+z<4KG6RB^PSt=22kY zM^J0QH1LV`bff23nqN*)i(o}-&!)sYZrA9Ld*3IU-8=X~%ogr59!pIz%sBV*y#zy- zGq9!Fw6l+^eV67N81;1ctEH`^G=OC{;92UZ=+u}@@1e_as9G?U7A2{SUuq$yi}~&Y z7m3YLw-*P3f!X{v?GhJli?G}e%|#F1xjWtrCwmD~C7h_rT^XG(^(SiZDYTVgu`kKI z2UUEGhyIG8Pgw*-nj2*3)^mi2&u#=~x@?i9yes|uoQmRZ88hCdoB*eQ8T#W7OY^cW zWQ*;wIWYyN**g=N5#lc^E~@CqMZav5_``nXwmZ^C-0DVG&E2%)`_8DRzhI;zgYS7f z1Z^bha|*80{TF}!G`X$u+zTH`Bac!2N$uiI!s~e2KNgO!K3p z%wn{DLO@J7yjmPc;q9}4=Z~9BvroCmCZKv#PM)u57$;tBSxr>zqJ-NUWphtZ^{uvw zYW|b%qRj_bm=MaLE3fxq=V9(U-ipjwdzFuBOMV-&(zCf#3A;}vs5H8B{Eu(U$tTN_w1+8=!UgRw)HjsLt0>rqWy_uwNXUQmwc zDCu{GB4PD|4zh9ORLcA#KZ`fcxc9tQD;BW+0rS@8gDB`6`(*;=iLGsWUcG0=4b}@GKgSsI>Gzaun zzx)r>hTsAkhAwIc-NBE7${Hw4N8#V3hnr6HzXKf!8p{HCH3RDx--qSq0&v%yy6*vh zWw9qPa7R4Nf>gRnKXpS+A1c-X!yo9pal1BM(?~h*8td!fWaCKN;&NKM@_)_qA;Yz9 z#|c5BXrPgef*bmI>;d&i0zcTkMzTTS>1Ah{tLtB`xma)*m)o_ElHmKPaP*?uGI1iN zUID0ro6xQbNM#H#48JQQ1v?}~yZ$|$Mf}&4%7mmg`jc9}LO*V(yv+EYrU%k$!|vUd zb+L&S?8>*{|JFcZ4EnnN;%(zrm*E>q`k{?(Ji~F(`7L0CaB;y21LJofNpZB|?Cq{H z_jUBB5OjR4KG%!@hiJ9_p!SL+|EeF@?4Vu4-k#NoZle1$U3TBr#x{)EsxTDuBJ}b1 z$#ziwe%R3HHxMtg0Y=pNdYq1ydZWahJRxPe@v*T^B<2mDV-~NIxI|FG$_0^@DBW78YhRk}d~k!K0~b z1+52kbphLa0spm*;ID^Be=|IAn)~{afPfteNbw1h+4_eK$YH-Y2P%*pMopZ3sHt=4 z$Oq6DDQ627Nr&fSra*gVpg;9pc0LycGpfkXc|ntO8;|1~pI#Yx!RGki=rTlTYiIWV z7OwCYad)S;rpGW&332!FI9FTpi2h&EVOf9>=~LqWgrD&AyCD< z4vW&LF+TnTVY$2Go@e{JrOAN*L^S8kB>Bw#I$%A7L|{Q~d;UEg2UXj+WPHQ|5F9A* zw2-()_W?ll0BJ}Wnp*4xSdtlxW9GCu0JQ$yb!+6cmtk#UVIhUe;_d!*-y5oi@q>@I z@ZW=ie(K4QfWTQLzP=Qu_nV-vD!QmE=)U!*0KzEr@&e(~Y*6*EX%(u8Idxz_X8^nA zgZ>@ngP71e^4{2=XO@UIYY*t!*CHl|{Fne-gx6cIS0z!U9ctIK%;z2*#}Z`)42i=1 zaLo2i#J~wDm&8gb+UX<+)3>Pze2X$gP9{LE?)5MPHe;Sg>3RLHrBA6^-C8uq zD7GUF8=5ei=lxQ!mGrilp)$j>1 zXQY7^b6{LngsHT8ZZ}!uuUodvSEL%H2quC6vr!Yht2G`zK^FVcf~qF}x+4PJu${86 zbUM97r#JC7zPh`*qcT>8eX5LL#fNrHFTdU3pB%7b!YCArBl#HNa^f1ERU2&3ppm2Bl8uc-V*-Z z{CMPZm5P~@)j6*&l1fU>VBKx%`d+QGUf@%|r*jcwMsD&ufT!RWJ8Qq7{XZ{2k-0J? zP&4gqq=F2GBHDmM1@(g1Tv$-tABKb6&hWC4XnfoW<`oC(mk%<@6)cGDX< zyj*Qzxs0qy?HL~CV`cGfl)&=V$u>R%ITSKlcNfZSyN^uR2x`*)4rN*fF!A0Pe>Bs2*e zozQpH7$?N^wO(AL^b?`d<=u>v)f;eyj;tXhS=j3v4SmCZR3Mk^w^eQ z-b4o}jikW|?)^zmm!zg{qw64Dd+Y*_#mk%3N=G!^uE2ztTP&{0W{)77P=a+*q3*SWx0fpH~Oc}}2 zgFG`0LS`A0?>T#Z!hB2matylhWr!tlQ&-fHLZIVv>nfWrH#0~{GY0>Sj%NrxGKaV4 zw47EI9h4~IUAH<;9$3tru)oV)8exPRk@Kau4*B7Q>wK9f@pJ0?$Uos-EJCRfcon?6 z3S5&+I9A8pSpt)SEF_0ZH{73vUd&4=jyHa~wpl+U1Ktnks%t86DHEz5!DlAl@LhM6 zNm!dk>*1t$g>|L+bPsBhtnp&y+WN`d4kRvDp}@Q7xo6@1lAwYxhsrm>z;V@@ibZ~O zHk$=a8qAGBrlUzicb>iP3L>V5DXgyjZ}v@7_)y#Zf!svi((h*JLtc_&N}^MPCYnd| zHD+dWA+=g?5Fdos(mQ9xcWc8%}|M`f(r#qv=j3VBCNtNsLB@z4svrw)mj<2uJHZ znf$ujhkL6L%le5A0?lC&>Z=-yUzIRrsLbHQuuyRiUs)oj|29qFc#D{Ffv!KlaHVgP zZlbTEag)NF9X@Su+kkFbMCIr=UH?X&?$440?k6F_FV0`|Yn6k^f|;YQQ2 z8f^y5YB|!mH`wd6=0SRnD4egEo`89`QE}lTr#NW@WO?C}53{3LsZ-Fv8FO1?;#*u) zy(}|kvwbd#%st}Nbhej-2IWXE97->R7iC_RC@2lSiR?`bi{K-^MBUFb`x{H$gsqb$ zM&rvc?i9D3YaE!utvXG@S$~jvYCl!WD`&0BmXdnok3(5sN86y}=}E*+dR-NY|HrI{ zY||=Eq6tOQTxk)Ki&Mh^37UB%cmYe~UCSaL6l>lw60nGzX}NUMx#x4!@fx?O{(?_` zDNC7;A_|?+k;j2Z^#i0bzVu8y3T0$bhKujLRBD3VN`2$9j<>j`TPd3;laLcL9rGpa zA633ma{<$Uy05>G((=)k&C~2}^y-Z)mtALsAFJ$-;gY?ts!4(>0%|9nx$fBuEjm>L zqDO+%bE+wr%krW=YUbD_|NJBPI+cE*omn!lW3fH2d)=K0;&lClx(1tKsg%q?JMvCL*8Ll^35ZYRA2=rip1UeZ4;)@^ zxiW|3(p#lwMrZj583H|y$p|);u@nVX-~4bk&c4LR4{_qO4Yc}wGOv7DTysQdk9AjG zlWNWC6YGq?MCc%p;-*6mlwRH|%g)_O+a!8ymUdtNxNF9_tP)0mG>&~_>};pL!3>qV zeoXXl#?Px^R>JGEoEP<=$^S*0^G&cESM>`*mSxE-qD zaGK6FSA^}=ay~Mz=heC+rcN~$&dBPDY&D0-F{d$uWac-4R}eqx-vSyNp{C=g-#pkV z4D=nWNs8T+BgVC*unwA8I4)6e=`ngdU}1=35i6^z#KH7^qS2`Z4Y=0;EOGwriPV7J zt9#E6A8WV{ zPVg{dz-R{k0uUo3_qFB%$mT+~a>nah^8cbQR2kJkptQ;3Ym%#~I1iA}v9h){wX~Gx zCuCWk{QmvL*w~mwGflyjWzOdU{w_WnmHA_j#X55&Xoh6Ip+3e7crDG$@@pWY^VBRt z5$6x!Z3BpVPn@i!&AVk1-J8OFZ=gQ9L7v$Xj!t8qxgMx~X zfKxwneh^kY|3ZOlLYD0;4d$OP^L8c&U&>)PJO2!VR}>U@epbGvu{cPF)n~lMoajF-|8<* z*E6&80Dmd8?E&xHQj9Nh0kB{EiBL~l=!x_1L_3kTuM~5<-37A)D1ZhFHpcuaGFcVG zd}bcantvlyxp3SEq^!q_w4P5^4H@>La#u7@M#O7Cm<5s^z}5(BH(yS8U{4J!<;d-u z|L5_1@ZofvP~%JudoNed^Qctu^T<4jABcH5KcLLR zq~;C4i^TwY3w#(v7;w-P6&1nb+ICf_mg7o)EGNifLfbUxCW)P} zAm-fU`ThQWiE59e)1qT{L0~-ITy1k3IgmRl04~Vg(X_3TrG~m=+K{-)4Ul65Z89uO z5a`&NoRJQ0^bo~ip!X6QZ6gsn)CW%*a5aK;4u|j7SRnA}^WbUO%Ko?>{NBhLA#4x_ z24H32!5$0hx=7YZ;7H#QY3}Umzfp#t)t5o_>z8_4+(MVWD{%K{8?&uKyF&X-33pWv4X3MRVJ8M_S8pj2v+CPTcddG%U14se+t2<_L=pLdo`mA0pBbFBJR9E!l`j z4J90+*)L#ik?5OvLaD9=IKZqCz!j@AA#*pKHZGBl)#&K1F*SOr?DJ;UW3R0g2UC@7 zW*kGK;J!D*N+P;?J#6s|OujNANqvo&cC;TQaFDimFiUcf@83mbh4F z{OD?o%czuedB}*B>adZ#Q~iW?7AqS4`0NhPR>>PrIDNY>-VPYIp+S;DE(lkx1CWA~1E9*rE;GNW~Cze_Q`D9*Xe@Hs7Sp^sl~`YFri z+u0Q?M#~9&?M{=H@l5vU(@)_~VS%+x^;CiF`xfTZBrgRxqb|_1 zlD=~<&D2ql{ZwT6>pQppei=_fK?{Yew9(#4Q_{pkhAN%bIMfaGU*Ne)hG^1rdgG)b ztF^S8?B_(5>9i;Vjl`~S>VXNf_a8XP+Af*xR+tb{btAvSY2FpDuR80B?hp|GCO<8E z@DP1aNr4rKb`F7nv&VP@Wbgbkuky*tcfh{f{BqqwqyRzZLi|m*k#a)c04$%-e7uL1 zD|@7_RjD_RW1IX<5k!my6guG*Fjwd~PUn*aA`(HkRMwH{N2%1lFnqxh& z>+-V}$;7=J2w&B9dz2}yF0!l;UHrN$$n`&wQTj}zlhONaF%jwG0sO!dz z==%V%yHZC;nd>ba=B)6EBZR!-Ab7{;{VhXPaMa3$-cHeThrP@4(1RT(qR)KzjLDU6 zg^fgU{KaSv954`u$l>l)hbqhS&`aOi>&fWopRzgF%T7;=MH<;XN@wHqV!1Xm(iOiS zUu?IR{*yQS5GhV`mcmJi>(lbSXAz~L5W9|5lS@5LDE!$lESzt7s~?;Xa@Gf8?$5R?9TLnBbx-o-%*H+nOL!+S1^oyR5> z?W{G5o$v5YzB58I9KiEG`J6|hC zV$Zk|q}FwCEQXh#z}OAD)4w@)t!4Ylf;J(Odf$saN^E|mXSyzn&UniEOk{GAxzgNi zne);Vt*nswf$7%+ePf zbA2?vEJ=<;MD^c&K8cg_UF%2+)@m}m+1hc0RkHN@KETTNvvY7B3&C9Fn!GmwsNKMmBjb?ZI-8WC zmMHy_GH&v-S8e_!dWp$flQuj;Wtbm9U&-%yadehzr_kNUmOpnItrC{HG$^%{vRjq) zB(Z*|&S=GQtaetedK0d!I?|l+>|H;Yc#uwrE0&I0xTG_{BJ1#Z*;dL0cY$+XQ1c}REM zmI6JoyOqG8((IDuAw61-Vn9;Ny+qKd7kqFLCc7BQyG8XkDP|h@tQHM@1L4%lp<*}b z?W5W*xD|Ac!mnNdWzJ;Bx`^;*7{efuG z4@uPZd1merVTIaCB7EPMv%0w}-Z*H?b+Cn;M&ucMNIDV-?5K%jL>ZT2hS%mDM(B^N!004M>&7UmSRGL(#5car zGN8*=;X)KOSHIbbd0P(R`I1gQE^5sAj&$0?HdE#sE3rq;Yu!PhDtVqRBLv<>1b(LO z0AxUyQI?ioP+FMg;jMx8=481E4Ky*t+itF|F9Bu!1sIy61kQA$g}}_u&ja>>v{!gv z{s(SQ3jv3g=xy61ezDxuG8C!K(y|H%^#GP4EntlPkSmxD0`(_|8A-t3L32q!0J;@t z4xIoA6@U%|<(-c18m4 z{rmTz4WUWPV@+}fwJIpJfZ-3%WC$4Ox_tQ_!RD)Ob^%7nsLMZi7{5KPZ-*K}leYcvg2T*B+)d>iPX=L@^CP}^6S5e7a&=pHH2fA_#Ec?WW1&<+mx zw?6(B7)>b1$jG=2+J!FtsxW@CI~mXb?p3hkt3>pg;XlXMyIhM;RZxt)|LqzQFns+3 z0Cdxi%L$>a-8AFy*jNmj?Hix2@7L$TSin98>$USmw%23LU}GeA;ZoS^-@^tLFjp@0 zJbO6ye&9FX6S-Z52SmFd08;mRYz@7AemIK&cyfcgXSU@@prA3cvi1Z2S?P;f%fsWA zfa8|Utc^#j>S$8kJca*>V_UB&?vaHbP8y)vh%G|$)@0T=?dpe77T_q8gTf&AFReu{ ziSBCt{bl2(oB-m*;-DxZ*4sxHW0j*DQLr?$7kKox!d@A@L!e@`x%Q`k-Uleq@o^uR zzcBVAG0i8yZoBO4u$sW9V-W00`9oLL1H?KkkiSWlTlk#IQWgLI!5f&!LT`3J2FdT# z-nheQZDdCE$`{nG;Dh30dLHX%M!)d;y8$<2Ke#<*AA>CcMntbF z98L%H5H5zVpr}HVj4Q*TERdLcF=S;+6`yaTj?oFbUKP6c9|mESQdZE5n=p=-lQSgW zXe!sCV&ougK4P2Se`x@!h3I`#VT937eg1XRBd;p3_|e8;zer)Py{&r1n2(t%nJTar zW)w&$B@9P!%Ccy;-N)@CF!GtosQ*ZQ(2;G{tCw9J$}KyW2V2rB=mc46cSzCHqMfdo zX1ZIikWF>if8uSVOFF^%DU9m4QutKtBhpZrHPVEB=u+<>{}Ztd zGgqdnETG*|5XJ6{~2s?GEX`hkC%16%YW)>n1 zhH;JNN5S6MLiRG=P5SxnLI<$C(deBaBL8;wVx1W8FvPRS_km* z--V44>%0!}@jWBT(BZEyF%%pfW>1ynAAg`;xN{E{Vkng5GV;0M*CNwE$W{CiNzSrR zas@GwRnP^X>lcFl9CPalJFM3{%wz#coR@a~m zu<@FY^J3BP1e`Ck8#^HE7Izi#VHngG$bEa{tbOCDpDT%SkV&UyGQ?Nr0P+qTxyiPz zCKu~j=j(}PpZ&jx^#9c%WmEL6Hp_HS^&z&_b5mSBr{%L7iTOpl3mnOvPdfnV7 z$x!cyRqSEjRhX)sy|1YL&N2swwKLvzQA-^AoXRP~pEXHa77+XKeNN6qMp$F2+v6M# zDwbT(M_ed=Ieh&kTP@T34waK9izdo{uz!&KK3CK=DM^$ z*ztoGTq{ghwjHuC3|2Y`R}X4%M^S5DkD{`K3b6{O&FCFMlJXT52y+ zlT;tj?mFl=yfMwsilt4}8jN#AouBXVya>KA(9tA0n+Z+5gXDm6_{g-WoS9k|Y12m6m z^$R{J1_rX31)Q8FL$>>!nLSvM5lp8rI<@|M{xwi|_q(qVGJqI1K~;OdkbSJa?B*IJ zK!waF@Q`hWf)}&oaX+>v)8bc>MyromRH^EFe zm2Vr05luGvB&SSKuweI@HkS{79=CmtLspHXsho>CJV0~0=act}}Gs-{KoUvWaZ zw|>1V4DUOCU)%+yv1^ITl1->uJK1}lYk$DAXi4IxRrp6!iVtC zDx*IyO%WlD*|^mm^_b9yd*9orNFvY_raif{aM8gKGmOSAy>zJ4N?%6jNDfA^!g$zp z5uMRH+gqe{%SaaeRVHD+e`zSJVyAkB>?aa<1$(SdTk5YD`N+bt<2gB=c!^PqiL(u| ze*dexE#mk5zkp3&sMFTX11An8WV>C<%F{Ks+PsQup)6Pp^wT}$)ndc4X&O-~bFbagRq`T4F#QJ0z(PE1PhQCB{;9BK6_x$+;m=?LIU!DsuMi%_R z`6H|HyYIB^<&N#=ym?rK*+d+TkVsog>2^;HCC_Ao`8ax_{7*~59qdKuYDkMDkF2t~ zu6~qc_UkO!ZB~J+zlugs*%seW7+LOglP8-L*SR4|RHuXA!5xiEOgpqjr*d1465edbd7cI>9f=jle(nkaC2L;c43p;9iZ5s)xdni7j=h5#veuUHc`JEYQA~iIi}ms79lIj~d`sVChV?a?J?^ZI4TWn7^teC^x;eYi#c{ zk%DPpUcMWkR_>_v_+9&<)?+1y3APQE(NURRYmzOF?yFw=?%8IbX*3A+FfRWVDcuk@ zKfLx~{+Q0sQpijrz?fP3se~zCWj}fyrLOLE<@nl8>t#WHN9o~OQ$updA>zly!!+xK zRlk=$@1`rZ|&|LhyRee&R(p~<2T<3tS!La0R# z$*mD0L-ROq=|0l{OGz(Nt?1McCPRH@*D5L7*WHB{*%=t@6!JfYNcQMxDpPw$U%Y&7 z*!Nb4|3kkndH?BH*}@F_h>BE5VN(fLK~v3U!TUsip0xjN4-ktn$`Xw4VpRw8V)zaC zkR9pg$RbLxC5(y2*WBR`luI=Dv9SAO?;cd0b-i$|PfbNR8=W_9!~BKLoPk@;scZNb zA99F?z}Hf5f-R3Jq@j7aR6owf*M{{(W73RLQUGvpHLMbl2nw#+9qXxSniN=>V27H8 z0?!U5P+0S6RcMv%=Ew=1xeCFKTO|RGocOoDb0uaSHa||E{g@B`&kG<%6U!8}06^Wd zpt1zB^Xpy07GI7beVn(UK0_l7XAkZm&Z1E;{jREopJe#5qjdvOTnxOpCS%IMLg3Rv znE@-B$_*rOhdKHK$fq<~j;4CR(kQb*PSkb|C0bUBUdzT!EiMvz=kU$(%KS;+JBz8W zQ7@AMdJ4CIfE+lI#G{J(4E`>ka`*IXE1*S8fhvDNg>m-T)5Q?~x@OC(luU_y08eoT zbKkwOpr6xAVI8RJXE{f}=ddUS+7EYN?vYavO`Mk@RiTI;wJ{>uvpM);~ds;pSN5edWTFNL@EFYDyOyp#B&qMg7V5vi75FInu1r(?p`-DcX}B3oR88Ld%9jY1YM4bBJ-^J zI@#sH8K87Gf#U+Z75|4$>S2l04X`e2R`%^*wZ9V|yOYpP2)b~I($XnJe3HSGUlJt! z`(ZV5ptl}O$BSgiy+1LgL?t?7J~)=l=J}p=r2&A(Az1aC0LR?$+`Mo+4G;o{puIVO zSHPr8{qJ`u{M}1qEH2pjC%^_T$EEr(aNvTJZwETy)7gF7b!I8bk@RB)IHsh5hmRs# z*gG)*WN7LR3JoiM+Dzt%xP#V;_v183NgaYs;DvTg@}#BU;RdfCK@q^;@(s`5XVHe+ z#?|!;u&428&eyB36bSS}_e9MC@`4Q16ZT3+zAFgcWR5~H@hE9QGwJ>gu3(2kZ7GSfc~E@)`dcQHD0<@0OSW& zMF|ki(!3d0ySKo8aWy50wN?x0>rU0_s>usL|62wki~nuMhSJkhXJ_#^SF_WaJUCw? z@7A6K!_I_}1Q1r4Co0e)Zs;SZc z*B)$HrCk8}G0RYDThhr(nQFe2&M;n0*0cwqc0qBPm)DN^Z{A7|qFfIYE$M67#9hpmT$w!Luc*jy&VE~Ur9DF90JqVQQCA*4t0#~zX{hm9aWxhwx66yawa*o0?$!~Tpg+63vk25V^dW! zg;XdzaE;e28>dhniN$Dk;6qsRu-vXEnqIT~Dw6KSiJM0sf?X?M9#|jhT`JZ^aFHBI1g2i-@WX6$1;doI(3|(({Ncof@Z6;({ zvWuUQbm5t|NwIN^uy^8u!h1hoqyD1fJ3x7}g48i3^?60G-rsP$aF)u1XdlKw0b40E zUMX6oc~z?$7uEW+K!_OY;;VW20D+8k)i^W?#=YQJ)r6`Y(=S0{PDw2GuTaX`E zAz>XA+YLRNsxnxjeuW6D(@#WoATE;tkNl!vQ0Bq`Jt26b*_rIf;jzF+2@-G`OX218 z;zbB9Y;fZelEcdzQ|ig~z9zJV&tgXoa@U#RRm%$C2hd>UP?6gsL_%tF#1MyV9r#gh`A_-cv_ixrCuy^!{7BM7 zA42|xo*wUE@FIVsOQOrps;OS`EYs}wK}0D)C8Z4+*=%)TPr#jji=4}`wh`JD;;=3T zL)l=g4aO4z=x<`CI*~444lsqFA|F#+@OiI$@5QYJRN@<&z*w-l&Keu(d(!kE5MeS~ zvhouWAX^xRgm_?Nmmwy9g|*TatqrIR*i2e$rg_E7cwQLwx)(r%>uki|!BFZau>9pv z+poTJ%9=M%oN$Rk6@u@(`HGmD>o-9XXMaT<5+n9*(HoHlQ-x<}r;mGMTY`ub=N!2ZpAhz1pSOC&YY|$WxaqniodC+~g4C%QQl*IJUEQ{0+Sf;AD(WCJP-Mz()>8EPOlMTE=?3s;M$ zym(E_Lcx#CABc^76Mw%<;I>6EKAw~-w212hgFNn=P#TmApCIlDw-UOVaL|t_b}pNM z1@6xaxL`3D^mmD3nJ1wYPkl0CwQsS5Xpmo6qre5%(o+3DnyxyosXttgkd#oAkj~Kx z(v6gKcO#%6-5@1MiF7y8Al=>FCEeX1-Q4ef_ul{fd>m(I+d13&yia`%KdTS%af)Wm ziF=J=9L0|Y7mK22^D#W84mF6Gpv~G_r<{HGGPEjihGs6*K)Dnep2YGJ8teZCk_eNHT40(pL+Rx+(g z6%8~BmfB(zaa)Aon>PPE2TjADg{jhVY<-(xC+U% zLC$neZtgA!7`AY7Bn&~aoUaZ6Lzl#KiT>v{zJYXqE(z#{Vt6gm|?2ss}^~$GfuAwK|3``+w9Voo1_-W<-4V;JTP4gmJOaY3?*?+fFaPZ{^{}VJ+EKs zhElY9JBuJF%^8(`+Z64>ldcs8t}U?I7J)gx!N4Fr-Iup~+bpmDu%~WjYUMrzb-uV038`T-TPC>ADgn|G-+Gb+!_%&Y`TZJi1z zGhSVeJRXef96voC=d1mpt2(S@m0!Nv9eKJR+3gI%Ilme45-2NF63hR5-T)9q&OqGT ziLPM0n7hubi%Y_me}v~SFL{|KYl-eFx(gjWy&S=Z3Bhcy+gvXxT{La_7(4xMQtuzD zE$6?uyC=iU?2avp9(wqm*034w0_^EM3fOUH&ix`%om(9 zHsK{d{Xtx^MH>2zXd3@Kc!wHsT+Fy@HPl2Sl^^M~hOHURJKD5DzP=MfU(b)m znvO3#MM%V-dFUp^@f^|(3)dfun*sce(QB1^W}9kd;PgdSqJG zwSIJ1#y-`gDo7r)nzl7yv630PjNUxbpY;6Mt94F1u#*4hJ1 zHSVWKoSOCi!{_}UH<)dv1ZzNKz7e!Q9%gw&LA z&gyjzdfk|u_azvRs1CYprfQ#S>wx5Ri3*GS9l|ZLUVrw|AGQgfOI_qA7}svq7?D$T zY6w-!IUhpGDMl_@Jr7GQwK+FSSCQerpDH~YMx>%|ZTC#Kr?S{8!I++A^-j>^uG2yb zX7}cvd3gp#zp`VEcC!9D(dT(gHNQl%eViWj|Pa z4G7}{L{nuJF#L~gzw&S15L+Pb400RUf7=xP6 zwiR>Oeuxeu8=%?+Ixt>mq!7LMF*weNf*2X4(e6yK1mD?E;cvK1ruh}O^`*Fv0lZPR z^~?(kRKy!fMfMTg_T>*#8c$@-LDZ!`l;PVV8XCm88gr?6Mk#E3!}0f0f-S%D9NpEs zemF8MF2v3hQbUl&zy5NQPMPM}Q>3h>L1{XR`R2Mc2ku@7Vq3}*YCo8y+>TeRSq$6D_ihTZ^YgNyQG6pC_-Z2R$x>JHM?`2wPN^$g_n#l{13 zS8Hw6-Yf?>mw7ndDO3FvSD`Aw>AKNbPISjy{4cULB?e07({9Q`GHoMD6z+^aUtf=e zw9W{J?u~Y{szuxzgpf=6%1wIVTq1d4dgVGb7u-3u4j<59`NMA`>$b;2rphpNp0SQT zLqW7#%uQ!tG(zJw*fl>ji^N%BB-O?2H}3he?}3|ioR?07d*+kYIam6(xlAtt$2Z*z z`aOHM;n)VgRAk=A#etb)zUGfCoxyfE!a3xdkj};c=RNv{+3V6D!k^<;&3b-R_W^Wy?dpx)}~BFIf_cu*!O**+bZFt?r5*w&-GJ^ za2&+{2y)uUvF2krvx2TEzzN@zp)QVcdc;L82aPS|?ZvX+VAqd2R;%x1z!PN7c=GMb zF4b)2r-e?O>UDlyNuwe>F(@^CgT7Sk8`bfKWrFm#d;RqlT*jg9w+xrErii#9vgv1U zqN9%Pq5Jq;5P0ecsQqtmGD0r;-obNrpMALaKZo|gcO;4IZC4GrQ96r*W&BS*@`?w>eTU$}^H~|qTS`5!jZFp082vV%D>&kF$epef*5X)9 z@+Yk$GLy^CK;3!PAhb_Bef6fN#Vka7GjG*n!FhMv{wv1l@kd)-cDAi~DH%_Q;Vv^) zF|epCTdU3)KWMwI{rat0^QW)Wh+8J|#Z>L7j$5)s9yA>OgTvGeqN1>o0$_LP4c9JP z(MkApDC`B)6#N*TMz6k6mJ))_M93j zfjMoi+2b2IFFnQl4ru;k9vU82s+i4s>-jHO>5vxPaG`B=K^XdSQR^%4l1}Mcfs?2oo1eEbbU{l3I-KfIk|CA_^rXmjs187M5!LD==$k)b;)(} zIXj)eRXPqheHs1xH9WtWDB4G0`22Erd1w*YpPx^+=fG3h*f-g*kE*3YX-JS-R68PKrL9*Y;PCSYv4 z8)*4Zg4UP2rX(c%4)Z+EJlB7^(ErdTAF;e>+e7RCn)T{EAL`X+e}FSt1WT)P&>0a3 z_E=5^p#EeLu=i}7oD$3TTbvSeN@JqrhsUs;(Rjs(fb^l0_DxOHxfAfSj)G#qsP@)! z6?#-jna`%CU!0s`J#Pl|&0}PvJ-3}b10L^Mp1v*md+!Y;(Js2}7de1#!rSGi2Yojn zOUN4LKjZ^i?8DiLfYfhC+#Kn<&R$o}yWszq^R@Fwn&1tQGwq0JqHSWVq#)O z3a|6H;C+W6h}9gmH79tq0;&=R&}?6Cv+DDbkmO<>pd011+gGr)mTt|XYFv=GS50H1 zjMqOrFX83uZce2x&ex4rU_1xs{@?s4^`&9)h)45axg`yjIn#^<>wW-BQQTI**28wg z>`6l^!%EM3zj7o2_aPXsbhIhBuNxG^&4|j-bdiKdwrUN5z^aR+z($a=M(I~1DDiZZc&Wcj+de1KSTj4t(CFFonyAWJER{{JlF2%G6QvOedj}MX4I&)RBo4j5 zN3!UMt!s^~=nI;6qz@;WH9Tugb?qO`?y2<1yctwk-PhOcV0hOsgXFucFY)$WH^juYm?{2ACZ3}X?~HebX;3q>{~nB%iPu6 zxGa7{XRWy^MDxVQABw)P^$com#Sw@8)8gq^s{Kpwk#1V%E|j-Ejlb@#}Tfw>M$e+i!=j4;Wx9r+l!zgxl$*6)=VI~HzUcc<-1kuTPl zwUyYm-0igQl3($bbi+%}Mu|m2eDrQcx;Bl+9C-1&c-`@Ys6UbhRwy2qzJG6Lp?+?x zG=isTET*nOygXj_QO4E%H7drI-elWaYPP0RBn{UGtUU*dibCB+?LOHw+xtAZa9#dD z>?T+A7DoB%;)otuI%Zz9P^7PG6m&*{^#evL(WNx1v)_l2Hx0L)?ksokSe=A1t9KyI zj2EA8OvSC6Zj*-6i$weY8b8rR-v35)2jUo$~kdOwlIy{_hu=?-+dvgY{ zrNp9u*gn@QPQ51|^OsQ>PV%)dJiCNAdSf`2|HVLxY_@J!rI|Q;e*R8K#tu{C1Kmd( z;n6w<`zShwxK`@>=Nu>&XR^gNihTdFyEz=xeDkN6rW#CIUt0PJ=kQt+SO55ys1XOD zDaCvJILR(#HBN&$ovUUn$QeD=Y+H|^Eyh?j5vquW{;5<=y!JCHZ#nt92B()lta7%x zNFy3spXv;kN8gtui%j2jlih8sx8V;i%=Tsy67weWNOR~ke>PjUdgtsh2l21{{@P;c zUtDm3>>EN3>y_ZHknjCuWw%5ze^ya3!?6ueMb`G?b!)vb2<;}Oemgg@uEuw^)424v z`A;~cj2ylC&6g`va1EajqntfPaBi+X7~?uhRrHFZ!RE@wkh0{IRlRN3ngduOEyTu!i6*>|Hty3LMu4)2Ll66kowiP>pYe+(-vwHnZ z!N)Z&1T$^9QCa??!878dWvIV3bE>_)J0UKH3xu(XFiQF-JF0ti|bf*q!IcDVdOv;>L(T27!~`@t@%gg2Y;t1qxdB`}tnnr%PNDUA+|ZHomeL z`5{Ynb7*) zetY?QIli1RLL=n2Eq^*Z$KA11#kXcBXj6o9$$q!KMCy9aJ@_Y%;#Sn?x0+sY>~-7r z$z)0p21$nd{zeGzifU8Br+VuxvP`A?&SCXLg$!#qM_ zFnSPk{aj}gzSxEHPRo9$t&Mgq=SDHMtVKXmKz&KAk6He9FH@!nf1=FQcuq@XGb4Uk zmFukm9#N^}NcpSP8d_TRx+0#b?+vG=w#^+|#^&P!1u}zwYcyot^oMA;gO&~y*h5ht zF$vN4P92E@$WAnG`|5dPxehzqac(RZFMoWN7?j!4k$tpWV6!35>D(Ra=33Q)&#S)) z8~n_G9X7O1=sh62u-eBK+Sn3xm~0_;AY?_=Q2M$zZN1UptJBVF7Fp8eoD%Zkzt6>7 zM;DW2ke7?E;rSFPj%rdZah$v2Wf7%w_FnguYk3$))X+($6hT>hm&ImlX1|Va%>*}O zTv|!ZL`QdAUW7B0Nq6z_qv#y-$<}|$S8is8vmvPG*gbr=$kWk>8YvmqMlF=xY%8|3 z`S-VcLNlR2cj1NNs~>-c5p1Li@HOgBttjLe4=bKA%VW&IU#l+63PZKuTVgi#@g^ql)Ieu)JAO+8}l9ONNrg%G`qS%pERqQhG9+lQLoX!j=}kWfh;Bqv z6iTo=K7eYj8;1$M3(BpH07H=&+_N5@!?H|dJh-;Y7K{n+)jOF@>M0<-NhestBg zYnfdLA&6ldTU(<5d+XaysDSXMohB{Wn`ld-7TYWYwz>b;0(e;iC;^7xX=Eg^W?pmt zu7}08e?DaCAmbt=amdvC9hqAZ#;G9K*#XHf;K#$SoyBh=Dwk!>21UUf1e+W|p8c(4 z$wxw|@@=YwD>r@^8hG)7n9n5~5SK=WlnW{^BI0{)eziTpw!T0i%m$2#zJiltz|NU2 z@4kj(;cbPD=m7SU;4=n}!a`D&XFKiIRtvQe-90^Ko}K~~vd=5Z6z!#c^8U770Q4$s zl2<92R=zXToV2PjGc^1T;$8%R|4>Q#tHkE>)t0+vd5JKRYyg-x?YLQD3n0qmX$?+? z8O}?t0YIpYwi#r0Z~q2N$dw*Tw}+Kw`QUw(=d zp3fMUUDh#RoV-Ykl$aFZ4P(op1JA~tfCo@DzpWf#JUzFW$dNsd2y_3@e3o)dd$&c) z<91G)BH)n-E)c5@+&*jYc7iH^+g*7t9u?~hxkvE`AnJf28NhYJID2e(MzQ-xP|1GY zj{bH7DK>*s7JTNgUH=GR;3xNGjp2zF8BxsK+!BFNbr+Zb+c$CWDx)}1Gge@$P*|?z zqt)iSQ4&r)t5C=sF-FR-3)N7=?DV7q>$6n6C^b}3h(HMp%K*6WIPOKWej~swabM0AyonP0J+1GR z;tBALQkB+_YAAQ%SKCBH?%SvTWA(v`ocymjyW#zFnrqEX7x22>?*H}JBYaS7Wz7PV z0qmte-n*{eZxCco?2ZB*{s&luC-{@iWzxzL0BuHpi@;F%?b20q91m8wEj?~k9}M*V zNA)x7gg-8_wV=x*Rjff0?u!cxN5NgS==Jo#Xe=tqCMYNmWG&~X18+aip+t1;gH^yT z7DzE&MvmRIOQ4VG|M;u`A_ph}a4#tR%ltVFn3cGQ!XLc*{59ac0Thz)Za%$dM<>8V z&ll4{<0%k2Pp1Xm(NaVf17?CjG4dHB|H%G6(|}u)COL?qxfKu!_=VKN5F@qWO7hpd zN{0}h!WARx`#Z_V!?<#Vyc)Z@1wnE~v@9_Toga@$9mIb|<^A21`;^CPz|EyEZcE5t zaE)I%{VsN62thQB0_4<~xeX9vwO`N_u$9p215gE+u=-)>t_9Kb{>3d1LwN*PwX;tu z?lg2@{A5E$C?8M+Yzz>S{B~nF{kD7slrgZ6M#YjsSq^-#1%LN2oU$@ixb7{B)b{VF zF(w`>SC z*0ZOKp@qzGtOpv#VEIYEZpXo##I19x`S&uS=2d0hg6NFHR8>w#jm?*Z%*>lLS|e0O zSp>J_UotTrOyhqi{%#YAT14Bx>r{uC_%z{45?LVZku9Ba5UAMwW$M8!Tv)K|YEGOJ8<|c^1Z18w zb=Bq2{qrJ`r%XN4R#QI$&zbf9`26ndf>6)W2SFc!WVCZk1IvsfxOZK>SXUp1=I+Z5 zE0wyra;(98*YcC`&y=AcSL2#VFv*pekyg85;xCzn*ZpVVY|y0g-N{$ZOc6gCAmJ9v z;o-J#G1JEn9S^jQKC`Z@o(x+@~@8P+ZV%B({w7JJ-zrWiF|$F){JNyAs~)4Kz6;QI~!ed@xFe z`o4$5Vt#1Tb39OVO2<_~IC@_|F6TK{Oq;Dm8dhnfo^$o!$cF2TLQswoX013)0AFZu zbcgmgp6A7ZzhrdCa`b*m*nQttqZ@b1u+ zVq%%2W(=2q{FM0Vjg^w3qFPWwXkcyc%Q;uHmdKVgR6!8X7i^)-$)DMXuz=vO(`zki z_0Dc4OGqqA(>v&!A6aXmvB9nq0;#%`4V;Yd!Un2MKAukELM6qKSF(`t!c$VMQ(2iw zuDpnjnBF@42&Cfl`a*_-*le!k!9(Eb-{k#dKFSD|jk64-zbh-^Z|MCYk!4}rr{#y~I2&Yn$=z>V zml&P%w`>T?0-^et$~_Z-S!!&)TWY2osQZtFL}Jy(eKIx5UI?;LLH>PeFFu$4W|xoJ zX9VtdV;J(Wt+T!387^^;gZ^qk$@|05EIBfaq-Y4E33_i#1Ij{cWJq>Dv$um)woGw# zE8u17lWpJ>E(@0@Tbrc3DdR3aX{monIeSKHg2E`v@MjIB+COA}t;-Ton+jd$pzE1U z&;^nZ>XQ#5w;2(!x;aE4k6Wywod zgLM6&AwB=J0b^Noy7y)ClQXwttciALQ}h zQDRVzq>QQlBz^ka+l(XLp)RA7Lm@#mjaf}T{++(EFkLEInYth#$xwcz8w=!f6+vnp z2zB5MK5X&al#d-rWk<$Fna;~GtVWR`hf}wXXA`53-PcdHNmmtG?qV{SLkSy3AaUhF z&)o4zS4=B(6Kiv1_q;K@tdVUS^tysbS6+*FXG<{Z*+^ZIGQc2&# zAzi=MpI*4YP%taj?^u+Ad{SM0eIZW&u}Rm32;B)TXgTX5W)kbhYqwh`9M$)}t<^&0jAFxd z9kb$>^>$1Y6VsrWBev6Or>=xu0p%)(q^XvkyJX_8j@XSk#=mvUKF%ae@-*jI(?hyMJUIX zY0u&zP|W^njJ>$PYROej$+AXq-i{upU`59Zqn(P|mFDfMIOcV`xU%OxS=xH#K4E>1 zSIn`UiK&$Z_r*scHMKaha!$BCxw1(HdDx0Q4Q95Y(`M9q1lUl@7?aYBa~jsq61%QE z1=ugZoRbKa##*bKv1JR`%-!An z1;_w4Y66&k?WFlVkzO@r2?jr!cKBn!)VpBm8Sfcs9On-PMlfF|aa!j{WtUrFW)SN| z%4B#gUwP2S4S>l6@DD(u5xPmYI|4Gl+ijg2bl;GY<^ov=5NDU2eJoGOaDN_3@Mw>X z2zInz&bEd&T=fbrNPDE`mc^dr#)&vB=U|HAO4qY39co_IPOAq zyjhEJfR?P9{JfPahdq|{x8wYaGTQ`6tC7xTT!FL{s7zrPg@Yr9KL{+4AFivxyLHM} zBDf72$9bl5|K(?zJD(QQ}1qWZi;TlLcO=1#Q}~Jh1Zc*= zdnrLuq)|@pIv7ohDSD@=#g0)KuXl&A@$-9h__w}GlCg`` zY*ksXmd;ip-2sl+h;7$)OPUe4yy<=Lm=rp*D8n<~zV-Wiz9x_wS+^P8gGY6ftyLrr zf_z{H@eQHs`mXrsFsUVfyM1!(SH^@U7YXl%+Z-7=WJoC1q!$LRNPyZV`l6tK0Qi+G zF*P(%NN8txkLA&7AQGR&a@ILt3GgBe-~rzx&;S|IhAXQ|0wXJ!V8?+(8Aeb*abR4P z^Rb@Wc8c@uzF;3|?xKq98j~d>DD?oUuC5$o7fVaalqJ#YO-0npci}sC0!(k;;=CBU zJe;sPKVK>Xs}5p4ScyDd<-zFJ$4Whg~Pk#C&iL1Xr0Tly)o5RDcg+oOl^NI*@LC9Ci2HeYK?*>pZG4c?;|-|X5tL}4NAYKz~XV}bh& z^=B{6&%6oPR|ycYl{B9IG63}8f*fl&Zf4L? z*StYJ>x1ch06dohyN_vnibG(=)za1mUldVL`K8h}#=AR7Z?GjA1Hmx6YhA%g%_$dB zG2rd_JVL_bdTLC*%oMo|gxp$MT6^o>Y{(?#CRM-~fXA$p{{Hjuh8`t_3uX(UmCHBQ zsIm;ybQ!(!gU75{47HSlf=T7r(~in)526EbS7#AO=Q2iaQLI-oy!C4g43GJhV^nY+ zHwEpE;S5H)b=~a9CW@UPW(d7%Dxa&OSBUG3E8fNwE%8!};bXO+$J&Y6B|Y=88B>=s zzV>NTvetF)9j-Y$p{STE3Ouwa&1@UePPy4!apu>R;~nDU)-{mjx&2!fY^3$|i-SRh zGA8SroAj8ckY&mFKylNXg#54AA-tWl?~!>&Z~RFDOerM!Y=>fMPpAuiO&TXn^#ugU zHpv9Kj#b5OC59H%xh?oTdkLkSMHf>ugCOUc;?NRpbZxboN|$b&(l9Qa+u=CWpVO2L zhFIaa6V+%0)Vy6pbZ&(+?PaJ&8%D|um{|EuN$A{&O*AM?0byP&7Y={$R^rSPb!SnJ z)uC^!wU)Ez#kcuKtgmeo-eYT&!`F+Bu=X2S*|_^=a{Lk);LV^rkiM}$!Abb#Ehck0 z1Oa@IBr|iN-FGLJ=2Zlkf6j;g{#4Sy5C4YBA+c>Sj?X+t+nTLI2A^)moZw_lnjUFg zg~F-tExYM(-)9crW$4@PL{|9HdJ`$O-p?1YOYSB;2ut20(1wvFx^u3QxeQk*gA=(l zcJPfp75>VOd}#!F8sZwpmnhGD+XcFJX1N~%J_H{z4_sT$k$tYOC@o?Ou$L?h%KpT4 zA*^JewATGX0bV5sIi?!^1Jwhcr}ZA)n*#ic$R5d3v1ID!k|mjJ+0jy*VHBI4FLaFT zg_`*4AU|rM2@qCSc&TgC3SnyXr?-2rUOO`^rUH?PboIlOuWiyUq?VuLIMTxaM`ZC{ z#)J2{?)e}b8#6@m$opkF>s{>vgos0?>n#2BDudyftb0Q_%Ikp9QOE(G0_i&zFLm)C`w;azZ!`8+oFN*DC@rrcX&8V$OElzdUGp>buR$rC|z#H_j zuXwxk_FX!s$VC2TaAuN~Dtsu&A|5`QI3t(_@3P%=8z*5lpi-Wv9kbi(gT?UEc0nO;cPLfdPY8By`$(6ib z?V)5#U2wIYVnlAX7*bkow6M19+oo`N^4=f2rS=ThT7FGw8Q8JALV4)R%8rcUZsPD?Psanjh*domx$awvu?e zfqjpMI*Y%aP8cU-GDQzfnkLEpi5TZqGC;c88G$!4#c^E5tr^H$=1>ayik}^%F)YuKHGWW zKLq`DMyj~1sw)@54l&rhFNVk=4eAya;J^_(+gLn{D=_I|PavJreeK!Tob>^@rQ<$J zmXJ@Zo3wh#!3r@E@!D2Pa#*e9ccRi#GCzKkt39SO{W@-1pW`iavXXN_w%VQ;Zvr)~}01;9A16LJc3T zW&pIQohs`w7uun5mzjLOEvq%*Mz?g;2{(J1p2tusz$L`R@2-rfDD#?dNvA{kw>9#8*+ito_p01Anu+c{zNfnUlC630u@1G!`;DU+jQ2 z*gg8QoGKOTK)huk&04rR)y2UmwM6l2*DrIFa2kn;I{R~r?`Gj}n@X{^hmJSaXwtR}g1RlQc_SFI5s92blYX zDuwlvA@oj>L#wY|RUv#ugR(KiHBecd5zSh)N;1s(DDArI_8(twen^CdhhTWu zE>-WpE4zxT<597OiTqCM737) zJe#X76sIziD^Ot*CYVh4b)mnJB9o$vb+*G4y`8=stEq=y%sy*}wjG`QTrP`0`@wVU zT5W?@bDQjxH$(23*of}A_%AtvpwW~b>v)<=qq7y1WBW z7h^!{MJ(u<+`nl@gADbZJLDi1aE}L#U~}6N-3SX~t^6*io+m9KVPO+s*$p0f?{91w zUem^s@uVNUOnV4qJpi730eLsQ@wR<3xG>s>$8G}!7yt^?{(NwZ-M$jWRsiq_jCZ#n z2SpsDb?$MZx=UDo$SNY`aR>w;6OePXagyU(ovR%IW+o5gi9RuAN;Zhs8`f zB7XJ_uXc@9Ht$ibuMZh^^HQWs;GOkq8py!$4h)3(TT|q={kJ{WnyHmNS9LH+1!Tbf z8N8?h*&;(P=zfmI0?{^bDT3NHs*y7^%krSPbkLONaIzu{8}3Rtb<;VMqqbdPo=06b0y_<#2=W-cPP(j>a7D*+1wvoRhup2-2>6+`r|pz>_s zF#)PP*i@Vv*K#eB^Cq=(lpJx(+FZW(6500jV4 z6d8cMqeG^Z*pMM%fQZI z2K4g|z;1B0E?G;ChxaY=R5s$P0YDrueHQ@sCS!wUR#rzqHwUA5KqFc)0-|K=7md?+ zlke0_Fc%8IROe@DPkdvV{%vo+DzVNexvC_XT`$8x_k~-E=i^x#9@@*XbpGdqG!NgR zkHL!sozEG6|Na#f%6d5iv{&F!scw7ugy%U38o+YUa`mm{KT{>?({;~&auoAByuA&O z{6CGvh&-*6SF@e^joJA$#T18H8hZ)g3{dkv@z(2Rz_C?K^aF&KAT8bK2J90)q=+HU%_(qlG`D4sjRL|R8M**`})~wzx zT&CEF0AM4zfqDXT%Z2+eCvw8YTJZ3U6zQ48TQ2!72*Kn?dV#-F|Vy4(LIE zDYRr(KH<|!?yG0o1%(oJF8~dsd8p*Q@#fpUv}O0RA%}l!V&GUm!-o?2?1CSwf&NfJ z;PeHIX#!aDOV#gpOH07R41*AEk2l--f6Yyn!e8(Q0H-O)c>3>Yi}hQWAMR{h?G;)8 zb9H`xj!~U*d1cFOA0gWX8qPs?28;rQ9Wmgxk86+$UZZ=q7vNN2h;ajEUS)(G#(kT~ z?-S_<&WCds3wRjt88+bS$NhY_L%WCh`w`MIW0xSlcS0wB>EO zT%3TUQOZXFI>i5OOrXt6bGvIUdA8Es2hi|qo|~6_@_EqZtM{smy&Fs*d0hu26HC3s zCwb0Hajxd@i7fiX*j+BJ>;2E?n*Lt}&!Y3K`&1zjGsW zGRmh%#kx=h-q!g;+{mb2oX~fDQfm?yO(y`}rEZsn%YOtA8+b$gt|b*;!~Z_|c|v6_ z3uL6g9^&DZP=%@16uOy8_O@!hDSvrpKV#3 zEi4#ulXhqckG7$%$mPH5#Ftjuzn9Yp(kH#n!>liODLU5RNHi7n^P6qPRKm~CZz7E; z*Af4G@zF*k>#s+D{j4teh}|^dk41Cc;@ztu96bGu(^(3fGxFhMvbm|!+?^)z*;^%B ztwhf5gavCc=cS^7E&kA8cG>*MAUPyrEmt1rzblb{m~7_Q#!}83sI12@l!UDM1Et~f z60vmCBbAxkU#QH@sOn7}bF0M7kbE}zH^h?a!u-Z(x0US}_2-eUYGd$j>_oKVxB+2p z*s~*rKEOesZi*Kv(g#O&fmgT@>o~rjDCxDUK*!%+9bjpNpKF#lM&N z$O8tKh5LkJj%%{B)-1-9?Ok7k3IFiIhSr>G=Wzb?VdF4I*6~fM9^;OVeClIc2=fiq)JX%G1| z(6Os*V9Ool8dCX#j?-|ncjRXEb6EkE-nK-E&-SphpB(D+uen(kA8jNA9|bcLedIz} zT6cIpn(XswUp5`8Z!uKT!Bana5W=x}NDjc)x-k@9*~;HE1v&~$_9KQ<-k^mCi*X>Po7 zW@Qqg;gK5Q+ELBc4@Vu>L5Sh#7S~?7np%bG_D9K(g+?)SYfvV^1%XAZ+{_2s9rMP*)&q+`onR4C7SoimaDavIG zm1=xO?G3?ZnPS{h!6w(|dASofm5WoVHMvZT*7nVP73P+MaFE{?6XfIEfERcu`AZra zR{&ouD@g-gvBJS0vU`K}GcGNd152S#&}ugFIB3OJ`v~>P+^P6*wsEEO4q`KOC=1n= z4>qR8uGQusaz`-mshz=5Pbxor%%h7zF19Gd)wEA`S&cs1w6xiJv$XQ2g})fyp1sYf zNrW+%+h)FPlSD_h(LTRptB!h^%MW4JX76_rRMmPb5gW?_IY#G}yLO6uiKE5rYw@uy zJKKCc)%SDk+y+aIFlxI&u9W;eu01J*NOI(b0q3{*@adBX^kT)FcuNHvDD4(5dWh34 zki7SB(kP3IU1$M4&O~^vCQ2e?#C?R*RPmIf;*F5_%4d8w@MWyLME3d>Cv;@Rm*1h{ zcJR{pM7{o0fl*Ah3np7g%mIu1WiNELZgL7HgxLz=60ntZxwBvGBIuY;b=dl9Y&VHx zu5@lrD9wM$@6mK&o_>pU=aD#Y$5pkVp4h|Ay?xnxnYWxTwZoO>xl^8LNCpF1K9Wb! zXc`N|zEfYGgqTIO5 z=79@I)VU9GV{>MOe51uBzh~`SX{Bf55{F;`Cz1{4#Gwd%%(64QM&cvN z*M*K=R%z4PJ?|*{E)VINw(MQupOiB{WV+xk3jckdKotfug8FV1E0sjDH};Jy+aqC*Kseh${SWkFEwi280Vs_VT9FZFV6+7vH zPakh}=V}$$JdI{HJa^;^k( zF&e++I)IP@1HZsDfS@yO@D^_f>xE*KRyHtU75p{lytayYm2xG^xhP6{zk)nHs}cE@ z1Xp4G-ZYt*YE~<{+Im?IhytN72LOctF1eY$gDc)q~j4=^N@< zcd8rY|jsEtxS29 z@Z$4<#WiD+heeoZZ?5Vqkn~k`5?RdLe#EhkI<2pD95=7}&-MjM1cBw9(|fFT86&Fe zooCe4@XE422rB^ZK|KgL!dY*7r$BH!)po%~PlAEa33FeAV}u@STtX4Bj9LKvc9Rj5Igxegg{V>)?hT0HpzG z>kce=2m}q_vYNBKfw{#>nl9%spl}&NM!3LHbq))}s;sOO1(q%^sH~i3;u-+QX%7dV zcLg8U1*cNnvoG#gUG%lJGsC>@*U#5UpW>gP9ACJ>4t401#H`=UI7sqyW*SINJpk&? zwf4H3&%dDgnO3_1Y7lQXpn{UH(`tE`Z)qa;!f`AooLeeY?$}udpQ83tC+jY!X2H_W zIZtp$o$n~Z9RAa)&e{3i!GDNwU=a)Fbt4|3u!i-Bec2z+$7k9=y9#WFA(tk=9~qa$ z5@48C2s;;8894|mXtY`VAjqu<7wR7}_P?8pRQJ=q&JEF5T+-4ovLD=v=ijsUj-hZq zfDIc35yfiWgcyx55hMu4&1Tk(G?Pe?3jm)u(A4_E@cHkc;@+X3ikKNX%oArLfmX1di;BVm5EOGKBD&>c@4R4%Qn2R)0RvSh*wEa% zI&L>m+=yoB5^Ql@0o-!1h&I@rk^hi&;4cE(YXK6}7Z!=NdFKm)-~=f8Zx#XvtxU~u z9AY}lsGtkqw?BX{?bq^Syx$5A=!Uq=OtR=v0^F1j5gdx^8XN5oRJ5snN4H@~==Y7u z+eL+a6r!US#HNEPy61a-Q&1;S=#;S2wqCd<*lcjzs7c;L)MgFNU1(K`n^-&b;A=8k zZiud)sg_EWwN5MA58(^7YgPT`EGcS7G2mZ&+GUuMbUyrU`?Hh-zoOB=w_%R$I_B-j z|Doxt!>V4JXg8^}lz^m2gGhI(h;*lPcOxMnVbKlJ-H3EZ2r5V;4bmkbT?gqq`@8r4 zbDqZ|xcC0;_nnzFvt})sw!J1HTS_97K#^vY(q0pTV+Q=56p9|FyD?bVo7$)v7Ve=n z4`=?(HJ(bKunnLl%DIwJ{`Vi^MKX8X`f|Rh$A7`h8X*yb+5OW=T0shk{v|15i$|6i zENnZu8yCa%ojkF7)M%QyzeCx%JX_goH@PQy^}H*X#B#qFPS=Wd;gO`Gb2g<1Zef~; z5UcOD;nHc)#%Scs@SXlrn!a6i(p>1c*o4aF*lqmuoPo1_%+et@?e&nwQj=ZFY&wGM zMWxTJkhtjwu{6|K1kcW)hTOrMkjzm5k(#pvqU@2ux_;Ke@PO1OKg0|qg?LiL zP$?Y!45)%WFySEHybM&JOeNZ=m5rC8L=^fOv%abcj8}etu=I^7CiFVt;-i7UXm|@5 zOR8o|(?=bNQlEBPOV{f~)-#ViO}TNe{S$J!j=rstjK7J0HtO)L z5PgU#5G%Xq)x&2egeUO^l$N*xWv&IIW~qBFTYq+lihnRQUW!c>6wNrGP0+lt%|z+5 z(Qq_RvwzWNuY_7AFx!mYo`A-OA~gOxVzd5x$Lli0qV0O`=9MYMVbzs9_Lp|6A@?A( ze!AHzK98c{tzEhX?nMU#rz2|eEQ-}{3%Xr&ybePS?_@kx16}7*_6Mrhy)#S)PqF@V zkWRVvdWuIq9;n%RtD(SPDMMsPTEFCGt)mtFt{HRNLCynHWkU6_s6o9!+K!21(;BU7 z(TKyvs;_?N<$}YZgCQ4}lMs890INtln!)chT&p@($`Es^KsQD`MK;>I;;)_X-Ws4a zR8#&-SsikGeKGRipJ4iRvk@v+{icA3Fr|0;wTYsW+WUHBc^?Y->mxc`shnPZcB^2s zC{|Zt+cQe(j;@f()Ev%v!D)-g{i|Evd{p(Y=l)NNJK1rQx-#rXjXkn|Qq}5QgGc2L zG?y^95l*r<0b>i?Sai+uxtwa_>aif!$@&S+_T0YU`Ev&-p!D=Mj0T0%{X z-ua_y_F^QeWo$aMz3JtXsJF_)6=O-siW}YTN^|L1=o%p$v@G|Ij+6b?y+iVhQBnY9 zI-kd2rq@;L(~~H-QMLa{>F=Uw9)kCC7jH&@Y-gw#S9JQqt9qr8w^AAZX^!62n_8W{ zb%N<)OWU}*@l!L1K7lmlR-0Brq5B+PC29NCvay%ftN6=kPDztqxjZak&V6MuAH>T) z6y>E>IP`s82+sJ|*4T}FttHW0MahNxR-)6_7AWiShK6D(Z9z#dw>f+eUN;X!b$+3I zQ$xim&wGqXLt<4Jud>pvC4!)~6lVG>B+ZB9q=Rz3`qyK4kW z-)CcESx=Q5#S8jJW3aR1R5EkUo5<6(QH#ssf^K!D2)@6g`P;A89J_H9A5%%pw05pS zNocyK?*VFk6JnT&tAtYZ_u_Yp^4B_21(6Ht;_u4WKMK*_n+}c^iz03)@soOoVubFY;rmL@)d}DA`anXBs}O$<-qi5lXKRg`vJ4wi+KU zNYP0RhlJ74)ed8}Y;kfl+X_KPh zg-d9?ph}I7@xapj-5WpHqP2<=|FBBT z$vrerLVWPuTL$h7v~@FGk%;uN07cZ~TrXuyNxhtvd<0|l@@3qXiN+r}nOWP_V*c-E zZ2{hFKRcDb%vEUlgmYy7xmQf0CH;s`;KABVxDC&rD8>kd^p&JKce5wV5|q16 zE+5MrE@}@9MTn&;I4C+%?*F@VSQK-1SmdxCmx>CHu$cK;eqgzVQXkaYC`OiHv4b&P z?U8$qt^b=_OoQZmNBe&JwoB&Ww%^RQq7ust_nEjn^4X%pE3#66+-+ z6#3x0k;PP2|0*k$&dal`zx+KN1jPy5KlAyO#?jZY(HWHd;u&7B(<9jCns&{2ife6g zU+j5-^jdDv?RM5^2Gs;*M};^8wB+g?_47(TK%VzC`hl0X6 z6Ft#j_rW{0+?BQ=`ev%QdQ>u{Scf1?z?tj~Wz34^{8n#NzTD1IO_U)z`KE~NVm;09 zThdUe3H0Qd)M2%^CV6|RuEz0@j6V0eup8EG0+lMK?Q%9;#D#Q@T#1yg;m7cinD#kK zqWoiJNtqtmF{kW-MIPI^E&0c}BJ9|lGQatY7}VCq|L|RUXS%*h{2iFCz}%-NC~Dx{ zp#AdHfz*wvJZ>@J)|(cW&}LWQHYE?HE4@>aRr&garb(hKC+${6RX!09at5GYlCRyy z@tzzT7F<-D43s@^>CsbOMz}R8K79%*1RK0~GMTun|668(Nk>8T^IW>yVE3m6@?Lgz zrHN$pxiEWzf)ch$L|WHeRb9gcom!-&_-xo=sYYxl54K$Qwd^O@<;}p^Q(F)N`hgi1J=jbuL)JC4|neUf69{6p0FmAk} z@|tpvGxLevl5jo54Te!BklkV`e$pdi_AY?liT#;B_Da&X)rj`i#?(i0D&}JaK%wIu zQP?K>U=b}LCDia9 zMB=bm^#%N}3%bq5qO{Y^X8@)l$Gg3~Vd{De!Uh267CS;f(ZfJUx9jTF1WzyBZDeBr zNO|D4O{ToOtb8((zE2Qb;eYWTP&Z)`8t$bOLYLk8>U5;ee$p(Sm{im>WZ@%_Bmo5i z^scH07a&S~%a{81j9PN-;^#v!7Ne)nMb21#k8PkHp1pUko={!$ zHLMx(@$-+XBnc&Kzdyu^SD3p59wHJ*;*fE|NZA~PLlCH@u%+}Z=*5UHwdG#h9*{2q z!XX)k{*qiA0)=|AG7ijfj#xqyqEZ0dfITAo2<`YM3j{EjD{z-G88 z@oKzEb&MKNtC8O|XruHM@>xS)35oZrScma~1CiWc70IjGg!o1=5~uVwKv_){x*ssn zmkMW^+}Gdql(0m@6-Fw~0ra-8GGQfNMIJt46|vz4=Q)+c7U)tS&+X;ek-jBK6i}l! z&1o;l#jpRZJP9gbyM|4`SG!H`k?ke`jJU9Rwj%}|02t!uA|cmX9J1O2p2jBd-4W$^ z6gwcB0M3M)A+(ot;{Q#Vk9@`}yt;xWiY-vsJ30l{# z{OeTruw82zoi3je8yL7nuS@@FMVX`KQt}R|eEwb*WXH`{@Rhka_nf|#H;3l#1%&=x z>^V^`FP*YC`z|!RcAe{vm=lxv{G(kqY)RI#WocrRE+KX}4GL-(^^jCO_^z zz!NaR`MV-Wp0F)$hM1AATa&z!?_sP52E*39?{D4^Esmt~Z(+Cd9kli|jw;6DaZ1_Q z?yrW2E4i`st)&mS_}%dAEO=pQhFxO*jC{E|cP-@4c+uK}fh+V>>h9ekU!?#l2(arrxGm@c8nVf>O%75{fs zXxclbAA(V5D5>=Hr-HVenGd5-!^S1Mif@HGdRlRYC} z{A#q!t#KeEM1^SQmPI03uLGO4XmKqmVySk-XwH|4*}@I&wvK2($rs~J(tIdko9ZlR z>!p|I+iOpbAL0K)xZFjH@!3u)>(_cIzP3%KDS#Tc)T|_|SJ%pheag0zhBF!Oke5YS z<#Wqoj9gFuhkH!xr)DpKK!s7%LG99);Qn(&t5ZBF~&Qv!kV ziKl9gpYOSQO3*J3Z1zCb&`T>&-v8`P>3}!iRh1WRMbR(PL6+I$MHY7&kvKaw#`yHE*c|rV zm6FOVdNFH%9HoMp9}31*+V=RTe3#YSc77Out+=2dQ@s@hd>-nj8gTVF|E1U zy>2m6uY&0#-Z0wig6Y73%UqYX{w9lxs zLg|$@*7+iK&#h7a{woIxU!W82qCSqeZ~T=;w(~uKz!O_DV&asep5FMfJ@qi54gtc1 z>Fc`%SXjJLOtJFve%j7d+TS{4>eK*V#*`=>AZ$u$2*5ZoIDTfzg9Ur*&}bnZU@HP zkbn8C#W2vhVxu}cZ`ILhSrgbWFla>jx<11Q)#P{2=RPU?G$O0%dilzHvkFAwe^GCV zbdL_Dm5)lgE$#vLFUdZEEK1CEEaSt)ch^B_?Vq}&Dt~YTo>+a$?Gq64idCZYSRC3> zR2@muaQl*L7FTY0NOzQ(8FlutQW#g&HZ$w{{Y3o~U)480m>scX$^`uGkJOd~{!}iM zx|rosQbnF8?P}m?s9>lG*fZmyF;gwf@iC%|Rw*Oc2GB|oiB_w-0*>Xqwt?!s|DOv` zZ$3nNA7RkD_V)Wl0aFBHb^i;JEZg19Db0I*C?;-8C{ppaVph!FGokfJr+HwFrS9gT zu_@+?Vm6dwjzYm1cj^6Qfuuu4QxZ(GXD$u*58Ut!+RA&5Kyi4R2XF zJYzYz0%ez;9X$29HJ|i2H{vXhJN!E7)r@`2SW>@ne>HVFrTG&}6{H_LZKDY1$LIQ~ z#YCDIFW+4J%(H~!i%?TU$ABp*HS_O}@4_7{4idb?rt33~#r4i(I^0K&9+WzUtq|X@ zPyF*Cy#dScV#J9f@;9Hy=9|e0ujKH68cjC2a56-q_o;e=5zqn^yu`Hr``OL&jIl3U zAc&h&&U2m{lbFD%dJXlZWiQK+x2;HJ>VHfHY=}Z)6Z)pLAszJ;pSxE*idOOk>NnIt z&B0mxX!gmqoNBSUuyKA;L%1#6i_bEGajU7Cer0OJTIvtE!GY%62O4Z~&Xg)tjw>?g zDy~JwRLY!=Xvu7jvdNL}LaBb9bTD>*Y;!FxMgLWZr=609I>o|$BU+fQ{so&Y{NDq< zE0p%g2Sb(xDPmcT=sKs%2~8^uhcww(doNN*A}k|@mK>F$7L>n}%_pL#BpfqLmn!dn zdWDCgi3&Ga;Xfe*(M;4uY|Nzk92ZKI(gEr=q2#NNn4FfGnIE3_Hnx1SrElkZD;e|R zVC+qyA{ByB3Uo>AGF-~DyXl{JxUaue64M~}G}WO~;Mwt+|J6(;vRanAQWCy6ax$u* z5hp#^^9FB@LHh9dpR28wdh3@bX2!Alxgp`X62 zKG4iiN7YQd#l{`gbe7W3)*Fvo@mjHT(rw6eetHc_zWpO*8h`MooLbIR`V z`G!R@Z~m+=et%VuSxuNs&MjAjxXLKc%PiNtPyTtX+wxy*Xmr5EN9)bmwfM_=9@(L*?omO1MqBGRSClpEE&B0máOFscC z8$~tm@OChr_OmaDqe{V-ob#Y_O!XrOKT7Lv}WoJjnoG zB(*~lNT5in9!xxu6QxMHXrtwJySVhco4Hee5N8xcDgy!=bh+{SaY6#sPvQ9vNgP^Q zf}gj817W8Ld{#uf_f5*F@)m%Wc5|^Ii20Km<1h|^R73&T1hp|zIs!PagI-fv1yz$A z0%V6sZ;@O0RN0^$ce7{eUYzfl_H#2rpZWekfB&zsv4jM4laI9bCP?hz!-65?!oqQw z0wPx+;eB%Pe4csd!K)d^h7(KA{lyN?mZAe^S2=E~F#G!)RS2_J#-@Eo+HY4}Mz$6kdZ<3Jqh*-RzQrrR+ z2xo&rAWXR6FEf;_Gj1rYG;;i-sz>vcqWQR6w9AG;Owy@a0rM-hVNFPNe>Ik%;t(Jv z5a|A&7^MxL`Z@tm5Db}fVDKU0vM9CC7BBF2xja5*F-JORVr3+kj75r^W#H<>S~LH8Lc zD2~*PEIG~~QHXad=i9n}-i(~Go=m*h9M>`4x#&?#%gj66R9o~&Py~T>;_(v!dc-Lm)dk)=u@q&3VHwl3$RN235&&OP+) zcK+v$W7y`G0yDh=t#nHiHkikPH2bq;PQx&9QVoB8#@nc%2t)Gl;lqM}&;Gjjq^GAN zR77}PaY(ruc=zvVeppbrlXO!fWh#+h_`J_L^{1EAbGX}Reb74s@o}R+t1m2wXrf@E z2{MhRXM`uKGO@F9#xd(6Lo52 zas##ceCp}ycs#v1Uz!r|I{aHV|A6G_yASB%g7o%0U*_9*3XT#hv{&dCh7#5qpUzp5 zDCsSPkMxxFGRUoYVSeq|Ic&34QhSH8(ioMqK~?5NUC?^rbZ8)a#!Q`Iq}8TouYV+j zpFN;?-N<)m8Nt@H%KrV|A_J(5%J+xx3a+qMi-uZ1Ki(SpvHslQxsl>+qFJA~L=rTY zyETzQ2-`1W@d9bWzr%L|6jo=3*;aBCRKlicemX=D2()F%9p5OJ$|#lFP((hzA6|;J zJ|gj2a|IJ$jC4tM)z3o6e%SIy^>I<|lWMkR4ab#g{XgN=mSmZS-G?>;%s1sY7EK~v zlRg@A{t^m)eTS4SuX^0Y@B`mJnbb;_s(4;HCBi+Jt@=YqM&+SQuuz4$>v)a>Wg=dT z17@-T3RAFN3vPAW+kQsQDgD&HVFO#}3F%)G>u^4oK`Zxleek2GTRQcdc606z($VqF z`Ru8ZgTF@PYg*;9zjDx81UW?BrF@2+`1=(-4yqCc^VPLyZFxIe%AGSYOd;|weqt8C zk*xGl=4mhaNqF|#cl)6m6{U2Gy|NhRG@nvtX*_j?9JN<=PmrvRyoU74-;aJa=I7nN z1Jx#?sctfdRj#^>4JRvX!Qv)u}h= zMu`CkoBIzmCd1_d)$<>QX4)GVp{j0n#WM>STdoKx|6^hkH0w#+h-aGVBJ`j9K2h{! zMBp6J$R~JzC8j(zhJ&Elo#ne%2qLqoTqVB!^IzvaOv}PH|IHC^fj_n;7Oe_MS9^Ub@-=)(+>gkE15d=b< z3`dD~#iWRtlQ!D}OJ17t#89P&;I-ZFBNxytZNz1BY_0y`Nku&IG*dK*ZFSppy}jQR zGoE-RBPx7w;a%V-VhdNak4(%fwm}%m9I(RPoUS?7<2gv@d8psB@Nb$ zrRnOJhh3xxbJtm(SXCd>xf^Kxm-qeI_cK>r%5-l+iVY7*8UiAM+YX5Milf{-dYNZp z{4xTFMBkroj_KtqWvR*5B4!PyRIxoxI~is*5y=AWO#yDKTTa`R!W+Nq)|W>egt5YE z(mIIr1C@+?!$f`Rh7+k^!lf>AJSy*@L8^KB${kOpE!JGi%s zA!$q3wyRHriLNZ-y}RvpB@YhimR7RyqIQyquKwT0*|ntG#r4L+&ey4#E=}F>%2Kx2 zs)*uRca9f9yTz`WI%@^gMR6~=5~Tyi8XVdbY8&* zK3`4kjxy+v*31^D4^p8Rv=)YLl9;i{DWQ&UXJ{@6}oDWSe z+Yl@=Jm`QqW1#fK&jTSgb!$NtN;16pg4)-LiT2+LN6Pr*9$HI=FbUD637{%&B=vVN zPai%^S%~4Uw-rW_VrceF^n27B)I}mJl=sdlk3-U&>&1;xN9p4BV8 zw$g-6);?CK`84f@Ujs5oRbc7@slCke7!(Lbkd4=*Jc5d>)A?7?Vnd@{vQ(eS%PS9E zq1)@XV2#EGamsU(FXk1g}%% z@;{Q`hjjP=@sE?6?d|EB<38i-IGTWerofC#2{cZ%5O*?6?pupBfg}FEtV>DM2V)bg z=b%RbW;-6M-GscfMc)W%I_Ei*XtEWY2SAAhv$BR+Hyq%% zfg>Cv6a*Pw^Eo<3K5s!H{W%Omjz2m3hqoO>I$JEWMrM$r5P$x9eJ;`p>IX=Gv*|J6 z&;D>oEejUecrN1L9|KeJeZ02E>rA#FxQFDM2~Gto-$`C2^BBFc-)sJ!$1>Tlmyz*_ zHAeL@)eJ*r{|{k2m(YG1_!ryw|B?pd@9()yP?T)R~<-iSG zSBNoca%0Ssi0^p=gf`54Esw|$9I9A`(9?z2w6CvD$ecTPJ~r9cOz(puQV!JXD24_k zckeF4c%~h=jtAgP-|isrDkHqcddMn*aY4jsz9kg&J|3{M6-d{;LeUS3ZZET!czkp{9 z)iyy`1B^KzJbZ{3&!qGXp3es;xZSWH7exn|NeYZOJPnEa55yvP3-#+F<#$~5@mfdwC30ABeA zYD+~G2q(F!`n`mY(N4W{o-XX}0u})J-CkJ)uv=Izf=VGA$rbFAbfT-<@mD z125Rzy(LmoQgR-P+v{FH9X~0nN-*Ce${PfKw3Sg6Ntw?^txv=Csfme0ATtoa87AwL z<-Sv@U&l7_*?0&?^Gm$Z=b!Kh_u*RA^uN3ss6iTa9yKGwr_1XXZBNxmb^+6I7`1#P zh991G=mI?}F84o*nwpx$+7&w3D!XJt@^+LZ`Ga^mHEP`6L}o;+dZNX5vlOb{_z5eS zkB{It%`h=bsy|!RGW*IFwEa>Pi5Y91=2B1QV3u78>Ob&(qCv*`5FIURXUF!%bE}Jp zhm1ov5E#MB0KQtbpjmKQ8tN*Nk^Uzbp;{nM+5)09-dmp6|(^jC^?^vYPW<Knc`))?+eC=P~*SXS<0fj{h2BD23)ONV6OZ%)!TRtEwIC6ztl04&z30Q z=F005*v-MGgjwPh)zw4_NgSrFFSNDaL3@IpnfX?O)7;}kHmzT^wi>el;W_Z;8eLbA z=X9{CLnbsd)M#DL&rj@kz2nxng~-RIrKbAUPdQctsY{7EMyBFl{mytmk~c`d&aSGq z9I2oRXa5ac(2JeD=eJELu#0u*|1rHadHnnr!<&5~tRVMqn-ekvi|UbU@_64?5sdN} zA0Hp&=XX!X-WH$+E&XWPA=E@mOH1#ax=G}_c=wtHu{~9Vh77GO`>0>M_6Gksbp&IO zOZW*nOZMv3SS^94m&BRYbAUmwx-r}Fm|_1INf)af6~b=T1E1R8?tVz0nWgbVbc zvd=@x=8#ElV>oYfk0s1(#}1k`(iLu^mN36_4yASBhez&k+;y4MP)!yKU=N z4w^z5D+6%MaiN(>Sg;K#{H`wYR*`2R!;ju+uE`cOguq;Jiz+-avNMI(+UCxZaG_sr z>;>C`U0pDPoP~vjOKR!@eAeJpjl-P>X#?*desX0dCMTQ2(}w(9u1gM-lFyUo2g{v8 z&{|sY^4ywOTl3OaR}bz8xy74_WIb?HvRgD8c6>cNJdA<-50s0Vu3FeoDQ`9T@qrNe zw)?GkaWT>0zlTRh+*bYM+SHk34zWy+-pfDMdxSkFu^G=Jvw?mmHGy1wTwJpblXG0- zW%2bFJ6#od4AG9mf~4EEOSgp_1t^&mKeqcyc>dK)NK8DtY8|%uv7Yrh3bH+Krq|ZQ zLzCAJU)%SaaG4CG@|W-V%X~VyWkdUFo4czfI2g4*Lo}IK@l_lg>Ie#6-Jy%)%?E#H zyBIPcbzQQxCKN>CBs0(YQ@Q{Vr#De7NkcA9nQ82fknW~QdHu>>yESQD&J z$i<e&lWK_=VL`V(=z=^!IG7VYShS*!Bx3ACKkgfCQPucuSnq4tMc?&j!@$ZitlzPHd z@YYILi=#hUHuEK^V_(}fx9Z$8w!^gXLlni$=rq4{O#0RG>eOlV&mT;Nh@mvW=o3Gv z(ONieH=c*HZ^VsmTG+-1iU!FBS800hcihq&f{RL``bJhqS;6ZsRQRf_cz6(V{|N)0HvNgr5_B*1hS1~;mp}Uj(+RD+8W^On zUj0bS;$vcZhvL?ncmev;LAfkYN2OgKVOGqprxa=XLAeFF!CEGmTEKyP&*#tQ9XUC< zkCLw?{tRY>LlfETzwPM=e!H6KUxiAPUCuDRSRJoTq`R#hc%Ks|(xrh2*DDbFGAp`Z zBzTTx;IlHWr#p)n>u^!@mY3W4^Fx1?@@xsSf|EOO#?H28`NwKWePrq-9X6L|W^Ow& zkM~q^wj*uA4) z3piA${|T2D7q>ql5dYz=t*QA2s9hJ4n48L&At*Ojd#{J{<%lt({Vt-182h0LH5Evs z@Zm2~ObLdv2u~nQDW=I;AZ@tHT(+wwE8rXp0pi_~CS%2Fxc6HjZLzSh+-8^Bln`tT zd=um8V)%xHl+*`LlTq845IyMIx5w`$s-e)`7%wA3K8>0=Mn=Ys=^AEp+6QtYMX#&i zNP^E}r#Gx*No;tCY|po*nKGp(B)s|Y#<(dej*;YP} z%O5gGg=(X`57SH1*?84Oh+K>qeaS1JiLU~;eZ{J9Jo^QljL;~s@b#^9FGnv2lo zuDRJN9)T9-9sLwpRIlytP&8w>2jj~$LQ(n@@-)=WBpn1U%wFo2mW=QRbke6!Sj%c_ zN#GsV`b5wA2~**dkdfuJv`{g~g{2B*s`x-ofOrTuCqMs(v&ro$#5?OIh{=tfTS;^Q zk&pMcC7kBtiWIQa4g5VW{&O6rm%$v#s<4J%gMYIcRp=D$$G9MTjtGA_yK6CmTG$Th zA$m4X=?woW`~-^a*lZBmWZN>nwgKG^h!?vJkdcrosNpC#Bt2U0E65&CRU^+dn4`VhptTt3cWEJf+9t8)(*7 z*$mT5|2;&XhK%~y$mo;5AKL%t0?;Tj5knYsfzI)>?A(B>b5rO>=Ne-7d7@wj@($S* z6TX<+f@fzD^bdOSnBq}6$I0*l04u_vbmz_ddeB8V^~IBYqQWqIcGlpdB9rnyaW`Xx z{d^~c=2Iw(8+;K+fDuSGWS_VQ%7qiFDqZgdD|u-o9)S;sey~YshUT?) zL&;@=fS+UNlL=fG5DK_#+^~&(YQs!MJluoVEKh%hgMKs&4YW7@54dA_+~R?A|PXO1zdWcU%=OAwmDJ|(f!fxRzf?q z(nP$9M33*FVC1{6A}nE#VU%Zk)+Yn>)Z2f*J^vsv1B^s#u2kf2Ew%?iJZVRsA%I1T zP&CN`w263T-fmw2Hxb-mSyrY2!IB?205bY0 zqyUuS;^L6So3_h+mHn+q!LVFpRDKqdH#VkOu2<7lR{wj+#iTtDg+uAH!mgW027G5Z z?)#9&CblvgEP9B}kD!=4Sc#S#*jZ`a6xQSy>Rj%+ zMWgrG*svj>Lb{bUMdYl9u*VQ%Az;1D8xAQ(D>v?cl~vOY8#4`$kSX*I`u)afV=fYa zfJUvprT|=naTGg}MsuFrx`c~>o93BQmlRYy2^BM>?oh~R-s65)w$`}_h4*JqVv~`}-9;0xgS^vEgswaJ54{bESX#IR?@4%1UfZOrYe=rN&E><UjTtyYNYjszl*z@+dgmymVi7g1TGp-(LK@_gma;t zO{a3RL>urg=zs6y{CG12vY^tK@Jd+=K(}QWH_I3pP!-ip!Q8D1)_gyk??vb4<-r0Y zvvz`^jvj>n^5VImU23Q|bn6``&@=~Ac;9D^LIUf8qWM>)=@Va-Hb7O-1Gqy;8D3n> z!eQJ-g=_-Am|OQ~l2=KA>&mD|nfk|%AB(X3TD|+A!YwX7ei*>LX#0re%FfWBE_VB> zhsY*ZXT@9QhLj?O*1a~V)zuzLHxr%|-D`Tcj~QR)-6PW;1=5qg<`nfNGY%SKFI3&W zC&(?Wn*EhKMUhS}E_t(wB(TGV@0$(Z$hR*=KTdP&u8`o8K=tqsHT7CZPs%vX61d}g6jMzYWN??V#JRsmF& z`yh)Un4dpjWepAZ56YSqD3%J>Q^q<-z!+xT2n%8CcYuN9HD^l~gwy!#OT*3JMtmtN zhn~kRe^=OSzC%kp^c-sqi!DgBaGz5Z?t7?QJQLK7(3My$NH)s->3g`^11{HOy8rHf z6rZa33|TGWSstAw7B{Vdzw(DjlSJ(#A|LEp4&#O|vE*}FJ?89dVo87RijKIcm9lC* z%U_GvJZgKyXxQpY3T$h>Hb5!aZ|->I1U*tCc?)fr9Kd4%H%QGg4{Q<%$Avn3vXyBd zgOjQ{DGb%Erc9Ww4`!4H@ZXEXrBy*}zytbKSgHPbePhE0GE?$f~qM%ETk5F z`Qh7W7%4lKNjpN@L#=6I8`N^Sf!5Iibcla|ti7A%#eiIm%-#;MW}-9oAnZUwqcU};W4*2>w&67~(|0}3}^;pVca zZlabOWRFFCaRg*QjdX1l&*P7MtArM!o;;$=?_$`l@Ga zjS0EiCY)?zbSCU5EG2}MK84x8SiIR-Sxv=pFz(2aa+Se3)vdO`67kr$Q!6Z({8An7 zNbd9G3WRejj7IOxf@D8CgVs+c5Pz$>Y~a+TTOxfcPx^T`RD=v|kUa^c-m$TxWhIgy zKl-@k3XE{a)8N1RuO{YC37Xz&~V-uK7p?yV_@S(F=*oqf* zGTUtD|L!Bz)0cp6U^FxY{qaP0CEQ0s-(2G{iwp{&*38i0cr&nO#_1nNS)_LuqJQ-8~=+?OPD>a^amV$0O11D zgRlzVC@uvLdOLNz@lba)9Lq|VZ8s2k~Yxg;#>_` z9$H9O%^>mjR!n8w3PnEbAzumg57sIUVRyds753Tof_r^xpD>^)R;0(>`-N*v zFGmDakSCw?>o%+*&{<%S`Sr}*49fUj;_~wFxE!v^Wtlg7ADBUb8$_z*cKPq%qp-VG zdq98zt31>>F|n~7XKhe^!y>#eKPEEUK>hy&JDZqgXRetHIWj2I{S!^mKrl_FpZQLKbX@AR!$lfx|ZF z(sxkKcox2R;y~a1Q1}-7#`{vOGBb$ExODSP?$%I2FF~g?_%!5E``%&IiDFULxKl_6 zBBUb_UVHI)a};?gpGDI|!p-5He|0=8doV0Z%Z)IBk1n)6eX;j-sQDp`dw@?zZM|w+ zg1ocvDj%WOS?@6YSkn1dHcBd=?Kf^FToDAB`ZZmC8E zgo=i9m&3#WpVOf67yBaP?O^Ux4-sm+iSkfDq&ct)vN6{zI52dJ){ib#r7m5~#6MBy zd7W(umLt2&qQ(ooj@t!xT;ZhE1{K}DON*~q*MDoq*_NiBGJ9p0oY{P1*FB8*s|U{^ z@bbi9HLQDEj#)YVb_x*b-a~BVcu^lg>H{@#z4V&+1$->Mj(1SYZH}goS?~;RhRohT z`<#)r7=71})Piyo%8hh=W}VX8uN_09qt^{-C&gR_oOKdrv51)#KQ+wf-awmaaq|6O9SuCA zKAtoIa$MYpng8!K-r-Wv>xY%!zg$G_v=Ghw7(?IAZsGqoqWX{oSa?I2YNENUaFbWM@G1G+l3xw zAF~w1>_ov}MSe|VJHOK{))XhR8kEb6A)`V5ZwXzl^mG5H2Y$F1`)u(<(Bf z*<>$LUO_>x=Wj>>jI4UwoaOYKi%%}EFZRk6BB6HUIV6Ia>mW;?=ijj!6@Bv*;$^5nA)K@hK;fHTVPJKR zF@-KoCn%VVp^BEF0P9r`R^qxye-r^)JEo|G05SinWJ~;1lM}oNetsZ);5{@4eLD+l z>(P#2GjsDQ-xE8r<6lpLyVBIqp4~s=A|Ct}oT_BD#v@AFm!*bxq^KxSuz^-`uBXha zRq)Tm?UP#FUV*{lh~;BS)_a5CExrsO`$KqmURETH_&sPGtUWaOz4KBrQ!M2K*`^9c zRX`wH(_1M;RzX9J(2E&J6C7kTZ;iSOYY?;R-|1396T$L;CpY zfkP+s`daLBYXcnma_ilDuj3e8fvWh-E*dIddN#H&uT>S!n(5qJ`tzH)W-sf38ffpI z@n1mq-DbR$v=CejykVYk`U>xyxOWOkJUD2ASqXf{`*xv=JP-a;lstwBFM8(;V8vfG z)+#W&xd)fvWpjqW#Upn1?~lG-62;j52dIr3-g^YCBn^NP6a-u>Lik=f;R#$_2LSv8 zWP=9dA7ncK>YES-x&DvbXfWejZaG$cP`v7?UF^vleq6m8wc4YVq}t|dcc-G0uPIUg zRmsHdM){3C6CZ45#2?{gvAVP+Oo30@>=I|I#1lu*033-$_!G*g0qv8QJ+U4B@z!&8 zY&;IE;M;bbFsj7+dU=Smf{YnlHoxeMg6l>%^WRE0O{Brogi4x5RTw_YTDTsxqyZ55 z@{@Yrz$zVcS=M`8isjJ=-JMstF()w$p-{BeAX2TVVaim#AOZDl3*z1A<`0lE`R*G4 zvbN7MG7I++T&Ca9jqJZxSI23**pqj0ZkW-NekCt2UkSao)wMOBtG-U3cd3^bsZn=vcxqVBURNq`+nf7IR)?Js>%3kz%QU8!c9S#AVC(! zLpO}SpZ%FMydo4BxF_%z zOtREJ+dlq_7p$V^w-v7GLLq-16OodD`i#yqGzX91)S&U+VnPyf2M{NO z({4By1A4yb@ja{KlN<0qk@r)`zsqVUb6`aC4R#?6e~YqI=>n`XQLkZC)a`o>-52wJ z`%4mUx1e2-Ur>OYYsLEeX9&A9(LIcscCbo$xCbVir`{B}n0|2hBCKHyEH(GV^Xj@j zHy0H~RVY`kXU=S%U)NtTc?ai#i_DQn#5yUh3FzXwn}1dP0x`w>4rNsUEylr^~^y*kt|_|0~Md z*+)vVD9QGjKqXb#cMr{Fp%V8^IBx|ItQG|WXaJQaT_rSdwr3hthO1~FGjf`M;O)V*byn4R6U1`l{Ric(Kw@U)?Cfj=)TaD)V^VOM zg+pvm79%!nc~UA(I#8eey@&7yHK~Ke5CSs@8{Pf=`Tjcq;O_C+1VR?N&&b$mO>H2o z?6o`FBPxIlGdrRta>E zdwddy-4CWJKOj#mK^ir>l5g@xu4Y3-A}1pRdJ-4%oMe^Qq4pfC47CbTJRXwrmFr zns7LP?N&ASB_(MwFffXZT1Ak#1(47(!0qEN?l4~d#B5CV-lggr!`L^Q{Nyz~qhial z`vdQP_nUq1;M2A z@mB)cpN$^c<$49vsp{%>d%pyJ-TT#rqRA~+n6Zk1I9ekZ+)90|n|APqU2x>Znm&z$ zr0ja0{Y3)=!}Vg>y|$+a?;wj$C$GKv0dFh5d&98jU1<>hc(Nn0zGF>eT@I3qH(;@l ziamg}ozQz&Jz4Iw;adhCTF1@x>DTNn%pBby?XP{g5d%p|0UQz2SH*)6h1QufX&3YD3RGBQ$9Mn-O# zp%8x0>+}8p@5g;V9^K?P=epkS*ZcW;j@LzZrSOa+N|MX>1OJxB3+PrRLC*;&J6kpQ zHsP_c)jeMi9831Un2SymMAuj=XmG+^gED!#$U^Scs@Kvh+#nYBkq^~Cmhw)BU?9Bz zV9s;!EvwKzw$zNHbSr!bp@!cszy9(R7X)uo3tX0C}gN2O zK4l!wtVKUue?#rUXStqRyTdNcYx%PM@}0XP=a~Tj9unR~yn2A5-Q^-owB-YRYpcrm(xkCx z)3w$Y7E+&|*{?@jXYse12g~I(SxHH|xPN_Dx=#rlxGslN72;h0;7ms!K=En7rRx}S z_H#ZKM+@O}v%gYxdx&B)dTotWIawnw`*6)&W%1D5`1jE{UVkn{HSrjeN3tnV>CsvQxSN7yI=3vt zS;Zf~$>^(fpKk!$)qds|myc$)zc35>giSWy^StrOE)NJ!4F3_YiFWVV^XHcaYM6*V z0BZH+hcKEP4q{JU8G?jg+ui7>WCvlN{gA4kum!1sR?@E9Sk^NV%C>&}iAtEjaJ>5h zSizrF&9XGOdMYUjt^gdr&w4Gbl6H%V`p7@FW*Mb2b3End;!@{i)QNZt)_}mF2T*7o zzdRG?;^q!dObo@(T=-Vbi_-JDNAm0wJ#mS|2HV}-+@Awd+r%y>l6kG}4R7I->8ECu zZOvblh)xMN)-&ANx*GAQTjvieijIVgOop*rsggK`c}zZ1ujzkvb9_>kmmTOXapXnv zrvdt-kUDGNCUm@*s8{MkcxelJ0nYPP7U7G`^u>!x7A>_tJOEy zzinBpuY&Kn*DZQQ^S-}7?&2}Q`a9uOW5z1Q@<{6jc|K>)Y*ScE)_HZR4V0Eoio}fv zrLDKFB{gK;@|zdE>RV;_F5*0|RJDi%(5rH*vf9IG2dv%TCA zyLoM$`XjbP-A&#a!)8li6%432VASLwy+=6aOs|sN`h;+8e9CiQ)0Vqi-E;WZBmcPdM$Nw0 zIujB@XZ&B|lh^h72eJ+jp-;g+@pf{e^tkrC&M*8~fP#SmMy`_>k|HDEsy zkG8P%%wXJ{Lo|YBdGU5b+NiQ%1KmfqM&Czoqkvr|_0;dz9aFwd`CHTGgq1bfLMUUN zMH6r8n77c@#SYNRy=hL>=@z_0r?e;HCi`2qAx^2W%c|Cz&T{TjpUcd^g_&eiwf0U3 z@lRDRncgewySFdaZ}WctYEBc9h&-Lmg$oySGTv+c-Uht}ZiG4?ig?JQ<<%W;d-);` z-AmEDs>>O#d@b?1_>7i>Q-9RcttNstlZ#)X+Fhtev#4j@es=w6-Nck1l~Zl9yKRW( z&#bzK&Hhx*l~swES;^i%79}=rfiMd? zWOxWJ(QqO87(F@u{iErhuQZ%UB;MP&Yx~e5eXQVT_QWFg?yEuEF3B(Se%_pU*{bWE zOyOjNErEwSxhuMR7ET2AN`o?Anv)Z`pvr{mO98xxldNv2gn9A^7xXeWi%BQV(B0(A zhodFc14T>chC3wI-SUmo&E~LTW7<%W+fXnFSaKv{JrLF$p7D8e>u0ooV*;2)8lg?9puSW531k7Z}8wZTX&N8 zM5FfJ-nf0kUrqH79uC-tfVN4pWRb>%7@jjJ0iN4*)2ByTH=m@f(&rgpaLqo_|KC)9 zS8;63BYQH(ha>b2bDykTk`yC!o|+gvak`<@CiMLP^Yg23C$}3sNn@uUnkf6|7|`s% zKqAgSa8h(6qS|&B*u=i>Ls8i3+htycwj{}e$p`1(?1NrGiAt(tJches?9oX9c4pXR z;FMbWbqg>s*G#%I$Mn7I6iD_`kS0^ z+*wqW9!J)F%Y2LKDBDGn6Qyg=5^P|K%Rf+uNpWWI zzAQZnpl@ve{>7*~j@70~uS?OmfK0 zt~jQ9iw*Zy-!(jj+42EAUT5ZhexzGD&JbM_d-PtJtB4ksO{0@r&dxQRqK(W&#t}N{ zZ%i!vbWd|hX{`k{ok=^d6d3oOLMLq1Zy`E7Wlk9}{@EKqqc5aM+enAc1WID2s}RW2 z^h1aK^t$U97#xN7!<)AI;26wykk& zX4*#;aY?fz-Ff%uT`HHx`O>&|k{q^8JCY=}mO7~)N!4MDpvC{8{+1m5-gr&cTyG7u z9w%dR`M<8oSW_5V7&RD&);G-WuXv4bU=1WzB$CNwWFYnQE&&*unUq5aJR&9~^)$=zv$GHVI`75RUl%t+f?pOf3$9gppc|SyKl0QaI5fql-^Q3qChRKp;T$ zLFn<;)pn42s8nhj)cCZF3$e=FcI4zlMk&}R8D?)&>vUeQG&1r9%svB$OYmsu zfms%!0|4W?15pV^jVd5t_^jvlGcdCgZSs$6SPR@c_0?e*Cy`(tu1DXb^#dm?7gl&J z%=Q+-ZU3W|Ey^#G4||&7)d{7aFlwJGBT^cKBLWH)`jnlv!ny>@ftJ($z*I-(M(Z16 z;=~t#f&*b%!#&`Wv1+*9ifsa;5XlG0gMPHp+-C_7APj^b6G5u3Sc4UkN9=-B1+`ut zjLL!ePUGPBKIlc-ro8ZM*uNn6HV;Fa&`(s`3i~i43Gh4N_(v}IYOqI>;aU&w>%|;r zk`Gw9btvHWzCQs>?7lp+Cz|x!gJ=bOfi#Hx1tRU&nHJr&djFVj+i`A~@>zo6N{U%i z6?x^I<{gDV9c`)kf3xNGf3T#bvguar|;h6AMckQ9nW%JawEu$aOkh zNX1o{L$VbM6SsN^IKl@{vrb0OLYn;h2l4pu)e0~NPiN6if@`PTT3z_+qV)p-vop}F z;?%rVIaKf6zkg}r*NLDP7aPKMSQI;M;_w3`B&sMW8ZMSPEJlH<(W3fowE#)#Mm&d) z6OufKB)m^oukPh2B-uig3GUwqz5ran-ZO+{*T~wsrR{H^>UPQ9yT^*?eJ~umJ>K%q z-nsv}?$b%0nsD2=@I!h!)RQF6za49V7$2yS{>}L)UJ#xG*`;rU&Eatds?%swm~oiuRGF5b z>^m(|;`G!~Kj@A3u0ZWtcbWGWMaG>)er;$U>a@GD5boJxmVYTqGj+^5#v$T;Woy*g zh3ps~k?;*Wzx@#wPv5vHe*2E5*?MDeT$k{WU`QUDF&i-8c&0zhq^~`Gx0PQxPpTsR z@Y2NwtC2X}3EACezu&3>M^O86p(BadW@BZsiM zfGC7?XYDb}tNLsl9MueNvww;Nj;&%^7h9s&EGvs&75Jedv_YUV7-8H}hjSBz3JZz2 zX_$k)4YaucdyvmRPV&9M;0GtM=aLWKZWq)fskru&&h;Gv0Z8(JZG)iVlO))H9**KM zf@|c%3-VFewBvxdQv-11RvH8(eN&<(k*1Y zT1WDpOgi$bT+=C(OW*z5XmNs1w|fh7PW0UTO}UAgYnzkOV~x~YCT|`{{`HME7tVgx zE8wSS^55_!zxxKBfwSwlb6ggqe&eza;!-QAUse$!Tr<<~oYc@t@Gmi<0mp4UctUlC z_oy|gS0{Qvj54|&HSQ{~IaJ<@d#kNv2t9AQ;MU6hn=c^Uqbm)1a1R4cE+INYj2k2f zEjkkDplY}XlRCx(M)DwJ-UbrG^1-TxsD?&^1D!Zj7D5-r5dtH@Pt-7<{Ti21{I$AA z=}lp2sfE3TL_$fagK)DUx2s7Z6T?Mc&tAGg#dnK9AAefxMg%cvb566vZ<^hCB|(A+ zeTqBK->+&l^!){D>|sn@bZ;EHJcu5g=u7)At6qX9!jOmQUP@S8+#Q%qHKBha-?L83 zXl@EC3T|3GhWGHz81mGS_s>QTq`jbu`R>2k0i)ZvCZ{KZdta7rM1Xa{?K->U{q3<~ zgWKxvjqmO2J3YGi;Qhy*m9lDE61r8p>DMcx^fgutldHXvviWQ7Z}d1B53<60cTulp zev8bLx2j=Sy--}iljub7a1_ppKWb*aU90gY+;BLkMj7n206R|4;A5IB8g-`_YD}NJ zRJHms5^sUAp1^_0k8&v&B= zHP5AujEv?E3>s&~^*7mc@O+e#WO(d%btpN7t z1T}9#)J_K1UGe{+!0;Xf&io zF*nqqpVv>Ah(5+2^{-a95kUO`TF2@QlAq+eAGpJ_^i%fwT_*tGWfr{Rt5&y%ijmL{ zGl7=#+jl33o)a>08(g7K3}-$~ULV(Yp?^`y&>mTdR=6|UcpW}2JFV^Q&q_!YSgfgO zX-A@F7w0mUVZ{Ct1}8uIIA#@o?yNGOfS9lyUW>(=q58iPBtEwT`BqWjCj z>m_qx(Q4!d;r9pTL})Yw`}^*91Fx#GW{1Pj9jL~}rxhNa)y*9!OYFI@SIOnO5Kfx2 z!wWy$b$?7O8!ki)4V|^Z7@Oqg2qYMNhM`DRpQs0KsWMEDl>mLIEfMFajt$iXo@wS7 z7Rtl4F|w`?2!j-FZ_#(i`PdVUn_L} zrix<*d>YErX}|=M55iv1w>A=)URbY^y2mw)c)+1*#_k7XVi!^g)W$?0wYz2Wgcb<{vp(?9ZJ$gV!m(dl3=`KD3imB#exZ=zjo|o%wYJ z#2)Nbut#e^xefzXC0t_g*F7!yaar|aj_K|ey$O`0xApa&Ow-hI6}(fdjL|iQ_XMeh zR#465N;-Wkju(QI1yRYs#r$@t0I|6&+%x>Y_@;%$7`Q-grC{~!H5@Gaf)<7_=RSSJ zyRRw|AOvy_9J54Xu==0pVR2w8l-?rew~Od-fn%ZHeTfx4_F_VaoTE%dq z5?fvH%0k>4*X-$K4k`nsRk1sEt?cDWm)7Ja?Tuj45pX-A^}oOs(MKTAe}_1)Z?3^` zH}k5`kS7q*Q3@6#X_9dr?9x&N?rB)Wb8GLLnqD_G;vEn+;{`rGK0AoOgv)KRa_uH_ ze>M&mBJfQl2>;?iJB4V)aW7PP*P-lW-*>SwNvA}I`KB)mY&~$D6K$9Sos{{uV`}_r zlN#Ou!VzNfC=&z}!F6y54nZvffcOYkmwvnwD};y4;dyL&FFb8Vhe8>&I(*{9iOW6` ze!^i-p0uz^jd$hVMuQn-X7XWvxZpM3{>m*|^17ME4gndlpoIr15_L=gGv{V^&JB(H z;LZ&wa+5uIPneUsOlsPC_9)pyZe_yWj_HFD1>V11kIj!YzSdUth@ZN_oWV9KQA4@- zs5iz?bAG+ele7n#AGC1G=Wl#}W#d33v~KQ#`ySq?x6p~`NFcYjtF8TWzx-b(E6ETZ zUwHf~E#>c}$YFjPhG%WA+WMPnU^}+K8I7AZLkip!9j&P;DJl#-;C?rdzU3Xq;toWf zYOq`dqeNElKPRA;9_IPRaGP&_bQ#h}zisEepz+Ut%ZW4G!5`UPlCgXnci zug{2J;{p(?7`57Rdt;=Gj~c(OCAgi5+IAb{u2JaE>pHcYY!_c)$dT*hA!7E z1DXDO#?`1EZI@WR@2g5&x1?{3|2Fg<>-@w&z$n>eRmr6;PQoR*8-2fhet+yn5faX% zcxFYcCOnfkt#Z7t@{p+D7>bTRn|?=@k*JyKeQfF$HAMmTzgV7|C#IPvdyiQdJXU4G z_5=D#MvsM};0yf@d^(YzCfFUqhL4cV&pz}O>(Sj~38g0DZgCL0#{2h&v6J20-NXMc z{L_{%A`@v*@s|uz^BQ)u8aRS!zbWsm%Si}{!P)t~$rZeX;VDuQ75p^ear8yOShXILo10qBgiL%4>de-|Bk)JO%SaM_cpqgAIwyTDtr> zpyxDNpBy|fWtnHDDzb}E6d;L7`XAP|w&YOogux3KK`W-RqEaRPMa+$b)PyxXyu z=xBM;I5BR`^}NEvX<&+uzGEx?g)mc1e`OK)bRA>yzRV6DfZ0#e3MP ze4hyq!VIJ@BJ_IwXYy@Zzpf$ZRS&|4)FZxMEwi&rfT4SnF^m2XlO3?abD%2QA`q{%p?5#Wh@Pei}w)>2bb z$A5#2c~{oSBJ12qnNH;QxutyCRbW8O8qnd z{^G2CP~Q)DIepNX4q_EU3DO1zkaO-;S@Jah6%7XgG1i^A4$w#&T$~ZizmN~`2&Qc~ zw&hm{tyv-~>7-lZ*U1?nLcfQWn~H%ING}l1V(is-9{b>Vpj-M)M501`;_CZR^VqNJ=WovY@l>UY>*h-AC# zG@W=Nz`)CP%c?@oZc!m8S-+^>N@u&8+DD`G&thqv36j<8s8TjZizs22)`)~eJLG$lVHqNlcMM{{`f3!E`LFt%v zJ#23QdNbmiKL?C2D+ zPJh&guKTr~oXItcI6gSR6w&hII8?wJrBuqoaDvK*hNt20H#|7bA9GL$j+IF_f>1sQ zbJvM_BD{}oI4UN_4ihpkPl16%82s?MeL@2F)Tjdc7VKQFCAfA`&P*Oz9j zY1{rJ9U#Q@!|z9qLw>!EM~#I&dNf`ljXLh&_5IZ~7j-=G<1W;F{*x~*%q+FQk4UVu z7F%^fw?@cVAlvA`*J)TS`|rzE*!sLi0E?TLVV`gPrfG3MQjG9U5qF2(<`Cp8l*>UJ z{R96_VQ>NFmP+H{YrCu!8GsR(EI(Og?8N zQo8C=Vkr*~z=fXT#`7x(p$P1u@#OJ}>vBDJXts+J^0dBA1oZ~GbM~@p1yP;SzQyl8 z_FU4Q$4t$hnOYEMDOFUR-gahZcTa@gPotXe$uAnxX^JzQI;YNLU;b@$(W|TaHkB^@ z{tM@C_kcC&OCv{(5Tu8b#IYlT1HhRB9|98|`+@q@L|^@PSylV^4{Z8shv!UB(>uoJ z{{rV0K?KC%`|!BEG3p(o=N6Ot7!Dk$55aXcUz}e0uP?fz`IQ2_ZNIV85<` z&xweJ5u`jM@LJ-@f`5(%3;6z@WRh^ulMn0yW^wPJ(<}0cX=kz!_tm?_I+X5wP3{N( zSVocCryZHo8O1z1Xs;xG%$9VhKh~yIavJ&l?A|GB00z*RR^(Re<^xf%DFJi22XZ?oybvcB=0V2J*Y6s6fo1a4sYO#1)gpBziX zOeEMD3#uqhdym{WvZk}1Ij8f|j@pvbGzJ+vAD-;$bWXavoy>7*j5qDNYIz%uKA2A_ zK4#v`zs)T)U3*}ChUN*qfwrsSlg8nO1qn%9B>1ssU>q!b()v*G=vBk)=v-fQ@#v!x zMVIV^)M;^-eWM!xoFXr>m&nMEg!4QKh$0_O>&0^ww6CWz%tW_niiW&>?ZskWL2f=^ z?zF6)_Uj{MpH0~aaTrx?p4MWxC75NhB~&x!C|hHc;X2$w z7J0tsF3Iww{i?frtk~s>OuCu?pEy>jp)DWJb5z?clX5Z+& zKmSPHX%$DsvYx>&8R|Wm55H+|;N(5IEPYPXReVa>Z7#fXWrvA3BJDtI!7TaJPf`(C z-oJkfbd;lJW_)uuysPLqfX^{7=02*P0@b5IngMh{;D&`%Mnjy{MnGoPlh)K3$CqEj zBO+1;M6!MD#YEiqty7Itm!qk=YD$}Dc6c0X6k)1je_3nII&L)Pw5dk-%qXkS-(rIf zi=cIX7hYS0)e4zx5Khf_zk4Eh#sKFm@HeP~dtr27rHJzirfzvLTe8v=GSkr6jDn>` zT~)&3^YoS!64SIghY389mP#uozuK16o>zCCVzGs07Th!%&hy;Q&?l6~?|Bcgboo1<{q!GJ=8Uu> z7spZ`_8sA>GGW^Yb=H~VhPKNmpR8%`t&Nr=u1t|Mmbfh6rUp7=8dEfFueoXaiLn;Z zF}veV{nQ+V+G;7YyZu!Cwj75J3-U&4w(?dE+o0`j&L3gh%}3UKs`t#5%PRWQ zQOdZ>j-kEM=_W&dlp-m;fI)LMZikX(^?Rosq>gx`SyrDG6jULR)-UTG(J;|VW6;>4 zOqbl`cIao6ZH3^6!SE&}v%GBGPG-624c`web}C)<&9g6I%i_^;s>s>IMvba*QF-*H zJn=crIW#K%P?5;YZ4rYUR+Ak2f9a0O*++yMb_G1ous5-OXr-+0=J($4SW)`in<(y| zcfGGSzDdkFc7JpB&gV2fxh|Ox5|^GVy5BY8PBMwmigQ@V3BHlWe!MpGm*F2$QL!zJ z&OBU@E+$uBb6ogJ3^_=*P@v{+!pC=-6QX3d=eifSz3=`YC&c8rCxdY&W<-M_K~Rgn zfBr>iR^yPVZmgi26S=lImMZ0;D`U8s_QtM}f}MNrVMO|tk4k>3UHT5m{xZ5B*L@cm zmAv>XjZI&?-iyccX5enw>gl|PMl`Wv&P+PRD|DCD{9Yz_?<)CnUZqnsvmisj%|^^W z*R?O!D_U3L5^1P~H+4>-PVIuf^rKML=a$Mtu6o+iqZ5@}E;C&_t0Yeg?P1$a)r?=? zomi0e({lT4u0hL+{(t3NY?24v8-fm#ggHzoCo{OHZDF*D; zW)XY*B9^y3_0>3-syP(p*FPGk5NvQg4n}v}V)U@!`(nNb3H=JwDkE z)fT#*dD^oPVPm%g65=e&S8K@<%r(?QK~+?^U%X(oEFJ$~FUD17wF& z)HDnOAIp9DtWJM4C7SH~@T_nkg^BU-u}zy;``f>U#P?LCf40}V!b#q-J-zMsNixZ} zantTvrn9rW7JI5TKk0AmE-jy82xr{cRTV3=S~PHA8!fbhlX8K5-z+WX*m5@Wh2#JQ zUGd9Ou_Mw{pL;#+kFqvdQRu?{&KA7ok)ZrMWHWBVL6V`m>C=1^71T2X1Q|K>*;*g9 zTPZ|sbJc1oj}p?UkJV51rCgF?tl2lux+(whru>`1UdpcW9;WYu`pLq&mrhEUTFdXK z-@#dFLEbBKtA{&%x$=lzn2^iOEAbmMpVc?+QRC4fxBN2xa9_KGv6xEl;+A%6y|Q#V zU)ru|w`i`n#*OwACo(@vc(s{WM$EAWb^7q9944tjMmiI5vKLFaieo9`vgw_hbt+DZ zpKlV;x<6JhVJANFsbMYQ$CmW{z4gLEsqb#<`INgdMNxgtikc!$`U-3R7vlO=`K?(3 zW;tsRK+B*=CHVZoV6T=O{YIiTr}Wz+ZLFbLDltr+iCkSv(wv$ zJ)K&_D4M)~w~2MMpjiFZ&c)xgoLj8!+52yk>~ovHA9W>wZ7$%yGxGHmR$*hQ`W5x2 z`4^v}IW6j*Z%v*S3zCyKw|%kv#KLg5z+IjTXYGoXjr7-V6=$i?jH>6&vzBpvdu2>I zGlnV=X(8Vuyi=Vuz{TcVX;ekusvRriR~x%^yb;UoHFfL8mTZ*-H6qToDWB6ca83P) z#}zQ{m(U#Ou$A)>W`R4Pv8Q$PV1(E{kBB8#M$#MWjgOD7i)>_kV=cSvJE_`lwKC-5 ztVg#Bx90yu3ICt#g!&f1_}*|{zsEUwL0mTieG^^lMfrLR3aY-&<>wM1Hg+q0@NR2q zSqoRX;~7l!e6t#@j@6t8(&k zsPG-11+i?O^hysg-s|mf3R=14-P-465g4(nZt$zPfgqfa%V`#u_LVl3e4QYXA{*1< z))NwmoWRdZky|Xv-%&<8^L63u5DhUoYFVKhqJ%$Qocg3AD!z%8gaH=~jg73E$BrsE zJqmcX^kwX_2=Fo}Vl-gw?~b0_ep(Bd76c(-vYbX*g717a9yoxV%d^-AhPQ%262R;1Nqi4!sV}A|pdB>xgyA$r&%o@t= z9;TEpn4g0*#$m`Qh^ANhG~1?eIi&H$5An4}?G(!~b-akC1duTRtt2;s7Hw(tAvM~C z=$ER9`Jlv9BTU(feH$R(%Ve_8gRT4Lv+B;%FTcv8H=dj7BM7Y7^-^6tre-wr57l3mT2LhA|>HYr5!ypt_{x?EYKS5Y#-vM0r8h)(C$ z`DSwx2ghrs7qN}a{>+jOD}TQ*_k8~{Py3;Pen|Yzg51=NI?2jz()Fok`6l*yMinMk zN@ZQiCCA)48%vVO$7(ZT{>4>W6*~6lhor?tTB%if*|V1vl<5rbwraKx%&GrvHKX5= z@vwq6oU_%Wy-Fd1E{vHzoi5gnZ9UaTluQ>Vlo9MkuMf|i>>VdtW6?78wD|6jcPIZc zP_qAPS5G%{R`H>H^hw7kw3GRtNrse(bO9rU+7q5+{w!0Gjp6hPD_a!=`#bNPKNYn9 zPG?oxGY`Ya7%D@wW!XUax<$qqyQ_CB8M!&Eaw;!mk0fNg31;6W!h4qHW6Tg1&Mdq~ zE}M?B??053PW5=R{FiRJWXX1=U_7Z;(29*$?F4I*!SRW7Dk-C#?wFX5K8LF|^YvgJ zQud1lnqbp(j^6)%kEIN2bObYf9sg?AuWRJ_ksLbxD+SB06SC>7K7!Lx=N>!u8$F(Q zaGArt)R!XP>z?L(+X3mg@d7I7BM_cS*)hucrqT z+w~pl)c$pTzP@AINZ^l{DL?3X$vf^nUs^n@#c?%!QG(zLA0zT;}eGs{E^SKT*K zi`{2Y`tYgbj*aONq>T8gAkQ_Y9{u_CKf&YQ)+zg^Otx4n z=Cj+Aoy(HfCL}$!i`HE9?`q=M?n*wgb=B)(jgens zz&zMcW*sSP%Vi1Pxh&pbQ!}%gl51Zlu5y^rc=p<2%t*w-ezPCFW|DtH-X4gfbOfmi zZ6K64?HTcF=aaDBXuG@jBwjh5+3^tMGzbdK%nn~+mKOR>iPF+tK36w}Rr6jBFrfLk zHW}1+ZTDJg{arS$*sb{I=8vUcc{lTKZY*vEi2xRu1Nk`k)jED#I<2(+d0zSFK>h7p zmp#+Ig%&SK#0VHAr*=jJ0INX@G2Bb}IaPe=lTMznerAUT1XLs)2n#1N>UHO*_$2A2 z`n=6k`|Ep*D`u}aFOFZcIro^WJ{N>Hp>triEsTA-HrIbgUwSW8eHULxrInIoxyl`oS;8S=$CEyY;rjHXJi4 v2;WP1`X2QOI;AyF=)_j9Kg From 1c6d3c9c695849fd879527a2891eb35e4cdfaaec Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Mon, 23 Jul 2018 14:39:50 +0200 Subject: [PATCH 35/47] Added xml escape characters detection when exporting object and volumes names to 3mf files --- xs/src/libslic3r/Format/3mf.cpp | 4 ++-- xs/src/libslic3r/Format/AMF.cpp | 28 +--------------------------- xs/src/libslic3r/Utils.hpp | 2 ++ xs/src/libslic3r/utils.cpp | 27 +++++++++++++++++++++++++++ 4 files changed, 32 insertions(+), 29 deletions(-) diff --git a/xs/src/libslic3r/Format/3mf.cpp b/xs/src/libslic3r/Format/3mf.cpp index 2c32db1a6..dd3500eba 100644 --- a/xs/src/libslic3r/Format/3mf.cpp +++ b/xs/src/libslic3r/Format/3mf.cpp @@ -1989,7 +1989,7 @@ namespace Slic3r { // stores object's name if (!obj->name.empty()) - stream << " <" << METADATA_TAG << " " << TYPE_ATTR << "=\"" << OBJECT_TYPE << "\" " << KEY_ATTR << "=\"name\" " << VALUE_ATTR << "=\"" << obj->name << "\"/>\n"; + stream << " <" << METADATA_TAG << " " << TYPE_ATTR << "=\"" << OBJECT_TYPE << "\" " << KEY_ATTR << "=\"name\" " << VALUE_ATTR << "=\"" << xml_escape(obj->name) << "\"/>\n"; // stores object's config data for (const std::string& key : obj->config.keys()) @@ -2012,7 +2012,7 @@ namespace Slic3r { // stores volume's name if (!volume->name.empty()) - stream << " <" << METADATA_TAG << " " << TYPE_ATTR << "=\"" << VOLUME_TYPE << "\" " << KEY_ATTR << "=\"" << NAME_KEY << "\" " << VALUE_ATTR << "=\"" << volume->name << "\"/>\n"; + stream << " <" << METADATA_TAG << " " << TYPE_ATTR << "=\"" << VOLUME_TYPE << "\" " << KEY_ATTR << "=\"" << NAME_KEY << "\" " << VALUE_ATTR << "=\"" << xml_escape(volume->name) << "\"/>\n"; // stores volume's modifier field if (volume->modifier) diff --git a/xs/src/libslic3r/Format/AMF.cpp b/xs/src/libslic3r/Format/AMF.cpp index be513166e..600aa6cd9 100644 --- a/xs/src/libslic3r/Format/AMF.cpp +++ b/xs/src/libslic3r/Format/AMF.cpp @@ -8,6 +8,7 @@ #include "../libslic3r.h" #include "../Model.hpp" #include "../GCode.hpp" +#include "../Utils.hpp" #include "../slic3r/GUI/PresetBundle.hpp" #include "AMF.hpp" @@ -686,33 +687,6 @@ bool load_amf(const char *path, PresetBundle* bundle, Model *model) return false; } -std::string xml_escape(std::string text) -{ - std::string::size_type pos = 0; - for (;;) - { - pos = text.find_first_of("\"\'&<>", pos); - if (pos == std::string::npos) - break; - - std::string replacement; - switch (text[pos]) - { - case '\"': replacement = """; break; - case '\'': replacement = "'"; break; - case '&': replacement = "&"; break; - case '<': replacement = "<"; break; - case '>': replacement = ">"; break; - default: break; - } - - text.replace(pos, 1, replacement); - pos += replacement.size(); - } - - return text; -} - bool store_amf(const char *path, Model *model, Print* print, bool export_print_config) { if ((path == nullptr) || (model == nullptr) || (print == nullptr)) diff --git a/xs/src/libslic3r/Utils.hpp b/xs/src/libslic3r/Utils.hpp index a501fa4d3..349222854 100644 --- a/xs/src/libslic3r/Utils.hpp +++ b/xs/src/libslic3r/Utils.hpp @@ -84,6 +84,8 @@ inline T next_highest_power_of_2(T v) return ++ v; } +extern std::string xml_escape(std::string text); + class PerlCallback { public: PerlCallback(void *sv) : m_callback(nullptr) { this->register_callback(sv); } diff --git a/xs/src/libslic3r/utils.cpp b/xs/src/libslic3r/utils.cpp index 13ec1d066..55164bbdd 100644 --- a/xs/src/libslic3r/utils.cpp +++ b/xs/src/libslic3r/utils.cpp @@ -387,4 +387,31 @@ unsigned get_current_pid() #endif } +std::string xml_escape(std::string text) +{ + std::string::size_type pos = 0; + for (;;) + { + pos = text.find_first_of("\"\'&<>", pos); + if (pos == std::string::npos) + break; + + std::string replacement; + switch (text[pos]) + { + case '\"': replacement = """; break; + case '\'': replacement = "'"; break; + case '&': replacement = "&"; break; + case '<': replacement = "<"; break; + case '>': replacement = ">"; break; + default: break; + } + + text.replace(pos, 1, replacement); + pos += replacement.size(); + } + + return text; +} + }; // namespace Slic3r From 3e65b4410befd56d8ed68732a4e125d75780d7fd Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Mon, 23 Jul 2018 14:19:40 +0200 Subject: [PATCH 36/47] PresetUpdater: Fix reloading of profiles after reconfigure and update Fix #1060 Fix #985 --- xs/src/slic3r/GUI/ConfigWizard.cpp | 1 - xs/src/slic3r/GUI/PresetBundle.cpp | 2 +- xs/src/slic3r/Utils/PresetUpdater.cpp | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/xs/src/slic3r/GUI/ConfigWizard.cpp b/xs/src/slic3r/GUI/ConfigWizard.cpp index 0c42168bb..da75f4f30 100644 --- a/xs/src/slic3r/GUI/ConfigWizard.cpp +++ b/xs/src/slic3r/GUI/ConfigWizard.cpp @@ -788,7 +788,6 @@ void ConfigWizard::priv::apply_config(AppConfig *app_config, PresetBundle *prese app_config->set("version_check", page_update->version_check ? "1" : "0"); app_config->set("preset_update", page_update->preset_update ? "1" : "0"); app_config->reset_selections(); - // ^ TODO: replace with appropriate printer selection preset_bundle->load_presets(*app_config); } else { for (ConfigWizardPage *page = page_firmware; page != nullptr; page = page->page_next()) { diff --git a/xs/src/slic3r/GUI/PresetBundle.cpp b/xs/src/slic3r/GUI/PresetBundle.cpp index b9a010659..58553e1bc 100644 --- a/xs/src/slic3r/GUI/PresetBundle.cpp +++ b/xs/src/slic3r/GUI/PresetBundle.cpp @@ -268,7 +268,7 @@ void PresetBundle::load_installed_printers(const AppConfig &config) } // Load selections (current print, current filaments, current printer) from config.ini -// This is done just once on application start up. +// This is done on application start up or after updates are applied. void PresetBundle::load_selections(const AppConfig &config) { // Update visibility of presets based on application vendor / model / variant configuration. diff --git a/xs/src/slic3r/Utils/PresetUpdater.cpp b/xs/src/slic3r/Utils/PresetUpdater.cpp index b5eab115b..c962a2c82 100644 --- a/xs/src/slic3r/Utils/PresetUpdater.cpp +++ b/xs/src/slic3r/Utils/PresetUpdater.cpp @@ -570,6 +570,7 @@ bool PresetUpdater::config_update() const if (! wizard.run(GUI::get_preset_bundle(), this)) { return false; } + GUI::load_current_presets(); } else { BOOST_LOG_TRIVIAL(info) << "User wants to exit Slic3r, bye..."; return false; @@ -599,7 +600,6 @@ bool PresetUpdater::config_update() const // Reload global configuration auto *app_config = GUI::get_app_config(); - app_config->reset_selections(); GUI::get_preset_bundle()->load_presets(*app_config); GUI::load_current_presets(); } else { From 1842520ea65d6952875fbe162fbbb76e4547262d Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Mon, 23 Jul 2018 15:04:21 +0200 Subject: [PATCH 37/47] ConfigWizard: Fix: Don't check the default printer if the wizard is requested by user or re-configure --- xs/src/slic3r/GUI/ConfigWizard.cpp | 9 ++++++--- xs/src/slic3r/GUI/ConfigWizard_private.hpp | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/xs/src/slic3r/GUI/ConfigWizard.cpp b/xs/src/slic3r/GUI/ConfigWizard.cpp index da75f4f30..9f736ded8 100644 --- a/xs/src/slic3r/GUI/ConfigWizard.cpp +++ b/xs/src/slic3r/GUI/ConfigWizard.cpp @@ -223,7 +223,7 @@ void ConfigWizardPage::enable_next(bool enable) { parent->p->enable_next(enable) // Wizard pages -PageWelcome::PageWelcome(ConfigWizard *parent) : +PageWelcome::PageWelcome(ConfigWizard *parent, bool check_first_variant) : ConfigWizardPage(parent, wxString::Format(_(L("Welcome to the Slic3r %s")), ConfigWizard::name()), _(L("Welcome"))), printer_picker(nullptr), others_buttons(new wxPanel(parent)), @@ -247,7 +247,10 @@ PageWelcome::PageWelcome(ConfigWizard *parent) : AppConfig &appconfig_vendors = this->wizard_p()->appconfig_vendors; printer_picker = new PrinterPicker(this, vendor_prusa->second, appconfig_vendors); - printer_picker->select_one(0, true); // Select the default (first) model/variant on the Prusa vendor + if (check_first_variant) { + // Select the default (first) model/variant on the Prusa vendor + printer_picker->select_one(0, true); + } printer_picker->Bind(EVT_PRINTER_PICK, [this, &appconfig_vendors](const PrinterPickerEvent &evt) { appconfig_vendors.set_variant(evt.vendor_id, evt.model_id, evt.variant_name, evt.enable); this->on_variant_checked(); @@ -839,7 +842,7 @@ ConfigWizard::ConfigWizard(wxWindow *parent, RunReason reason) : p->btnsizer->Add(p->btn_finish, 0, wxLEFT, BTN_SPACING); p->btnsizer->Add(p->btn_cancel, 0, wxLEFT, BTN_SPACING); - p->add_page(p->page_welcome = new PageWelcome(this)); + p->add_page(p->page_welcome = new PageWelcome(this, reason == RR_DATA_EMPTY || reason == RR_DATA_LEGACY)); p->add_page(p->page_update = new PageUpdate(this)); p->add_page(p->page_vendors = new PageVendors(this)); p->add_page(p->page_firmware = new PageFirmware(this)); diff --git a/xs/src/slic3r/GUI/ConfigWizard_private.hpp b/xs/src/slic3r/GUI/ConfigWizard_private.hpp index c027f300d..2c8f23cd3 100644 --- a/xs/src/slic3r/GUI/ConfigWizard_private.hpp +++ b/xs/src/slic3r/GUI/ConfigWizard_private.hpp @@ -104,7 +104,7 @@ struct PageWelcome: ConfigWizardPage wxPanel *others_buttons; wxCheckBox *cbox_reset; - PageWelcome(ConfigWizard *parent); + PageWelcome(ConfigWizard *parent, bool check_first_variant); virtual wxPanel* extra_buttons() { return others_buttons; } virtual void on_page_set(); From cac4b2915389cfb3ecfb04a9ebef7a995d47ed36 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Mon, 23 Jul 2018 15:58:08 +0200 Subject: [PATCH 38/47] Fixed crash when generating gcode of multimaterial objects with some object out of the bed --- xs/src/libslic3r/GCode.cpp | 44 ++++++++++++++----------- xs/src/libslic3r/GCode/ToolOrdering.cpp | 6 ++-- 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/xs/src/libslic3r/GCode.cpp b/xs/src/libslic3r/GCode.cpp index f0b37ade3..89a72a725 100644 --- a/xs/src/libslic3r/GCode.cpp +++ b/xs/src/libslic3r/GCode.cpp @@ -309,10 +309,12 @@ std::vector>> GCode::collec size_t object_idx; size_t layer_idx; }; - std::vector> per_object(print.objects.size(), std::vector()); + + PrintObjectPtrs printable_objects = print.get_printable_objects(); + std::vector> per_object(printable_objects.size(), std::vector()); std::vector ordering; - for (size_t i = 0; i < print.objects.size(); ++ i) { - per_object[i] = collect_layers_to_print(*print.objects[i]); + for (size_t i = 0; i < printable_objects.size(); ++i) { + per_object[i] = collect_layers_to_print(*printable_objects[i]); OrderingItem ordering_item; ordering_item.object_idx = i; ordering.reserve(ordering.size() + per_object[i].size()); @@ -337,8 +339,8 @@ std::vector>> GCode::collec std::pair> merged; // Assign an average print_z to the set of layers with nearly equal print_z. merged.first = 0.5 * (ordering[i].print_z + ordering[j-1].print_z); - merged.second.assign(print.objects.size(), LayerToPrint()); - for (; i < j; ++ i) { + merged.second.assign(printable_objects.size(), LayerToPrint()); + for (; i < j; ++i) { const OrderingItem &oi = ordering[i]; assert(merged.second[oi.object_idx].layer() == nullptr); merged.second[oi.object_idx] = std::move(per_object[oi.object_idx][oi.layer_idx]); @@ -472,9 +474,10 @@ void GCode::_do_export(Print &print, FILE *file, GCodePreviewData *preview_data) // How many times will be change_layer() called? // change_layer() in turn increments the progress bar status. m_layer_count = 0; + PrintObjectPtrs printable_objects = print.get_printable_objects(); if (print.config.complete_objects.value) { // Add each of the object's layers separately. - for (auto object : print.objects) { + for (auto object : printable_objects) { std::vector zs; zs.reserve(object->layers.size() + object->support_layers.size()); for (auto layer : object->layers) @@ -487,7 +490,7 @@ void GCode::_do_export(Print &print, FILE *file, GCodePreviewData *preview_data) } else { // Print all objects with the same print_z together. std::vector zs; - for (auto object : print.objects) { + for (auto object : printable_objects) { zs.reserve(zs.size() + object->layers.size() + object->support_layers.size()); for (auto layer : object->layers) zs.push_back(layer->print_z); @@ -506,8 +509,8 @@ void GCode::_do_export(Print &print, FILE *file, GCodePreviewData *preview_data) { // get the minimum cross-section used in the print std::vector mm3_per_mm; - for (auto object : print.objects) { - for (size_t region_id = 0; region_id < print.regions.size(); ++ region_id) { + for (auto object : printable_objects) { + for (size_t region_id = 0; region_id < print.regions.size(); ++region_id) { auto region = print.regions[region_id]; for (auto layer : object->layers) { auto layerm = layer->regions[region_id]; @@ -567,7 +570,7 @@ void GCode::_do_export(Print &print, FILE *file, GCodePreviewData *preview_data) _write(file, "\n"); } // Write some terse information on the slicing parameters. - const PrintObject *first_object = print.objects.front(); + const PrintObject *first_object = printable_objects.front(); const double layer_height = first_object->config.layer_height.value; const double first_layer_height = first_object->config.first_layer_height.get_abs_value(layer_height); for (size_t region_id = 0; region_id < print.regions.size(); ++ region_id) { @@ -596,13 +599,14 @@ void GCode::_do_export(Print &print, FILE *file, GCodePreviewData *preview_data) size_t initial_print_object_id = 0; bool has_wipe_tower = false; if (print.config.complete_objects.value) { - // Find the 1st printing object, find its tool ordering and the initial extruder ID. - for (; initial_print_object_id < print.objects.size(); ++initial_print_object_id) { - tool_ordering = ToolOrdering(*print.objects[initial_print_object_id], initial_extruder_id); - if ((initial_extruder_id = tool_ordering.first_extruder()) != (unsigned int)-1) - break; - } - } else { + // Find the 1st printing object, find its tool ordering and the initial extruder ID. + for (; initial_print_object_id < printable_objects.size(); ++initial_print_object_id) { + tool_ordering = ToolOrdering(*printable_objects[initial_print_object_id], initial_extruder_id); + if ((initial_extruder_id = tool_ordering.first_extruder()) != (unsigned int)-1) + break; + } + } + else { // Find tool ordering for all the objects at once, and the initial extruder ID. // If the tool ordering has been pre-calculated by Print class for wipe tower already, reuse it. tool_ordering = print.m_tool_ordering.empty() ? @@ -676,7 +680,7 @@ void GCode::_do_export(Print &print, FILE *file, GCodePreviewData *preview_data) // Collect outer contours of all objects over all layers. // Discard objects only containing thin walls (offset would fail on an empty polygon). Polygons islands; - for (const PrintObject *object : print.objects) + for (const PrintObject *object : printable_objects) for (const Layer *layer : object->layers) for (const ExPolygon &expoly : layer->slices.expolygons) for (const Point © : object->_shifted_copies) { @@ -724,7 +728,7 @@ void GCode::_do_export(Print &print, FILE *file, GCodePreviewData *preview_data) if (print.config.complete_objects.value) { // Print objects from the smallest to the tallest to avoid collisions // when moving onto next object starting point. - std::vector objects(print.objects); + std::vector objects(printable_objects); std::sort(objects.begin(), objects.end(), [](const PrintObject* po1, const PrintObject* po2) { return po1->size.z < po2->size.z; }); size_t finished_objects = 0; for (size_t object_id = initial_print_object_id; object_id < objects.size(); ++ object_id) { @@ -788,7 +792,7 @@ void GCode::_do_export(Print &print, FILE *file, GCodePreviewData *preview_data) PrintObjectPtrs printable_objects = print.get_printable_objects(); for (PrintObject *object : printable_objects) object_reference_points.push_back(object->_shifted_copies.front()); - Slic3r::Geometry::chained_path(object_reference_points, object_indices); + Slic3r::Geometry::chained_path(object_reference_points, object_indices); // Sort layers by Z. // All extrusion moves with the same top layer height are extruded uninterrupted. std::vector>> layers_to_print = collect_layers_to_print(print); diff --git a/xs/src/libslic3r/GCode/ToolOrdering.cpp b/xs/src/libslic3r/GCode/ToolOrdering.cpp index 9b3f2694f..189a94d49 100644 --- a/xs/src/libslic3r/GCode/ToolOrdering.cpp +++ b/xs/src/libslic3r/GCode/ToolOrdering.cpp @@ -451,10 +451,9 @@ float WipingExtrusions::mark_wiping_extrusions(const Print& print, unsigned int return volume_to_wipe; // Soluble filament cannot be wiped in a random infill, neither the filament after it // we will sort objects so that dedicated for wiping are at the beginning: - PrintObjectPtrs object_list = print.objects; + PrintObjectPtrs object_list = print.get_printable_objects(); std::sort(object_list.begin(), object_list.end(), [](const PrintObject* a, const PrintObject* b) { return a->config.wipe_into_objects; }); - // We will now iterate through // - first the dedicated objects to mark perimeters or infills (depending on infill_first) // - second through the dedicated ones again to mark infills or perimeters (depending on infill_first) @@ -548,7 +547,8 @@ void WipingExtrusions::ensure_perimeters_infills_order(const Print& print) unsigned int first_nonsoluble_extruder = first_nonsoluble_extruder_on_layer(print.config); unsigned int last_nonsoluble_extruder = last_nonsoluble_extruder_on_layer(print.config); - for (const PrintObject* object : print.objects) { + PrintObjectPtrs printable_objects = print.get_printable_objects(); + for (const PrintObject* object : printable_objects) { // Finds this layer: auto this_layer_it = std::find_if(object->layers.begin(), object->layers.end(), [<](const Layer* lay) { return std::abs(lt.print_z - lay->print_z)layers.end()) From 077680b806c10b652c225ab04d329dac5bc4689b Mon Sep 17 00:00:00 2001 From: bubnikv Date: Tue, 24 Jul 2018 09:23:19 +0200 Subject: [PATCH 39/47] Fix of https://github.com/prusa3d/Slic3r/issues/1068 Fixed reloading of an object, which contains non-ASCII7 characters in its file name or path. --- lib/Slic3r/GUI/Plater.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Slic3r/GUI/Plater.pm b/lib/Slic3r/GUI/Plater.pm index 4a56ce632..56038ca9e 100644 --- a/lib/Slic3r/GUI/Plater.pm +++ b/lib/Slic3r/GUI/Plater.pm @@ -1665,7 +1665,7 @@ sub reload_from_disk { my $model_object = $self->{model}->objects->[$obj_idx]; #FIXME convert to local file encoding return if !$model_object->input_file - || !-e $model_object->input_file; + || !-e Slic3r::encode_path($model_object->input_file); my @new_obj_idx = $self->load_files([$model_object->input_file]); return if !@new_obj_idx; From 2df6e08eedf410a321e4f8c5a636804bd70162ed Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Tue, 24 Jul 2018 10:33:14 +0200 Subject: [PATCH 40/47] Reduced size of MK3 bed textures for compatibility with OpenGL 1.1 --- resources/icons/bed/mk3_bottom.png | Bin 174128 -> 23501 bytes resources/icons/bed/mk3_top.png | Bin 190302 -> 30647 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/icons/bed/mk3_bottom.png b/resources/icons/bed/mk3_bottom.png index 072c14dae57753e48f59b33f090d1a7142971115..3f12e7efba0e992696dbb39f1c26b5195519b7dc 100644 GIT binary patch literal 23501 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

hhv8|05%o>S9Er_}u9c

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 diff --git a/resources/icons/bed/mk3_top.png b/resources/icons/bed/mk3_top.png index 846ca53a5d73fdacdeb3ba14e1cf9a049c0a6e9d..b44007ad440da38ff179263ee1f2f4ec2f56e229 100644 GIT binary patch literal 30647 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 literal 190302 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

yUt7LI_ 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�{gNZn0IrO5y8xTtTq~u}RzgN8 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�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 X-*Vfp^5q2)@(9% Date: Tue, 24 Jul 2018 10:50:03 +0200 Subject: [PATCH 41/47] Fix application shutdown on incompatible profile exit --- lib/Slic3r/GUI.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Slic3r/GUI.pm b/lib/Slic3r/GUI.pm index cbfe0e5fe..0b9596261 100644 --- a/lib/Slic3r/GUI.pm +++ b/lib/Slic3r/GUI.pm @@ -141,7 +141,7 @@ sub OnInit { $self->CallAfter(sub { eval { if (! $self->{preset_updater}->config_update()) { - exit 0; + $self->{mainframe}->Close; } }; if ($@) { From c5448514ace5bc5329554fb45365b961a903ec89 Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Tue, 24 Jul 2018 11:20:29 +0200 Subject: [PATCH 42/47] Fixed an issue with MM and supports layering --- xs/src/libslic3r/GCode/ToolOrdering.hpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/xs/src/libslic3r/GCode/ToolOrdering.hpp b/xs/src/libslic3r/GCode/ToolOrdering.hpp index a7263abda..4dcf6516a 100644 --- a/xs/src/libslic3r/GCode/ToolOrdering.hpp +++ b/xs/src/libslic3r/GCode/ToolOrdering.hpp @@ -66,8 +66,10 @@ public: wipe_tower_partitions(0), wipe_tower_layer_height(0.) {} - bool operator< (const LayerTools &rhs) const { return print_z - EPSILON < rhs.print_z; } - bool operator==(const LayerTools &rhs) const { return std::abs(print_z - rhs.print_z) < EPSILON; } + // Changing these operators to epsilon version can make a problem in cases where support and object layers get close to each other. + // In case someone tries to do it, make sure you know what you're doing and test it properly (slice multiple objects at once with supports). + bool operator< (const LayerTools &rhs) const { return print_z < rhs.print_z; } + bool operator==(const LayerTools &rhs) const { return print_z == rhs.print_z; } bool is_extruder_order(unsigned int a, unsigned int b) const; From 21a59ce710e7cf7348e092baccb7a6fdab0c062a Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Tue, 24 Jul 2018 12:17:26 +0200 Subject: [PATCH 43/47] Shifted the MM priming lines inside a bit (for the out-of-bed detection) --- xs/src/libslic3r/GCode/WipeTowerPrusaMM.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xs/src/libslic3r/GCode/WipeTowerPrusaMM.cpp b/xs/src/libslic3r/GCode/WipeTowerPrusaMM.cpp index b49c2856b..f466fc4f6 100644 --- a/xs/src/libslic3r/GCode/WipeTowerPrusaMM.cpp +++ b/xs/src/libslic3r/GCode/WipeTowerPrusaMM.cpp @@ -490,7 +490,7 @@ WipeTower::ToolChangeResult WipeTowerPrusaMM::prime( // box_coordinates cleaning_box(xy(0.5f, - 1.5f), m_wipe_tower_width, wipe_area); const float prime_section_width = std::min(240.f / tools.size(), 60.f); - box_coordinates cleaning_box(xy(5.f, 0.f), prime_section_width, 100.f); + box_coordinates cleaning_box(xy(5.f, 0.01f + m_perimeter_width/2.f), prime_section_width, 100.f); PrusaMultiMaterial::Writer writer(m_layer_height, m_perimeter_width); writer.set_extrusion_flow(m_extrusion_flow) From b49bfadd87795d217af9a682ea79f2b4d8a40575 Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Tue, 24 Jul 2018 15:27:31 +0200 Subject: [PATCH 44/47] PresetUpdater: Fail harder on bundle version not present in index --- lib/Slic3r/GUI.pm | 4 ++-- xs/src/slic3r/Utils/PresetUpdater.cpp | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/Slic3r/GUI.pm b/lib/Slic3r/GUI.pm index 0b9596261..483fd36f9 100644 --- a/lib/Slic3r/GUI.pm +++ b/lib/Slic3r/GUI.pm @@ -145,8 +145,8 @@ sub OnInit { } }; if ($@) { - warn $@ . "\n"; - fatal_error(undef, $@); + show_error(undef, $@); + $self->{mainframe}->Close; } }); diff --git a/xs/src/slic3r/Utils/PresetUpdater.cpp b/xs/src/slic3r/Utils/PresetUpdater.cpp index c962a2c82..6e23ab421 100644 --- a/xs/src/slic3r/Utils/PresetUpdater.cpp +++ b/xs/src/slic3r/Utils/PresetUpdater.cpp @@ -322,8 +322,9 @@ Updates PresetUpdater::priv::get_config_updates() const const auto ver_current = idx.find(vp.config_version); if (ver_current == idx.end()) { - BOOST_LOG_TRIVIAL(error) << boost::format("Preset bundle (`%1%`) version not found in index: %2%") % idx.vendor() % vp.config_version.to_string(); - continue; + auto message = (boost::format("Preset bundle `%1%` version not found in index: %2%") % idx.vendor() % vp.config_version.to_string()).str(); + BOOST_LOG_TRIVIAL(error) << message; + throw std::runtime_error(message); } // Getting a recommended version from the latest index, wich may have been downloaded From 07ae905150d026b3fdd47dd609668cc36bf8880b Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Tue, 24 Jul 2018 15:47:13 +0200 Subject: [PATCH 45/47] Sync PrusaResearch.idx --- resources/profiles/PrusaResearch.idx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/resources/profiles/PrusaResearch.idx b/resources/profiles/PrusaResearch.idx index bdb372d81..522243e6b 100644 --- a/resources/profiles/PrusaResearch.idx +++ b/resources/profiles/PrusaResearch.idx @@ -1,8 +1,13 @@ min_slic3r_version = 1.41.0-alpha 0.2.0-alpha2 -0.2.0-alpha1 -0.2.0-alpha +0.2.0-alpha1 added initial profiles for the i3 MK3 Multi Material Upgrade 2.0 +0.2.0-alpha moved machine limits from the start G-code to the new print profile parameters min_slic3r_version = 1.40.0 +0.1.11 fw version changed to 3.3.1 +0.1.10 MK3 jerk and acceleration update +0.1.9 edited support extrusion width for 0.25 and 0.6 nozzles +0.1.8 extrusion width for 0,25, 0.6 and variable layer height fixes +0.1.7 Fixed errors in 0.25mm and 0.6mm profiles 0.1.6 Split the MK2.5 profile from the MK2S min_slic3r_version = 1.40.0-beta 0.1.5 fixed printer_variant fields for the i3 MK3 0.25 and 0.6mm nozzles From e0e6a238107b3614fde83d79a6e6056d0a378e2a Mon Sep 17 00:00:00 2001 From: Vojtech Kral Date: Tue, 24 Jul 2018 15:53:17 +0200 Subject: [PATCH 46/47] PrusaResearch.idx: Comment 0.2.0-alpha2 --- resources/profiles/PrusaResearch.idx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/profiles/PrusaResearch.idx b/resources/profiles/PrusaResearch.idx index 522243e6b..5c06353ca 100644 --- a/resources/profiles/PrusaResearch.idx +++ b/resources/profiles/PrusaResearch.idx @@ -1,5 +1,5 @@ min_slic3r_version = 1.41.0-alpha -0.2.0-alpha2 +0.2.0-alpha2 Renamed the key MK3SMMU to MK3MMU2, added a generic PLA MMU2 material 0.2.0-alpha1 added initial profiles for the i3 MK3 Multi Material Upgrade 2.0 0.2.0-alpha moved machine limits from the start G-code to the new print profile parameters min_slic3r_version = 1.40.0 From dd724e9dab1c79b1e4d7e92940c4f33a28f18843 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Wed, 25 Jul 2018 09:19:20 +0200 Subject: [PATCH 47/47] M73 lines emitted to gcode only for Marlin firmare. Fixes #1071 --- xs/src/libslic3r/GCode.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/xs/src/libslic3r/GCode.cpp b/xs/src/libslic3r/GCode.cpp index 89a72a725..94634f4e4 100644 --- a/xs/src/libslic3r/GCode.cpp +++ b/xs/src/libslic3r/GCode.cpp @@ -377,10 +377,13 @@ void GCode::do_export(Print *print, const char *path, GCodePreviewData *preview_ } fclose(file); - m_normal_time_estimator.post_process_remaining_times(path_tmp, 60.0f); + if (print->config.gcode_flavor.value == gcfMarlin) + { + m_normal_time_estimator.post_process_remaining_times(path_tmp, 60.0f); - if (m_silent_time_estimator_enabled) - m_silent_time_estimator.post_process_remaining_times(path_tmp, 60.0f); + if (m_silent_time_estimator_enabled) + m_silent_time_estimator.post_process_remaining_times(path_tmp, 60.0f); + } if (! this->m_placeholder_parser_failed_templates.empty()) { // G-code export proceeded, but some of the PlaceholderParser substitutions failed.