Commit graph

268 commits

Author SHA1 Message Date
SoftFever
14d49b738f remove TimeProcessor::post_process 2025-02-16 18:44:54 +08:00
SoftFever
ad5fcb704b
Revert "Fix strange M73 behaviour, where M73 is still present, even if disabled" (#8423)
Revert "Fix strange M73 behaviour, where M73 is still present, even if disabl…"

This reverts commit 740f115790.
2025-02-16 16:23:30 +08:00
Schildkroet
740f115790
Fix strange M73 behaviour, where M73 is still present, even if disabled (#8388)
Fix strange M73 behaviour, where M73 is still present, even if disabled or reporting wrong progress
fix #8369
2025-02-16 15:44:37 +08:00
Noisyfox
ccbda78477
Fix Fan mover when absolute E is used (#8359)
Make sure the GCodeReader is initialized properly, so the relative e config is correct (SoftFever/OrcaSlicer#8221)
2025-02-15 13:08:01 +08:00
SoftFever
12fb6db8ef
Fixed a bug that flash matrix affects multi tool's wipe tower (#8408)
disable/ignore purge_in_prime_tower for multi tool machine
2025-02-14 23:38:51 +08:00
SoftFever
fcc5489911
Fixed an bug that filament_minimal_purge_on_wipe_tower option doesn't work for soluable filament (#8397) 2025-02-14 23:38:18 +08:00
Ioannis Giannakas
4e74aaf144
Enhancement: Enable separate internal bridge fan speed control (#7906)
* Separate internal bridge fan speed control

* Merge branch 'SoftFever:main' into Allow-separate-internal-bridge-fan-control

* Merge branch 'main' into Allow-separate-internal-bridge-fan-control

* Merge branch 'SoftFever:main' into Allow-separate-internal-bridge-fan-control

* Merge branch 'main' into Allow-separate-internal-bridge-fan-control

* Merge remote-tracking branch 'upstream/main' into Allow-separate-internal-bridge-fan-control

* Merge branch 'main' into Allow-separate-internal-bridge-fan-control

* Merge branch 'main' into Allow-separate-internal-bridge-fan-control

* Merge branch 'main' into Allow-separate-internal-bridge-fan-control

* Merge branch 'main' into Allow-separate-internal-bridge-fan-control
2025-02-09 21:53:57 +08:00
Noisyfox
880081226a
Fix first layer tool ordering in print-by-object mode (#6664)
Fix first layer tool ordering in print-by-object mode (SoftFever/OrcaSlicer#6615)
2025-01-22 10:05:38 +08:00
Noisyfox
fab7eaab49
Fix wrong custom gcode layer caused by rounding error (#8017)
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)
2025-01-22 10:02:22 +08:00
Noisyfox
b488fdecec
Fix issue that TIMELAPSE_TAKE_FRAME is recognized as tool change command (#7926)
Fix issue that `TIMELAPSE_TAKE_FRAME` is recognized as tool change command and triggers preheat (SoftFever/OrcaSlicer#7842)
2025-01-22 09:57:28 +08:00
Dima Buzdyk
330ac879c1
gcode: keep line endins in post processing (#8092)
Some portions of GCode (like BTT_TFT thumbnails)  has to be CRLF in
order to work correctly. However, gcode post processor was ignoring
input line endings style emitting '\n' (LF) into post-processed output.
2025-01-20 10:34:03 +08:00
Ioannis Giannakas
bb009eaa99
Enhancement: ERS - Option to limit ERS to external perimeters and overhangs only (#7399)
* 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
2025-01-05 23:19:00 +08:00
Ioannis Giannakas
67cc143916
Optimisation: ERS - Reduce redundant gcode commands from extrusion rate smoothing (#7398)
* Optimisation: Reduce volume of output gcode commands for pressure equalizer

* Update thresholds

* Update PrintConfig.cpp

* Merge branch 'main' into Optimisation-Reduce-reduntant-gcode-commands-produced-by-Estrusion-Rate-Smoothing

* Merge branch 'SoftFever:main' into Optimisation-Reduce-reduntant-gcode-commands-produced-by-Estrusion-Rate-Smoothing

* Merge branch 'SoftFever:main' into Optimisation-Reduce-reduntant-gcode-commands-produced-by-Estrusion-Rate-Smoothing

* Merge branch 'SoftFever:main' into Optimisation-Reduce-reduntant-gcode-commands-produced-by-Estrusion-Rate-Smoothing

* Merge branch 'main' into Optimisation-Reduce-reduntant-gcode-commands-produced-by-Estrusion-Rate-Smoothing

* Merge branch 'SoftFever:main' into Optimisation-Reduce-reduntant-gcode-commands-produced-by-Estrusion-Rate-Smoothing

* Merge branch 'main' into Optimisation-Reduce-reduntant-gcode-commands-produced-by-Estrusion-Rate-Smoothing

* Merge branch 'SoftFever:main' into Optimisation-Reduce-reduntant-gcode-commands-produced-by-Estrusion-Rate-Smoothing

* Merge branch 'main' into Optimisation-Reduce-reduntant-gcode-commands-produced-by-Estrusion-Rate-Smoothing
2025-01-05 23:05:04 +08:00
SoftFever
f3b2dc26f5
Merge branch 'main' into bugfox/layer-cooling 2024-12-25 23:43:09 +08:00
Noisyfox
35ecb8ab4a
Fan mover: Ignore non-part cooling fans (SoftFever/OrcaSlicer#7171) (#7193)
* Fan mover: Ignore non-part cooling fans (SoftFever/OrcaSlicer#7171)

* Update comment
2024-12-24 21:35:28 +08:00
Ioannis Giannakas
508d0e6334
Integrate external purge estimates (eg Blobifier) to the filament consumption UI (#7508)
Integrate external purge estimates to the filament consumption UI
2024-11-28 22:26:49 +08:00
Noisyfox
6169b4fa2a Fix issue when the extruder do not have any adjustable extrusion 2024-10-24 21:27:46 +08:00
Noisyfox
4bb6525c4f Fix issue that total_time is not updated after slowing down 2024-10-24 21:27:03 +08:00
Noisyfox
dc943eddaf Exclude movements before first extrusion from layer time calculation when dealing with layer cooling (SoftFever/OrcaSlicer#7171)
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.
2024-10-24 17:24:09 +08:00
SoftFever
0bf2b9dcff respect "Enable Filament ramming" option 2024-10-07 14:34:08 +08:00
Ioannis Giannakas
5bb42bc0d5
Fix wipe tower issues with SEMM and ramming turned off (#6934)
* Fix wipe tower issues with SEMM and ramming turned off

* Purge tower last layer collision potential fix (for SEMM)

* Revert "Purge tower last layer collision potential fix (for SEMM)"

This reverts commit 9fc465c2d9.
2024-10-01 22:54:14 +08:00
SoftFever
65fc14209d
Fix a bug that wipe tower has missing extrusions when ramming is disabled (#6894)
* Fix a bug that wipe tower has missing extrusions when ramming is disabled.

* hide "Prime all printing extruders" for SEMM printers
2024-09-25 19:34:18 +08:00
Tom
24ae14f1d8
Revert "Tsmith35 per BS PR4631 (#6709)" (#6845)
* Revert "Tsmith35 per BS PR4631 (#6709)"

This reverts commit c8216accfd.
2024-09-20 21:55:20 +08:00
Noisyfox
ad6ea3fb06
Fix crash when first layer is empty (#6817)
* Fix crash when first layer is empty (SoftFever/OrcaSlicer#6807)
2024-09-18 22:34:36 +08:00
Tom
c8216accfd
Tsmith35 per BS PR4631 (#6709)
ENH: support spiral lift with timelapse gcode
The existing implementation did only read the new Z position from the injected timelapse_gcode and flagged the position as unsafe because of this.

This change reads X, Y and Z pos from the timelapgse_gcode and will keep the position state correct to enable safety checks required for using spiral Z hop.

Because of this, spiral Z hop can be used everyhwere now. The same pattern is also applied for layer_change/toolhead gcode injection.

The set_current_position_clear method is unused but will be kept in implementation for future scenarios.

Co-authored-by: Simon ziehmon@users.noreply.github.com
2024-09-14 23:52:04 +08:00
Ioannis Giannakas
3927f5adf8
Filter out micro segments generated during the overhang slowdown process (#6714) 2024-09-10 22:54:35 +08:00
SoftFever
78d72632f7 fix a bug that gapfill was assigned with wrong extruder/filament 2024-09-08 19:50:32 +08:00
Vovodroid
0c63dd4bd0
Remove unused slow down proportionally code (#6405)
* Remove unused slow down proportionally code
2024-08-25 12:40:40 +08:00
Ioannis Giannakas
91e775b1b4
Revert "Take filament flow ratio into account when displaying flow in gcode legend" (#6525)
This reverts commit ff53f401be.
2024-08-23 00:16:38 +08:00
Vovodroid
2acd858bf3
Remove unused parameter from place_seam method (#6421) 2024-08-18 16:32:56 +08:00
SoftFever
7082e945b1 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
SoftFever
a16a1e9307
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
Dima Buzdyk
e6ed93f0c6
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
SoftFever
83c50b2ad1 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
Ioannis Giannakas
c5d417ed89
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
cfe21e5e34 fix flatpak build error 2024-07-31 20:43:13 +08:00
Noisyfox
783570ebf6
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
5e2f145c34 Merge branch 'main' into feature/multitool 2024-07-29 22:51:13 +08:00
Ocraftyone
b83e16dbdd
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
4a81fe6134
Suggest firmware retraction time (#5926)
* Suggest  firmware retraction time
2024-07-29 20:32:07 +08:00
Ioannis Giannakas
529c44d8e3
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
SoftFever
f490d2ca9f fix flatpak build 2024-07-23 18:18:27 +08:00
SoftFever
c36d4ad7c9 Fix misc bugs 2024-07-23 00:12:54 +08:00
SoftFever
447cc01405 preheat work - done 2024-07-21 17:58:37 +08:00
enricoturri1966
7d0fb4f42a preheat work - part 1 2024-07-21 10:29:42 +08:00
SoftFever
a9668728bc
Merge branch 'main' into feature/multitool 2024-07-16 23:30:26 +08:00
SoftFever
002125fbe4 Revert "Revert "Some flatpak fixing (#5510)""
This reverts commit e29cba2eff.
2024-07-16 22:39:43 +08:00
SoftFever
4b3f91b2e2 Simple preheat, temperary solution 2024-07-16 00:02:38 +08:00
SoftFever
f84c3a00e0 Fix a regression for SEMM when ramming and cooling is disabled 2024-07-14 17:35:12 +08:00
Dylan
230a4aaad8
Limit the max speed on the wipe tower (#6044)
* limit the max speed on the wipe tower
2024-07-11 23:53:32 +08:00