Commit graph

285 commits

Author SHA1 Message Date
Alexandre Folle de Menezes
d37f1b6a81
Fix english strings consistency (#8881)
* "non zero" -> "non-zero"

* "Z hop" -> "Z-hop"

* "works" -> "is working"

* "version at least x" -> "version x or higher"

* "printing job" -> "print job"
"to print on" -> "printing on"

* "is not find" -> "was not found"

* "boundary of plate" -> "plate boundaries"

* "toolchange" -> "tool change"

* "colour" -> "color"

* "cancelled" -> "canceled"

* "can not" -> "cannot"

* "gcode" -> "G-code"
2025-04-26 19:59:49 +08:00
Noisyfox
e2b16f527a
Improve gcode preview flow rate scale (#9319)
* Ignore very tiny extrusions in flow rate scale (SoftFever/OrcaSlicer#9190)

* Don't show flow rate if it's not extrusion

* Merge branch 'main' into bugfox/gcode-viewer-flow-scale
2025-04-23 23:37:08 +08:00
Noisyfox
cd2077ebaf
Fix prime tower wipe volume calculation (#9235)
* Revert "Fixed an bug that filament_minimal_purge_on_wipe_tower option doesn't work for soluable filament (#8397)"

This reverts commit fcc5489911.

* Fixed an bug that filament_minimal_purge_on_wipe_tower option doesn't work for soluable filament (#8397)

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-04-20 13:36:11 +08:00
HaythamB
d9c27f3dee
Fix #6839 with final tool preheating on multitool machines causing in… (#7405)
Fix #6839 with final tool preheating on multitool machines causing in appropriate temp settings

Seems like Orca is trying to preheat the next tool in a multitool print, and ends up calling a heater off command in the last 30 seconds of any print.

This happens because there's no handling to check if the next active tool is an actual valid tool index, or its a T-1 command to end the print  since we're using the last tool.

Simply moved the preheat commands into the conditional IF that automatically fixes this issue since the tool index is now properly evaluated.

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-04-20 13:24:49 +08:00
Rodrigo
8cdc9c02df
Junction Deviation Machine Limit (#9234)
* 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>
2025-04-15 21:49:17 +08:00
SoftFever
a519ea34a5
Port STEP import dialog from BambuStudio (#9102)
![image](https://github.com/user-attachments/assets/db27ee5d-c158-4729-a648-a33f1222a479)


Thanks BambuLab!

Fix #8820
2025-04-05 21:20:51 +08:00
Noisyfox
f14232396a
FIX: prevent dead loop of conflict checker (#9115)
jira: STUDIO-10282
Change-Id: I5722e9967cdd83cde5ef59aee37b0f7019e53d89
(cherry picked from commit b952006e4db49f00054cc2ac539074222c890d08)

Co-authored-by: Arthur <arthur.tang@bambulab.com>
2025-04-05 17:51:16 +08:00
SoftFever
b1de545ff9
Merge branch 'main' into dev/step-import-dialog 2025-04-05 17:47:59 +08:00
Ioannis Giannakas
7f913f1cc2
Fix speed up during overhang slowdown when curled perimeters is enabled. (#9215) 2025-04-05 14:46:02 +08:00
Noisyfox
ed45bf425e
Use boost::nowide directly from boost (#9037)
* Use `boost::nowide` directly from boost

Cherry-picked from prusa3d/PrusaSlicer@bffa3f8578

Co-authored-by: tamasmeszaros <meszaros.q@gmail.com>

* Replaced all occurrences of boost::nowide::narrow for wxStrings with into_u8

Cherry-picked from prusa3d/PrusaSlicer@8d6497297a

Co-authored-by: tamasmeszaros <meszaros.q@gmail.com>

* Fix flatpak build
2025-03-29 20:14:10 +08:00
Mack
0bc2444079 ENH:Add 'Don't show again' to the step mesh
jira: STUDIO-8606
Change-Id: I2382b9052e2c994a458ad36ca61eb94c517927c6
(cherry picked from commit 0cce6619ce12aa8540f6dfca6d9ee79ffba65c19)
2025-03-27 22:17:07 +08:00
Noisyfox
51916ff058
Avoid using auto as type of Eigen expressions. (#8577)
According to https://eigen.tuxfamily.org/dox/TopicPitfalls.html one
should just avoid using `auto` as the type of an Eigen expression.

This PR fixes most of them I could found in the project. There might be
cases that I missed, and I might update those later if I noticed.

This should prevent issues like #7741 and hopefully fix some mysterious
crashes happened inside Eigen calls.
2025-02-26 23:07:23 +08:00
SoftFever
41ff66297b
ENH: modify the start pos of wall for wipe tower[affects BBL machines only] (#8439)
and modify the overlap of wall and infill for wipe tower jira:none

cherry picked from commit
bambulab/BambuStudio@4db196b11f

Thanks BambuLab!

- Optimize the starting position of the printing wiper tower after
material change, the initial print on the wipe tower sometimes had
under-extrusion issues, and all layers of wipe tower have the same
starting position, increasing the risk of collision. This optimization
distributes the initial extrusion over four corners, reducing the
accumulation of defects.
- Reducing the rivet length between the wipe tower's outer wall and
infill to 0mm minimizes the risk of collision when switching between
printing infill and outer walls.


![image](https://github.com/user-attachments/assets/7cd4daf2-4df4-4bfc-b447-99099e73631b)
2025-02-19 18:09:25 +08:00
SoftFever
ab7ef4f55e Fixed an issue that raimaining time is wrong when arc fitting is enabled. 2025-02-18 20:13:42 +08:00
zhimin.zeng
328ea469cb ENH: modify the start pos of wall for wipe tower
and modify the overlap of wall and infill for wipe tower
jira:none

Change-Id: I0d1355c718e2bd1efea6d898f793f5869476ab12
(cherry picked from commit 4db196b11f052d6a7a7c7a8aafe0d2b34a7d2d80)
2025-02-17 21:44:57 +08:00
SoftFever
43353a6036 Fix a regression that total layer number is missign for BBL printers 2025-02-17 19:17:22 +08:00
Kaarel Pärtel
830c1ac928
Add minimum flow rates for spiral vase transitsions (#8333)
Add minimum flow ratios for spiral vase transitsions

Currently when starting the spiral vase the extrusion rate is ramped
from 0 to 100% on the first layer and from 100% to 0% on the last layer.
In some cases it can lead to underextrusion at the beginning and end of
the spiral.

This change adds minimum flow ratio options for the beginning and the end
of the vase. This means that instead of ramping from 0% to 100% it
instead ramps from for example 20% to 100%.

This issue has been reported in SuperSlicer
https://github.com/supermerill/SuperSlicer/issues/4195
2025-02-17 08:55:23 +08:00
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