Compare the custom gcode z to `0.5*(layer_z[n] + layer_z[n+1])` instead of `EPSILON`
to compensate float rounding error during gcode processing (SoftFever/OrcaSlicer#7834)
* Fix style preview size per resolution
(cherry picked from commit b67c4785f0d300b5615126ea1df1d518dd6d00b0)
* Align font preview to left. (closer to font name)
(cherry picked from commit eb9b8c0c2b112f0f7649e58f4f6d7977380b8442)
---------
Co-authored-by: Filip Sykala - NTB T15p <Filip.Sykala@Prusa3D.cz>
Field: SpinCtrl: Removed code that was relevant for wxSpinCtrl, but not for the new SpinCtrl.
(fix for SPE-2050)
(cherry picked from commit 555193f6ec477d4107f8998c7a3c441cde72382c)
Co-authored-by: YuSanka <yusanka@gmail.com>
* Make sure the `m_extrusion_quality_estimator.set_current_object()` is called after regional config has been applied (SoftFever/OrcaSlicer#7946)
* Init `m_extrusion_quality_estimator` based on region config
* Revert "Make sure the `m_extrusion_quality_estimator.set_current_object()` is called after regional config has been applied (SoftFever/OrcaSlicer#7946)"
This reverts commit d13d4a47b7.
* Call `m_extrusion_quality_estimator.set_current_object` regardless, because that doesn't hurt
* Add a comment
* Revert "SPE-1950: Optimization of computation complexity of perimeter ordering for Arachne generator."
This reverts commit 47ec9b9b06.
* Revert "SPE-1963: Improve ordering of perimeters with Arachne perimeter generator"
This reverts commit babb84c70a.
Fix issue that the contact layer is printed in wrong filament when interface layer number is set to 0
Cherry-picked from prusa3d/PrusaSlicer@ca5f6da08d
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
* SPE-1950: Reimplement algorithm for filtering vibrating extractions inside the ensuring infill to make it less computation complex.
Cherry-picked from prusa3d/PrusaSlicer@b3510ac808
Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
* Remove unused file
---------
Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
The previous implementation during the grouping of perimeters using depth-first searches unnecessarily searched nodes that had no impact on grouping, which significantly increased the search space.
Cherry-picked from prusa3d/PrusaSlicer@86309ba939
Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
Especially in cases when the object is composed only of 2 external perimeters and 1 or 2 internal perimeters, the order of perimeters wasn't optimal and differed from the Classic perimeter generator. That caused unnecessary long travels before the external contour was printed.
The ordering of perimeters is slightly inspired by the latest changes in CuraEngine.
Cherry-picked from prusa3d/PrusaSlicer@10875082de
Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
* Arachne: Fix an arithmetic overflow that causing extra points outside the plate (SoftFever/OrcaSlicer#7321)
* Better way of avoiding overflow, works in Release mode as well
* Fix debug build
* Fix build
Accessing a moved object.
Also this method create an unused "out" variable by removing from the parameter.
I guess It should update the parameter object?
Anyway, seems very wrong
(cherry picked from commit 534792e249da3efb83a62279f532b6690d028592)
Co-authored-by: Merill <merill@free.fr>
Fixed Clipper library (our own fork of it) when working with Z coordinate:
The Eigen vector type compares all components, while the ClipperLib
own IntPoint type compared x and y only.
Fixed by overriding the ==/!= operators to compare just x and y components
for Eigen types.
Cherry-picked from prusa3d/PrusaSlicer@0202eec4b7
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
If layer starts with a color change, the full layer time will be much longer, which will trick the slicer to think this layer has enough cooling time.
However the actual filament extrusion time (the real "printing" part) won't necessarily have enough time to cool down, so if we don't do extra slowing down
before starting next layer, the filament could still be soft and lead to worse surface quality.
* Pass all compatible regions to perimeter generator
* Simplify & unify fuzzify detection
* Simplify `to_thick_polyline`
* Group regions by fuzzy skin settings
* Initial code structure of multi-regional fuzzy skin
* Determine fuzzy type by all compatible regions
* Add fuzzy region debug
* Implement the line split algorithm
* Do splitted fuzzy in classic mode
* Disable debug macros
* Fix infinit loop issue when segment points are out of order
* Fix path connection
* Implement splitted fuzzy in Arachne mode
* Fix issue that github action windows build could not find win10sdk (SoftFever/OrcaSlicer#6724)
* Another attempt to fix the build issue
* This should work now
* Fix issue that `fuzzy_skin_first_layer` not respected by classic wall generator
* Fix issue that Contour / Contour and hole mode not working properly (SoftFever/OrcaSlicer#6414)
* We have `is_contour`, so need for complicated hole detection
* Make sure the speed tab is properly hidden when toggle off advance mode
* Clear each page before clearing the parent, otherwise the child pages will be destroyed twice
* Fix crash if current selected tab is positioned after the removed tab
* Fix issue that sometimes the printer config first page is not displayed
* Fix issue that the wrong tab item get bold if the number of tabs changed
* Fix crash due to the wrong window get returned in `PointCtrl` (SoftFever/OrcaSlicer#6261).
`getWindow()` must return the control itself, not its child control; otherwise the child control will be destroyed twice when the tab container is destroyed.
* Fix another crash on Linux caused by unused undo button
* Fix linux deps debug build
* Use the same DL_CACHE for release build when building debug version of deps on Linux.
This prevents downloading the same source packages twice, and avoid downloading again after deleting the build dir.
* Fix debug build
* Fix warnings "loop variable creates a copy from type" and "loop variable binds to a temporary constructed from type"
* Fix crash when filling very tiny (1-5nm) gaps (#6279)
Cherry-picked from prusa3d/PrusaSlicer@8784ca0ecf
Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
* SPE-2256: Fix the issue that we used the old Voronoi graph during the detection of invalid Voronoi diagrams.
This happens because we didn't set a modified flag that is required to be set before we use the new Voronoi graph.
Possibly related to #12385
Cherry-picked from prusa3d/PrusaSlicer@2de1f3aa45
Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
---------
Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
* Init port of Cura's MM interlocking
* Refactor a bit
* Fix crash when bottom surface is multi-color
* Fix crash when boundary avoidance is 0
* Add config
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>
* Do not use get_scaling_factor then construct the matrix again, because it cannot properly handle situations that contains negative scale (mirror) / shear (SoftFever/OrcaSlicer#5578)
* Do not use get_scaling_factor then construct the matrix again, because it cannot properly handle situations that contains negative scale (mirror) / shear (SoftFever/OrcaSlicer#5578, SoftFever/OrcaSlicer#4719)
* Allow using BBL's device tab when 3rd party print host is used
* Add option to open SimplyPrint panel in device tab after uploading
* Fix default print host for prusa connect
* Do not set api key in device view when SimplyPrint is used
* Sending 3mf file to SimplyPrint when using BBL printers
* Fix file extension when uploading 3mf
* Prepare for large file uploading
* Implement chunk upload
* Fix file uploading exceeding content size
* Fix wrong field type
* Add `temp=true` to all chunk upload calls
* Add macro to enable test api
* Merge branch 'main' into dev/simplyprint-improve
* Fix another missing `temp=true`
* Add delete token
* Try fixing build error on *nix systems
* Merge branch 'main' into dev/simplyprint-improve
* Merge branch 'main' into dev/simplyprint-improve
* Merge remote-tracking branch 'remote/main' into dev/simplyprint-improve
# Conflicts:
# src/slic3r/GUI/BackgroundSlicingProcess.cpp
* Move the `bbl_use_print_host_webui` option to print host dialog. Also make it a derived option of `print_host_webui` instead.
* Merge branch 'main' into dev/simplyprint-improve
# Conflicts:
# src/slic3r/GUI/MainFrame.cpp
# src/slic3r/GUI/Plater.cpp
* Merge branch 'main' into dev/simplyprint-improve
# Conflicts:
# src/slic3r/GUI/Plater.cpp
* Use a more generic option instead of SimplyPrint specific
* Merge branch 'main' into dev/simplyprint-improve
* Merge branch 'main' into dev/simplyprint-improve