Commit Graph

2125 Commits

Author SHA1 Message Date
71f9126b77 FIX: fix crash when loading 3mf file
jira: none
Change-Id: Ice2a518518994871d23a6f478145edd36f0343a2
(cherry picked from commit b495bfd4e9dbdc11bc4e5e4146abfd0bdca137bc)
2025-08-24 23:18:28 +08:00
1b30bf799c Fix compile error 2025-08-24 23:18:28 +08:00
2c1b7e86e5 FIX: Painting displays incorrectly when removing color
jira: STUDIO-8657
Change-Id: I0fdfac500716d83f45c73dc07feab032e793e7a5
(cherry picked from commit 695b3c78e4b283df1ac5e5f63e73b0cbbc6196a2)
2025-08-24 23:18:27 +08:00
4073cae8e5 ENH: enhance for wipe tower
1. modify the start position of wall
2. modify the overlap of wall and infill
3. print wall first
jira:none

Change-Id: I1b3f4a8cb198f84b81aba638cc722dedf84a164c
(cherry picked from commit 50b3d0097e8d4e7c4c112c75a757d25c929a038c)
2025-08-24 23:18:27 +08:00
9ed5d8a1a9 ENH: use physical extruder map to get ext id
jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ibfaacfc31863404153a80289bd5cb47d72418060
(cherry picked from commit 8616784886afe119b39783559760794caea179d8)
2025-08-24 23:18:26 +08:00
f382ee98db ENH: add map for logic ext to physical ext
jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I0d250de87b3c3d6c9ceb4efd3099c82104e5fc1b
(cherry picked from commit b45d2f53801abc209cb98670c0960efc21ab120e)
2025-08-24 23:18:26 +08:00
ba957d1580 FIX: slice crash with incorrect filament_map of single printer
jira: none
Change-Id: I49bdcf03fc8abb24e41e0545e2d9cd3c55941df4
(cherry picked from commit 83681128e0c14c8f50952011122d6eceacce496a)
2025-08-24 23:18:26 +08:00
679794d3c3 Update code structure to match BBS 2025-08-24 23:18:25 +08:00
f20c916e05 ENH:add layer_filament_list.json record used filaments for each layer
jira: none
Change-Id: Ib293ff9fdd284fef9e6de93260e2ba7cc3d66daa
(cherry picked from commit 28046fbc23e174868f41535764076888a680d116)
2025-08-24 23:18:25 +08:00
1765388326 FIX: modify the filament id for painting color
jira: none
Change-Id: I25dcab95f1499783afd892c790f1e18232ea4f72
(cherry picked from commit f7a0e66e0dd16531d2318843ec86630232880867)
2025-08-24 23:18:25 +08:00
6599f37c83 ENH: add tpu check before slicing
jira: none
Change-Id: I7d4f053e67f4a4aa22ef990d597d28cb894c4195
(cherry picked from commit 60cdf3b6551a8c18c10db0a746e1b15b764eda66)
2025-08-24 23:18:25 +08:00
db0f3e484a ENH: CLI: support multi-extruder slicing
1. add slicing errors for gcode in unprintable area, also for filament mapping
2. use common area for auto arrange
3. support filament_map/filament_map_mode related params
4. add logic to check the filament maps before slicing
5. uptodate support multi-extruder
6. switch new machine/filament support multi-extruder
7. process config params support transfer between mult-extruder and
   single-extruder
8. improve machine-limit logic support multi-extruder
9. flush-volume support multi-extruder
10. add default params to support auto mapping slicing

jira: no-jira
Change-Id: Ice39a365841322ddb586d39c56ff923626822528
(cherry picked from commit f518d6804a9de69deef81c20cd22005a4bbd0cd4)
2025-08-24 23:18:25 +08:00
e6f72db6bf FIX: wrong flush statistics in sequence mode
jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iec3557900fce7b3c70e05705f9ea0e987fdff3cd
(cherry picked from commit 563e4ca8cf1756b514a893699c29410bfe68afb5)
2025-08-24 23:18:24 +08:00
d7af75359f ENH: save filament sequences in gcode result
jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I79c2eb4002c72568d487df417c914ab0b8a14a67
(cherry picked from commit a289370b19e78693698db388d4057e25ba285d6b)
2025-08-24 23:18:24 +08:00
ea4357df3e libslic3r: Fix declaration in FlushVolPredictor.hpp
In file included from src/libslic3r/FlushVolPredictor.cpp:1:
src/libslic3r/FlushVolPredictor.hpp:44:34: error: ‘string’ in namespace ‘std’ does not name a type
   44 |     FlushVolPredictor(const std::string& data_file);
      |                                  ^~~~~~

