Commit Graph

544 Commits

Author SHA1 Message Date
5f2d2fd3a2 Skip the layer initial travel properly in vase mode (#10135)
Skip the layer initial travel properly in vase mode (SoftFever/OrcaSlicer#10072)

---------

Co-authored-by: Rodrigo <162915171+RF47@users.noreply.github.com>
Co-authored-by: Ian Bassi <ian.bassi@outlook.com>
2025-07-14 21:21:40 +08:00
8b3cbdc36f The multi-color printing wipe tower now includes the Bambu RIB wall feature (#9881)
* 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>
2025-06-15 14:53:35 +08:00
de66749a11 fixes compiler warnings (#9619)
* compiler warnings: adds SYSTEM to [target_]include_directories to skip warnings originating from dependencies

* compiler warnings: uninitialized/unused variables, missing parenthesis, pragma

* compiler warnings: redundant template type, missing curly braces, pass 0 instead of NULL as int argument

* compiler warnings: removes fclose(fp) where fp==nullptr since fclose() has attribute __nonnull((1))

* compiler warnings: uninitialized variables, missing parentheses, missing curly braces

* compiler warnings: ? as lower precedence than <<

* compiler warnings: unused variable

* compiler warnings: unused result

* compiler warnings: undefined/unused variable

* compiler warnings: uninitialized variable
2025-06-14 21:05:25 +08:00
de58fb295f Fix preview gcode misalignment caused by placeholder postprocess (#9529)
* Fix layer number placeholder process

* Fix gcode move id misalignment when M73 is disabled

* Fix gcode move id misalignment when M73 is enabled
2025-05-16 09:28:30 +08:00
641877ca38 Fix crash when start_extruder_id is empty (#9584)
Fix crash when `start_extruder_id` is empty (SoftFever/OrcaSlicer#9580)
2025-05-09 22:47:18 +08:00
c6f5e2e243 Ensure bed shape is in correct orientation (#9350)
Fix #9345

This also fixes deltamaker's plate logo rendering:
![image](https://github.com/user-attachments/assets/517c9b3c-8eee-4081-a2bc-5913fe35328b)

And fix bed rendering issue for custom shaped bed without model:
![image](https://github.com/user-attachments/assets/9643413e-9b1c-4e74-afe8-edf2306e7021)


Also fix rendering of exclusion area that are defined in clockwise:
![image](https://github.com/user-attachments/assets/0949c1c3-6304-4ece-85c7-f3162249bf90)
2025-05-01 17:28:10 +08:00
aac4337b6d 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
cd8b4c7091 Merge branch 'main' into bugfox/bed-shape-orientation 2025-04-26 12:35:23 +08:00
c72d21d5b6 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
62f22601e5 Merge branch 'main' into bugfox/bed-shape-orientation 2025-04-20 18:21:31 +08:00
04f149fb97 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
e3bd1b14b8 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
41ba5f8845 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
697fa4d3cb Ensure bed shape is in correct orientation (SoftFever/OrcaSlicer#9345) 2025-04-15 12:51:01 +08:00
57661b4a3a 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
d6fbdb1978 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
d502e4c179 Merge branch 'main' into dev/step-import-dialog 2025-04-05 17:47:59 +08:00
cf630021c3 Fix speed up during overhang slowdown when curled perimeters is enabled. (#9215) 2025-04-05 14:46:02 +08:00
b8e659cb7e 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
a71f0d29d8 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
a5cdb39269 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
8a4ac409ab 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
dcbcade007 Fixed an issue that raimaining time is wrong when arc fitting is enabled. 2025-02-18 20:13:42 +08:00
c9f265c5ea 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
ec23f61091 Fix a regression that total layer number is missign for BBL printers 2025-02-17 19:17:22 +08:00
3105bab18e 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
97816e5229 remove TimeProcessor::post_process 2025-02-16 18:44:54 +08:00
473e73e152 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
aade1e04a8 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
6ba3de396e 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
fb40b5ccf7 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
598acd29d5 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
0d356496a9 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
3d66dfe258 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
b58fb0cf94 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
75dd32d898 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
9b38c62444 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
511b7fcfe3 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
2a5d406d7c 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
367639b076 Merge branch 'main' into bugfox/layer-cooling 2024-12-25 23:43:09 +08:00
56aed5a10a 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
784aa3a4bc 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
c6695ec280 Fix issue when the extruder do not have any adjustable extrusion 2024-10-24 21:27:46 +08:00
ec6e78f48e Fix issue that total_time is not updated after slowing down 2024-10-24 21:27:03 +08:00
b90b8eda39 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
d238f0a28a respect "Enable Filament ramming" option 2024-10-07 14:34:08 +08:00
0f3c28f7ac 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 9fc465c2d914adf58a74b0e5167dfb04646ef939.
2024-10-01 22:54:14 +08:00
144c1b33b3 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
f4a31dc8b7 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
684d176e7c 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