Commit Graph

14214 Commits

Author SHA1 Message Date
Andreas Rammhold
33dd472146 Fix build with CGAL 5.6 (again) (#6439)
* Fix build with CGAL 5.6

Surface_mesh iterators no longer return references, so it's necessary to
use const references or copies when iterating.

This was previously merged in #3045 but isn't references in the
current main branch anymore. No idea where why it is gone, but the issue
still persists thus the patch should still be added.
2024-08-18 11:34:15 +08:00
Noisyfox
8a746a7764 Fix Linux build & some warnings (#6438)
* 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"
2024-08-18 11:33:00 +08:00
Ioannis Giannakas
0643c6f14d Improvements in Inner Outer Inner wall ordering logic (#6138)
* Improvements in Inner Outer Inner wall ordering logic

* Updated to BFS algorithm, made ordering more robust and corrected edge cases

* Doc updates

* Refinements in perimeter sorting

* Removal of touch threshold and code debugging to improve sequencing

* Code cleanup

* Code refinements on perimeter distance thresholds

* Extend perimeter re-ordering to more than inset index 2, to reduce travel moves when printing neighbouring features

* Refinements to IOI perimeter re-ordering algorithm to improve travel scenarios where multiple external perimeters are contained in the same island.

* Documentation updates

* Removed unnecessary code

* Removed bespoke to_points function and replaced with ExtrusionLine member already present. Removed squaredDistance and replaced with Eigen library call.

* Refactor code to move distancing functions to the multipoint class. Renamed for more clarity on their purpose.
2024-08-13 23:25:49 +08:00
SoftFever
ab3d04312b Revert "Fix Compile Warnings (#5963)"
This reverts commit b83e16dbdd.

Found regressions like auto orientation didn't work anymore after this change, revert it
2024-08-12 00:00:20 +08:00
Vovodroid
0214bd5270 Stagger concentric infill seams. (#6184) 2024-08-11 23:23:20 +08:00
Duan Gauche
ebcdd28e28 Styrene Butadiene Styrene (SBS) - Template and profiles for Bambu (#6278)
* 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>
2024-08-11 23:03:02 +08:00
SoftFever
af70e8aef4 Feature/mmu toolchange time (#6426)
* Revert "Fix #3311: filament Load / Unload time was not used in time estimation (#3706)"

This reverts commit 252788419b.

* revamp tool/filament change time

* tweak message
2024-08-11 22:56:32 +08:00
vovodroid
720327bb9e Allow default acceleration/jerk for all parameters. 2024-08-10 16:07:58 +03:00
Robert Schiele
42989cb772 more missing includes (#6398)
Here are more missing header files recently identified by building
without precompiled header support.
2024-08-09 21:33:09 +08:00
Ioannis Giannakas
92ff9b2bc3 Clarified flow ratio tooltips (#6397)
* Clarified flow ratio tooltips

* Spelling

* Formatting
2024-08-09 21:32:24 +08:00
SoftFever
83c9ce878a Feature/misc fixes of toolchanger (#6396)
* Use more readable data types for storing triangle splitting information.

* fix build errors

* SPE-2063: Determine correctly which extruders are used when the object is painted by the multi-material painting gizmo.

During the serialization of TriangleSelector and also during reading serialized painting data from 3MF, we cache all used states in the painted triangle mesh.

Based on this information, we can quickly determine which extruders are used and which don't.

* Fixed an bug that filament list was not updated properly

---------

Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
2024-08-09 21:11:17 +08:00
Vovodroid
2be740c03c Jerk - per axis maximum limit (#6252)
* Jerk - per axis maximum limit

* Fixing Klipper and refactoring

* Remove unused variables
2024-08-07 22:41:09 +08:00
Victor Usoltsev
1a7d8e9acc Shows extruder's values on filament's Setting Overrides tab. 2024-08-07 23:26:00 +12:00
Vovodroid
86cf6a55d3 Drop object on the plate (#6166)
Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-08-06 23:18:28 +08:00
Ioannis Giannakas
e68b5feebe Fix z hop performed after retraction in PA pattern calibration. Fix z hop config value not used (#6245)
* Fix z hop performed after retraction in PA pattern calibration. Fix zhop config value not used

* Updated gathering of z hop value method for consistency
2024-08-06 22:27:08 +08:00
SoftFever
d9b4123bdf workaround fix for flicking top bars 2024-08-04 20:06:02 +08:00
SoftFever
604e9bba6f Revert "fix gizmo bar wobbling (#6230)"
This reverts commit 9ff0e9335f.
2024-08-04 19:25:41 +08:00
SoftFever
00d17bf387 Properly find used extruders when infill/wall_filament is set (#6335) 2024-08-04 12:37:26 +08:00
Dima Buzdyk
29e80afc06 Fix -Wsubobject-linkage warning (#6243)
* Fix -Wsubobject-linkage warning

Having tk::spline header-only implementation included from
SmallAreaInfillFlowCompensator.hpp makes
SmallAreaInfillFlowCompensator::flowModel have separate (albeit the
same) implementation in each translation unit.

In order to fix this issue, SmallAreaInfillFlowCompensator::flowModel
converted to opaque 'pimpl'

* spline: remove anonymous namespace

Remove outer anonymous namespace from splice.h to make
forward declaration for tk::spline possible.
2024-08-04 10:48:24 +08:00
Dima Buzdyk
d3df0c1b29 fix gizmo bar wobbling (#6230)
* fix gizmo bar wobbling

Gizmo bar is wobbling at specific application window width range.
This comes from a bar scaling calculations method:
    - new scale calculated for already scaled bar
    - scale stored as application settings loosing precision

Rework gizmo bar resizing code to remove feedback:
    - calculate scale factor based on unscaled bar size

* rework gizmo bar scaling

Unify scaling implementation across platforms (MacOS, Win, Linux).

Now all platform scale bar setting icon size.
Toolbar scale is used for high-DPI displays scaling only.

* Add comments, reorganize changes to minimize diff
2024-08-04 09:05:59 +08:00
KrisMorr
8cbf3b83b9 Adding missing string aliases for gettext (#6329) 2024-08-04 08:58:24 +08:00
SoftFever
591f3faa8e Add camera sanity check 2024-08-04 00:54:58 +08:00
SoftFever
407d09764b Toolchanger: fix an issue that wall_filament/sparse_infill_filament/solid_infill_filament didn't always work 2024-08-04 00:54:03 +08:00
Noisyfox
afc1a65df2 Fix/crashing when generating walls (#6325)
* 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>
2024-08-03 22:01:37 +08:00
Ocraftyone
85ae238bcb Enable WebView devtools if developer mode is enabled (#6298)
* Enable WebView devtools if developer mode is enabled
2024-08-03 00:23:07 +08:00
yw4z
d1bf8bf6cd Update plate list > plate number position (#6202)
* Update GLCanvas3D.cpp
2024-08-02 23:15:58 +08:00
Dima Buzdyk
2dba699a42 Suppress some compiler warnings, fix few possible bugs. (#6224)
* Supress warnings on unused functions an variables

Compilation of OrcaSlicer produces 3056 warnings.
Nearly half of them related to unused functions and variables.

It is unlikely we going to clean them up since we may want to
keep code base as close to the BBS as possible

* initialize class member with correct value

* Fix memset arguments order

* Merge multiple statemensts into single

* fix -Wpessimizing-move
2024-08-02 22:56:23 +08:00
Duan Gauche
de76e36e31 added FilX as a Filament vendor (#6216)
* added FilX

* Fixed Typo

* Merge branch 'main' into FilX

* Merge branch 'main' into FilX
2024-08-02 22:48:11 +08:00
SoftFever
b010d7286e write correct extruder_colour to gcode
fixes #6288
2024-08-02 21:40:03 +08:00
Ioannis Giannakas
ecfd1909b4 Improve overhang slowdown granularity & line segmentation handling (#5996)
* Increase granularity of extrusion move splitting for small line segments ending in an overhang

* Parameter tweak

* Increase granularity of estimation for curled perimeters

* Adjust parameters following experimentation with overhang prints

* Updated overhang segmentation logic

* Cleanup code comments
2024-08-01 22:38:08 +08:00
SoftFever
8c6bf0930e fix flatpak build error 2024-07-31 20:43:13 +08:00
Pim
05278f53c3 feat: add stealth mode select step to setup wizard (#6104)
feat: add stealth mode select to setup wizard

feat: enable stealth mode until user finishes setup wizard

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-07-31 19:51:07 +08:00
Noisyfox
65b3e4a222 Fix access violation when slicing project with print-by-object mode (#5984)
Fix issue that models with only one color become multicolor after slicing when print-by-object mode is used.
This applys the same fix as 612204b443
2024-07-30 22:32:15 +08:00
SoftFever
e556b17311 Fixed an issue that skirt may overlap with stable cone of wipe tower 2024-07-30 22:27:56 +08:00
SoftFever
adb4274e89 Merge branch 'main' into feature/support-fliament-cutter-explore-proper-flush-lenght 2024-07-29 23:21:48 +08:00
SoftFever
ce9f2a67c6 fix flatpak 2024-07-29 23:19:28 +08:00
SoftFever
2940ae64b0 fix build error 2024-07-29 23:12:47 +08:00
SoftFever
5d5c33f8c0 Merge branch 'main' into feature/multitool 2024-07-29 22:51:13 +08:00
SoftFever
cf0a3449b0 fix build error 2024-07-29 21:58:08 +08:00
Ocraftyone
dab6fa4db2 Fix Compile Warnings (#5963)
* 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>
2024-07-29 21:00:26 +08:00
Vovodroid
0b73e870a8 Suggest firmware retraction time (#5926)
* Suggest  firmware retraction time
2024-07-29 20:32:07 +08:00
Vovodroid
65195eb765 Limit variable layer height displaying precision to 3 digits (#5795)
* Limit variable layer height calculation and displaying precision to three digits.

* Remove calculation rounding.
2024-07-29 19:13:50 +08:00
Ocraftyone
b2b9c0c25a Fix Preferences dialog sizing on multi monitor setups (#5820) 2024-07-29 00:15:16 +08:00
Vovodroid
c1cdb57e9f Reverse draft shield direction on even layers to reduce thermal stress. (#5789)
* Reverse draft shield direction on even layers to reduce thermal stress and warping.

* Use reverse() to make code clear.
2024-07-28 23:26:34 +08:00
Ioannis Giannakas
080d06858d Enhancement: Adaptive Pressure advance (#5609)
* Adaptive Pressure advance options setup

* Dynamic PA - PCHIP interpolator code and tests

* Integrate dynamic PA with slicing code - emit new PA values per speed change

* Link adaptive PA to role change instead of speed change

* Adaptive PA - Alpha 2

Reduce the frequency of requested PA changes by introducing a "state" variable.
Implement user toggle for adapting PA for external walls for overhangs

* Hide adaptive PA for overhangs

* Convert Adaptive PA to use volumetric flow model and start preparing for converting to Gcode post processor

* Converted Dynamic PA to a post processing filter. Reverted changes in GCode cpp and created tagging mechanism to allow filter to apply PA changes.

* Removed adaptive PA for overhangs

* Foundations for two dimensional adaptive PA based on acceleration and volumetric flow speed

* Minor code cleanup and updating of tooltips

* Renaming files for better clarity and generate classes documentation

* Update src/libslic3r/PrintConfig.cpp

Co-authored-by: ElectricalBoy <15651807+ElectricalBoy@users.noreply.github.com>

* Update src/libslic3r/PrintConfig.cpp

Co-authored-by: ElectricalBoy <15651807+ElectricalBoy@users.noreply.github.com>

* Update src/libslic3r/PrintConfig.cpp

Co-authored-by: ElectricalBoy <15651807+ElectricalBoy@users.noreply.github.com>

* Introduce average mm3_mm over the length of a multipath for adaptive PA

* Updates for multipath handling part 2

* Introduce average mm3_mm over the length of a multipath for adaptive PA

* Trigger PA evaluation more frequently to catch edge cases where speed changes across islands of the same feature type.

* Updates for multipath handling part 2

* Adaptive PA: Implement average flow estimation on loops

* Code formatting

* Fix adaptive PA not adapting for small disconnected external wall line segments.

* Updated to take max print speed of upcoming feature to calculate new PA value.

This is to resolve issue of incorrect PA value used when starting a new feature at an overhang.

* Code clean up

* Performance tuning

* Further performance tuning by reducing use of regex commands in the nested loops and fix bug preventing gcode line output

* Further performance tuning and tweaks to stop searching for max speed after the first travel move.

* Reduce debug information

* Updated debug info

* Fix an issue on seams on specific models when wipe before external perimeter was enabled. Also cleanup documentation and add new to-do's

* Prepare for adaptive PA for overhangs, fix wipe bug & clean up code and comments

* Initial commit for adapting PA when extruding fully overhanging perimeters

* Ignore wipe command when identifying current print speed

* Option to evaluate adaptive PA on overhang regions in preparation for Klipper experimental option testing

* Update to issue PA changes for varying flow conditions within the same feature

* Fix bug where adaptive PA was enabled erroneously for role changes and ignoring user's preference.

* Refactored some code

* More refactoring

* Some bug fixes and enabled comments only when verbose g-code is enabled

* Introduced dedicated PA option for bridges

* Code refactoring to optimise initialisation of PA processor (making it faster). Fix a bug where PA was not always set after a toolchange. Improve general error handling and robustness.

* Updates to adaptive PA tooltips

* Bridging PA check with Epsilon instead of 0.

* Adaptive PA: addressing comments

---------

Co-authored-by: ElectricalBoy <15651807+ElectricalBoy@users.noreply.github.com>
2024-07-28 22:52:08 +08:00
Vovodroid
5739f96068 Use one loop for draft shield (#5786) 2024-07-27 12:27:58 +08:00
Duan Gauche
a46a05b538 Added Styrene Butadiene Styrene (SBS) to filament_types (#6217)
Co-authored-by: Duan Gauche <duan.gauche@pdsvision.com>
2024-07-25 22:40:17 +08:00
Azi
d58289c3c4 Fixing high GPU usage when color scheme is set to "Filament" or "Speed" (#6223)
removed imgui.set_requires_extra_frame(), this line causes Slic3r::GUI::GLCanvas3D::render() to be called repeatedly when 'Filament' or 'Speed' is selected for preview panel
2024-07-25 22:38:05 +08:00
SoftFever
92d6664db2 Always calculate wipe volume and hence provide correct flush_length to custom change filament g-code, so that MMU devices with cutter and purge bin (e.g. ERCF_v2 with a filament cutter or Filametrix can take advantage of it) 2024-07-24 23:41:08 +08:00
SoftFever
2f4b05844b add "temperature" variable support 2024-07-24 19:58:34 +08:00