src/libslic3r/FlushVolPredictor.hpp:49:5: error: ‘uint64_t’ does not name a type
   49 |     uint64_t generate_hash_key(const RGB& from, const RGB& to);
      |     ^~~~~~~~

In file included from src/libslic3r/FlushVolPredictor.cpp:1:
src/libslic3r/FlushVolPredictor.hpp:44:34: error: ‘string’ in namespace ‘std’ does not name a type
   44 |     FlushVolPredictor(const std::string& data_file);
      |                                  ^~~~~~

(cherry picked from commit 126dfea02729e16f9e64d6634a762da8b665d6e2)
2025-08-24 23:18:23 +08:00
b71d14b526 ENH: consider colors with de < 5 as the same
1. Use cie de2000 as color distance
2.Consider colors with de < 5 as the same color  when calculating
flush

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I4b451910a21c9db3471c63c270f1f120e3c5d160
(cherry picked from commit 72bc6f44cfab9145aecdb843ac4a03a9338a8cc6)
2025-08-24 23:18:23 +08:00
179eab1355 ENH: add module flush vol predictor
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie1b0d4c443df4a26ff1b010e73d589162a0fbff7
(cherry picked from commit 475e9b34ff85cf6058ac639fde4b73264e350195)
2025-08-24 23:18:23 +08:00
a2ae7e1ddd FIX: disable unprintable logic for single ext
1.Disable unprintable logic for single extruder printers

jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iecb4cc80455288925d3acb5688b81aa9ef1c3a8a
(cherry picked from commit c6ddd329e3397cc4cafac4665b9fdf2dabb657f6)
2025-08-24 23:18:23 +08:00
56af264273 FIX: add object id for gcode check
and display plater limit error individually
jira: none

Change-Id: Ie6105642667530901be494b344ce853e728ae5fa
(cherry picked from commit acd6016fc834c749307205448e05bffee954c71e)
2025-08-24 23:18:23 +08:00
041ca29ab7 ENH: modify filament group strategy
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iac837beeb7a5c4684aea38c3e3925a67cd916fe8
(cherry picked from commit e3f4496adf87ce68691c2e511b065925784c54e1)
2025-08-24 23:18:22 +08:00
950da4ecfd ENH: do not consider empty filament
1. Do not consider empty filament when selecting group for ams
2. Function "collect_filaments_in_groups" is frequently called,
optimize memory allocation to speed up.

jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iad8c9a257bc2dd832c77e650f8c052fb9d8379a0
(cherry picked from commit 21379e13366fd70f0042e85dcf8ee220185c782d)
2025-08-24 23:18:22 +08:00
a6dc8c27a8 FIX: invalid pop up when changing machine profile
1. Machine with multi extruder should set length of extruder offset
to extruder num
2. Register retract_restart_extra

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ic3eb324cb91dc70b091c8922936d2709c361cc38
(cherry picked from commit 13df1ee7bab2bf13c9f5ffca6ad1228ff48e885e)
2025-08-24 23:18:20 +08:00
c362a99a11 FIX: empty filament map
1.Caused by uninitialized filament map in mapping for AMS

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I71ce6001fc6f2e72eb9303fcaba0bac16ad70dc9
(cherry picked from commit 48023e4c154c118c9396b6065b7e2476970fd441)
2025-08-24 23:18:20 +08:00
2c75d2f1b9 ENH: Select group that best fit filaments in AMS
1.Only consider groups with a distance within the threshold

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I91526a796a0f7f1ed3e77c41076c1f85620dd944
(cherry picked from commit 1379b838466f9b0a188fc916c31916626b933dc4)
2025-08-24 23:18:19 +08:00
b553cf68da FIX: flush_volume_matrix and flush_multiplier is incorrect
jira: none
Change-Id: Ie2d73b90b9ac7f5a6945b2bac859b76d2132f55a
(cherry picked from commit b17c5e7e017a3019224bf105758ef23658308254)
2025-08-24 23:18:19 +08:00
e1ebe832dd ENH: refine filament group algorithm
1.Use max flow network to handle limit
2.Support setting master extruder id
3.Fix the issue in the KMedoids algorithm where data is overwritten
after each retry.

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Idd2bedf39f61e7a65eb4199852f60b8fbebe0a7d
(cherry picked from commit 3cfb49a1b9dc2c76066ec441f1028f99a4bf99c4)
2025-08-24 23:18:19 +08:00
9e05f88a36 FIX: fix the crash bug when slicing
jira: none
Change-Id: Ieaec4fda4c653e6595322356bd16226640d2e932
(cherry picked from commit d715353fa634660cb420920d96466cb23bc6576e)
2025-08-24 23:18:18 +08:00
1658c6c54d FIX: When the printer is inconsistent with the current preset
when the ams is 0/0, should not consider the print connect status
jira:none

