* SPE-2486: Refactor function apply_mm_segmentation() to prepare support for fuzzy skin painting.
(cherry picked from commit 2c06c81159f7aadd6ac20c7a7583c8f4959a5601)
* SPE-2585: Fix empty layers when multi-material painting and modifiers are used.
(cherry picked from commit 4b3da02ec26d43bfad91897cb34779fb21419e3e)
* Update project structure to match Prusa
* SPE-2486: Add a new gizmo for fuzzy skin painting.
(cherry picked from commit 886faac74ebe6978b828f51be62d26176e2900e5)
* Fix render
* Remove duplicated painting gizmo `render_triangles` code
* SPE-2486: Extend multi-material segmentation to allow segmentation of any painted faces.
(cherry picked from commit 519f5eea8e3be0d7c2cd5d030323ff264727e3d0)
---------
Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
* SPE-2486: Implement segmentation of layers based on fuzzy skin painting.
(cherry picked from commit 800b742b950438c5ed8323693074b6171300131c)
* SPE-2486: Separate fuzzy skin implementation into the separate file.
(cherry picked from commit efd95c1c66dc09fca7695fb82405056c687c2291)
* Move more fuzzy code to separate file
* Don't hide fuzzy skin option, so it can be applied to paint on fuzzy
* Fix build
* Add option group for fuzzy skin
* Update icon color
* Fix reset painting
* Update UI style
* Store fuzzy painting in bbs_3mf
* Add missing fuzzy paint code
* SPE-2486: Limit the depth of the painted fuzzy skin regions to make regions cover just external perimeters.
This reduces the possibility of artifacts that could happen during regions merging.
(cherry picked from commit fa2663f02647f80b239da4f45d92ef66f5ce048a)
* Update icons
---------
Co-authored-by: yw4z <ywsyildiz@gmail.com>
* Make the region compatible check a separate function
* Only warn about multi-material if it's truly multi-perimeters
* Improve gizmo UI & tooltips
---------
Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
Co-authored-by: yw4z <ywsyildiz@gmail.com>
* SPE-2405: Add Zig Zag infill that is rectilinear infill but with a consistent pattern between layers.
This Zig Zag infill is inspired by the Zig Zag infill in Cura.
Change-Id: I798affa99f4b5c3bd67f47643e67530fb7c3e0cb
(cherry picked from commit 2808d04d5deef6f99f9618648e46f11de03efc98)
* Add Cross zag and locked-zag for shoes
Ported from BambuStudio
* wip
* sparse infill roratation template
* solid_infill_rotate_template
* remove rotate_solid_infill_direction
* hide sparse infill rotation template for non applicable infill pattern
* hide solid_infill_rotate_template for non supported solid infill patterns
* update icon
* support empty string for ConfigOptionFloats deserialize
* fix build errors
---------
Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
* Clipper: Verify range of int32 coordinates on input.
Cherry-picked from prusa3d/PrusaSlicer@fa7debf49d
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
* ClipperLib: Optimized PointInPolygon() to calculate cross products
with int64s instead of doubles.
Cherry-picked from prusa3d/PrusaSlicer@9dca8403fe
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
* Reworked the ClipperLib / Polygon types to use
the tbb::scallable_allocator to better scale on multiple threads.
Cherry-picked from prusa3d/PrusaSlicer@9cde96993e
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
* use tbb::scallable_allocator for Polygons and ExPolygon::holes
to better scale on multiple threads
Cherry-picked from prusa3d/PrusaSlicer@b67ad6434d
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
* Fixed compilation on GCC and CLang
Cherry-picked from prusa3d/PrusaSlicer@b3b44681a9
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
* Remove clipper2 which is not used
* Removed shiny profiler from clipperlib
Cherry-picked from prusa3d/PrusaSlicer@7e77048593
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
* ClipperLib: Further optimization of memory allocation using scalable_allocator.
ClipperLib: SimplifyPolygon() - changed default winding number to positive,
added strictly_simple parameter.
ClipperUtlis simplify_polygons() - removed "remove_collinear" parameter
Cherry-picked from prusa3d/PrusaSlicer@a7e17df25f
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
* ClipperLib: emplace_back() instead of push_back().
Cherry-picked from prusa3d/PrusaSlicer@2e150795b1
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
* Fixed issue in a 32bit clipper, where IntersectPoint() checked for
the Y coordinate of the calculated intersection point for validity,
but the Y coordinate was already rounded to 32bits, thus an overflow
may have in rare cases masked invalidity of the result.
Cherry-picked from prusa3d/PrusaSlicer@b39c33414f
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
* Fixed Vojtech's out of boundary assert in Clipper library.
Cherry-picked from prusa3d/PrusaSlicer@0a202dcff3
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
* Update clipper to 6.4.2.
Cherry-picked from prusa3d/PrusaSlicer@b8b3cccb40
Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
* Try fix cmake opencv
---------
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
* Fix punctuation of enumerations
* Add missing '?' at the end of questions on hints
* Add periods after error messages
* Add punctuation to all tooltips
* Add missing periods on the pt-BR translation
* Add new Bambu RIB wall feature, including only the rib wall generation algorithm.
* Fix Linux compilation errors.
* Attempt to fix flatpak build
---------
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
* Junction Deviation Machine Limit
jd 3
JD menu 2
JD operativo
limpieza
final
* default JD print menu without warnings
* to fix multiple instances
* Only at first layer
* Calibs upgrade
* Shown on Marlin2
Shown on Marlin2
CodeCleaning
* Update Calibration.md
* set on writer
---------
Co-authored-by: Ian Bassi <ian.bassi@outlook.com>
* Introduce option to control number of skirt walls after first layer
* Merge branch 'main' into Introduce-option-to-control-number-of-walls-on-skirt-after-first-layer
* Merge branch 'main' into Introduce-option-to-control-number-of-walls-on-skirt-after-first-layer
* One wall draft shield options refactor
* Merge remote-tracking branch 'upstream/main' into Introduce-option-to-control-number-of-walls-on-skirt-after-first-layer
* Merge branch 'main' into Introduce-option-to-control-number-of-walls-on-skirt-after-first-layer
* Renamed to single loop draft shield
* Merge branch 'main' into Introduce-option-to-control-number-of-walls-on-skirt-after-first-layer
* Merge branch 'main' into Introduce-option-to-control-number-of-walls-on-skirt-after-first-layer
* Option to limit ERS to external perimeters and overhangs only
* Label name
* Label update
* Merge branch 'main' into Limit-ERS-to-external-perimeters-and-overhangs
* Merge branch 'main' into Limit-ERS-to-external-perimeters-and-overhangs
* Merge branch 'SoftFever:main' into Limit-ERS-to-external-perimeters-and-overhangs
* Merge branch 'SoftFever:main' into Limit-ERS-to-external-perimeters-and-overhangs
* Merge branch 'main' into Limit-ERS-to-external-perimeters-and-overhangs
* Merge branch 'SoftFever:main' into Limit-ERS-to-external-perimeters-and-overhangs
* Merge branch 'main' into Limit-ERS-to-external-perimeters-and-overhangs
* Merge branch 'SoftFever:main' into Limit-ERS-to-external-perimeters-and-overhangs
* Merge branch 'main' into Limit-ERS-to-external-perimeters-and-overhangs
* Ported filament shrinkage compensation from Prusa Slicer. Updated logic to be 100 = no shrinkage to be consistent with orca definitions
* Code comments update
* Merge branch 'main' into Filament-Shrinkage-compension---port-from-Prusa-slicer
* Merge remote-tracking branch 'upstream/main' into Filament-Shrinkage-compension---port-from-Prusa-slicer
* Merge branch 'main' into Filament-Shrinkage-compension---port-from-Prusa-slicer
* 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"
* Added SBS to filament_info.json
* Added SBS to Print.cpp
* added SBS to PrintConfig.cpp
* Added SBS to BBL
* Added SBS Template and also specified SBS as type in fdm_filament_sbs.json
* Updated settings for SBS in filament_sbs_template.json
* Applied SBS settings to fdm_filament_sbs.json
* added settings to Generic SBS @base.json
---------
Co-authored-by: Duan Gauche <duan.gauche@pdsvision.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
* Fix calls to depreciated wxPen constructor
* Fix use of wxTimerEvent
* Fix unrecognized character escape sequence
* Fix signed/unsigned mismatch
At least as much as possible without significantly altering parts of the application
* Clean unreferenced variables
* fix mistyped namespace selector
* Update deprecated calls
* Fix preprocessor statement
* Remove empty switch statements
* Change int vector used as bool to bool vector
* Remove empty control statements and related unused code
* Change multi character constant to string constant
* Fix discarded return value
json::parse was being called on the object, rather than statically like it should be. Also, the value was not being captured.
* Rename ICON_SIZE def used by MultiMachine
By having the definition in the header, it causes issues when other files define ICON_SIZE. By renaming it to MM_ICON_SIZE, this lessens the issue. It would probably be ideal to have the definitions in the respective .cpp that use them, but it would make it less convenient to update the values if needed in the future.
* Remove unused includes
* Fix linux/macOS compilation
* Hide unused-function errors on non-Windows systems
* Disable signed/unsigned comparison mismatch error
* Remove/Disable more unused variables
Still TODO: check double for loop in Print.cpp
* Remove unused variable that was missed
* Remove unused variables in libraries in the src folder
* Apply temporary fix for subobject linkage error
* Remove/Disable last set of unused variables reported by GCC
* remove redundant for loop
* fix misspelled ifdef check
* Update message on dialog
* Fix hard-coded platform specific modifier keys
* Remove duplicate for loop
* Disable -Wmisleading-indentation warning
* disable -Wswitch warning
* Remove unused local typedefs
* Fix -Wunused-value
* Fix pragma error on Windows from subobject linkage fix
* Fix -Waddress
* Fix null conversions (-Wconversion-null)
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>