Commit Graph

510 Commits

Author SHA1 Message Date
678affed94 ENH: alternate multi-head printing sequence
jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I739438e8c411b638571d5291f3e5ad3d54650a73
(cherry picked from commit 1ab2964ee3b0357233a0a3747edefc12db51d46c)
2025-08-24 23:18:06 +08:00
59ab414c8d FIX: wrong flush logic
1.Fix flush calc logic
2.Rename m_extruder in GCodeWriter

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I38f023fbad983305632ca62cbfb3909759013c25
(cherry picked from commit f1b0805ed13eb94d6eb61e12330db3d628c0241b)
2025-08-24 23:18:05 +08:00
9cdd30c078 ENH: new filament group algorithm
1.When n<10, calc all case cost
2.When n>10, first k-medoids algorithm first
3.Enable setting group size

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I625f47e0235c70e440c6d489b052a156fbffca3f
(cherry picked from commit 9ec276d3d7114fff7a33213c3b47ce88df85f2ee)
2025-08-24 23:18:05 +08:00
b5d92e9159 FIX: fix build error
jira: none
Change-Id: I97df69b728fc3871b7c33e1fd3ba068e741d51c7
(cherry picked from commit 326d7d28b47017bdbd98873a6437ef84116291ba)
2025-08-24 23:18:05 +08:00
ccdf2f838e ENH: calib support multi_extruder
1. backend support multi_extrude data structure
2. Compatible with third-party calibration
3. fix bug when get extruder in gocde export process

Change-Id: I5dac9abdd9907a521a1ba9b480f9e05640591bc1
(cherry picked from commit 21e6271e59ea8e4924866275566617d14a4b2b6e)
2025-08-24 23:18:05 +08:00
4026ee1682 ENH: support recommended filament map when print by object
1. support recommended filament map when print by object
2. placeholder_parser support function filament_change
3. extruder_id of filament_map is start from 1

Change-Id: Ide8019cd4a165a25972f22706ff685c3005aa031
(cherry picked from commit b42d94e1d05236b8b7b2e65b4a24810eecf040cb)
2025-08-24 23:18:03 +08:00
955cd4704e FIX: backend get the extruder id based on filament_map
Change-Id: Ib7679c0fc67336e462467dab9f5b4d4684d6eb19
(cherry picked from commit dcd9fd501354da33baea2adc0f645fabe8880cf1)
2025-08-24 23:18:02 +08:00
570e12a9e5 FIX: parameters modify of printer preset
Ensure correct behavior when modifying parameters of printer preset

Change-Id: Ic627a8e202bf4224b742336cc43ac611ddc5c997
(cherry picked from commit 366a14d8f715cbeca3d0f70a4727d91b6f0ca82e)
2025-08-24 23:18:02 +08:00
f825026198 ENH: Add recommend filament maps method
Change-Id: I3945a8b9f0a57e10a1d230003f21c9877cc5f342
(cherry picked from commit 8c8c9a967b032a270a60e6cf075fe41a6f329e1c)
2025-08-24 23:18:02 +08:00
f50a806a59 ENH: flush_volume support multi_extruder and fix bug
Change-Id: Id6b041f71ee6e55e68a6937f24ce791caac8e708
(cherry picked from commit 6fbad9ed33b2868a2fffbebdc3a98926431a1093)
2025-08-24 23:18:01 +08:00
0114c4aad5 ENH: implement mult extruder params
Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I906b106aa4c73272a418528db0e964d9130b0dd7
(cherry picked from commit 8af6f6d13b609b7ed5f25c3b36b966f533054d7b)
2025-08-24 23:18:01 +08:00
b0490eac80 NEW: config: add logic in config system to support multiple extruder
1. add nozzle_volume_type
2. add extruder_variant_list
3. add printer_extruder_variant,print_extruder_variant, filament_extruder_variant
4. construct backend fullprintconfig

Change-Id: I50659634e2cde363112ff5ded6c199d7548c6f2f
(cherry picked from commit 03058ba29dd358acd9726d1c58561e16409e8d04)
2025-08-24 23:18:01 +08:00
2d8f52ed6e ENH: remove the appended T cmd after change filament
Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Id5da64626b7343a71dcb38c06f5b5caf43ec40e2
(cherry picked from commit 7da565f0582f470274d279e52daf0dd889f0de7d)
2025-08-24 23:18:00 +08:00
a54773f9c8 Avoid cross perimeter improvements ported from BBS (#10220)
* FIX: fix avoid crossing perimeters not work[github issue #6597]

jira: STUDIO-11682

github: #6597

Change-Id: Ib86fac93280504e0040f1cce44dad4d02f709c01
(cherry picked from commit 35afceb9a7f4e5a3baba97f054d0e6768e4f59cf)

* FIX: optimize avoid crossing wall

jira: STUDIO-11682

Change-Id: I49b6756a5d3aeb482c019813074d8f6f9cc3c6ef
(cherry picked from commit e9b7006db994d78b9153dedfd0f89447c941cb76)

* Sync with latest BBS code

---------

Co-authored-by: huicong.li <huicong.li@bambulab.com>
2025-07-30 21:42:39 +08:00
c1cab71215 Introduce a new seam alignment option: Aligned back (#10255)
* Introduce a new seam alignment option: spAlignedBack.
2025-07-29 21:11:35 +08:00
865c215fb9 Add ironing fan speed control (#9944)
* Internal bridge fan speed should be applied only if overhang bridge fan control is enabled

* Reduce duplicate code

* Add ironing fan speed control
2025-07-18 16:01:15 +08:00
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