Change-Id: I2288ff15894d5c734a98b830df6678cab2bd12fc
(cherry picked from commit 20837717d411016251c4831586b0fa61350a08b2)
2025-08-24 23:18:18 +08:00
77fbe2e0ff ENH: support virtual G1
1.We need virtual G1 command for statistics

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I0db0f7f0f0c2d61e43582154e0bd76bd0097c8da
(cherry picked from commit b34395358b4dd716eba7998a02f1cd3f6720c957)
2025-08-24 23:18:18 +08:00
0889ff619e FIX: crash when ams filament list is empty
1.Set the default size of ams filament to 2

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie985ecfa44cb9fcaf21406303e32bb56e731f351
(cherry picked from commit b4d85663325eb9be1be48e1eee3d3128e31650db)
2025-08-24 23:18:18 +08:00
fd5c390500 ENH: remove a useless assert
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ief29b7cc8adc16218f1b3608a35448bd95e54c80
(cherry picked from commit 2f11ca8a03087aad9b5039db4258f652c8eadbf1)
2025-08-24 23:18:18 +08:00
dcfa224cf2 ENH: do another map for ams filaments
1.If the group result differs little in flush,we will choose the one
that best fits the ams filaments

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Icd147b406e3494c841ef13564ad1b1231ad798fd
(cherry picked from commit 0b95bdd9d950918ea6979da6b4d62b2d2cd25b99)
2025-08-24 23:18:18 +08:00
d6a93ed8b6 ENH: add wall vol speed when filament change
1.Add placeholder for outer wall volumetric speed when changing
filament

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ib1d5608f95bc12777db5d848f6b037c27ea0fd03
(cherry picked from commit 8472e3011cbb957c361e391833c76a5542e7f2de)
2025-08-24 23:18:17 +08:00
eddab8bf8d NEW: Add "change filament to"
jira: none
Change-Id: Ic5550ed257e03033681de91ebca521390f902f66
(cherry picked from commit 51de6253ce0525da3345c496e0a70c5fe8ff542a)
2025-08-24 23:18:17 +08:00
be6095b4a7 FIX: missing filament start gcode with 1 color
1. Caused by setting the current filament to filaments used
in machine start gcode

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: If6789b1e02aadc6d03610b7b7cc4c829ae767a7d
(cherry picked from commit 8c88fabe8f0476280ff18bafc320a1d1e4a01a99)
2025-08-24 23:18:17 +08:00
84fe6250b2 FIX: config: fix the 3mf export invalid issue when using single filament
JIRA: no-jira
Change-Id: I1faf1fd7ac2b3dfd99594856e3c84da12d805627
(cherry picked from commit 913bace1eb13f74eaea100897efeccd30a9253ed)
2025-08-24 23:18:17 +08:00
082c213dcf ENH: config: add extrudrer variant check logic
when load config from 3mf

Change-Id: I946ba777853e479418fcd1b49209f75ed41f33f3
(cherry picked from commit 5defd2b7c315d658be52caf8eb97e80b41458f31)
2025-08-24 23:18:17 +08:00
508c5d5bc9 ENH: config: add exception when load old invalid 3mf
some param has been changed for the multi-extruder
currently we popup an exception
JIRA: no-jira

Change-Id: I1e892203d34c569a580694c1c28a1c7d695c1c64
(cherry picked from commit 2636e44dc0a276962c77ed0a51128009bbf7608f)
2025-08-24 23:18:17 +08:00
c0369b2c81 ENH: enhance accuracy of weight calculation
1.Use float to store the weight copmputed in the procedure.Avoid the
issue where filament weight remains at 0 after changing filaments

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iff0cfc6e22f34affbc232dbfe196f27ee06d2d9e
(cherry picked from commit 994e4f4840a6734ab479e10d39462cc692bc4d77)
2025-08-24 23:18:17 +08:00
72d758c3b0 FIX: modify unprintable_filament_ids should regroup
jira: none
Change-Id: Ifb8105f6e301aaed9ca4e62a37b9d3a1616e755b
(cherry picked from commit fec7129437fc781b918ae1819c280440ea3fb54b)
2025-08-24 23:18:16 +08:00
9142654795 ENH: config: add default_nozzle_volume_type in printer
1. also remove original nozzle_volume_type from printer
and move into project config
2. support save nozzle_volume_type into appconfig
and load from it at beginning or printer switch

jira: no-jira

Change-Id: I01fc82d142fc633fc59a238796a71b9f8d180efb
(cherry picked from commit fe8b904e7551cde83b1ead75922e9b60278b50ad)
2025-08-24 23:18:16 +08:00
d6e3d5272e FIX: incorrect print sequence of support filament on first layer
jira: none
Change-Id: I893fc773849a5557c138de3f9bd1c3ec1e1978df
(cherry picked from commit 3b988f6b77d2375b98f30727a8d72a4524970f62)
2025-08-24 23:18:16 +08:00
444d7fa81a ENH: Add limited filament maps to slice info
jira: none
Change-Id: I7b08943ba5f4e7fa9be18ba3f64caee182888d45
(cherry picked from commit 85ebb469959499d5c2d7fe349e0d8e92045c9fab)
2025-08-24 23:18:16 +08:00
1b70bd38f2 ENH: check wethether filaments print on first layer
Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I1cc7cd9e9bbbcdf72112c0949196c09ef414cf91
(cherry picked from commit 67039a6f4d51482fe689a2aad0a900f3339a5c62)
2025-08-24 23:18:14 +08:00
bd178d9369 ENH: Pass ams information for slicing
jira: none
Change-Id: I3fe12189b6e8246fd553dcd8659bf7f98e622767
(cherry picked from commit b620a4122e2371d8311a307fa1db377e5a155222)
2025-08-24 23:18:14 +08:00
e77d2abf47 ENH: add tpu check when printing by object
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I366aa8387dfc8d1c94fe836ee4898424d04737c3
(cherry picked from commit f39eabfd9fac3e3abf6c360a74a73abf453778bb)
2025-08-24 23:18:14 +08:00
135b39526e ENH: Add gcode check for multi_extruder
jira: none
Change-Id: Iebc43e608c4509eb62b280af2d401fa9e0e089ba
(cherry picked from commit c75c10e312b8d0bd5404d92db88c95a9e6186bc1)
2025-08-24 23:18:14 +08:00
7bd16a3ca7 ENH: add filament cluster algorithm
1.Add new KMediods algorithm
2.Consider physical and geometric printables
3.Refine code structure

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I1412835c3c6380f9cedb44ff6914004365bba889
(cherry picked from commit c53a35856d8d1cbd3a632a8510f1ddfdf9117106)
2025-08-24 23:18:13 +08:00
8eb0a59723 FIX: fix flow ratio calib bug for single extruder printer
2. modify the filament_flow_ratio to nullable
jira:none

Change-Id: I3f0569ee643cfe9473c6029ca0e04f4b80c8332e
(cherry picked from commit ed61d1d31bdc79f064567deacf35e05bd123880d)
2025-08-24 23:18:13 +08:00
e7d2c51326 ENH: flow_ratio cali support multi_extuder
jira: none
Change-Id: I03399040a772043d3d20116b0588fd04e0725be1
(cherry picked from commit 38b3c32b6ae2ca63e815623144cb4c2a9c194977)
2025-08-24 23:18:13 +08:00