Commit Graph

383 Commits

Author SHA1 Message Date
xun.zhang
68032d31b4 ENH: enhance extruder unprintable area detection
1. Detect unprintable area for extruder when slicing
2. Always do filament map again if object pos changed

jira:STUDIO-9473

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ic01b8be8e3b08ba6b34efb2d3c451c9e985a03e8
(cherry picked from commit f1445ff0477795e9baf3792348ff27d79ee2308c)
2025-09-07 18:24:59 +08:00
xun.zhang
c5b3a8cb9f ENH: save filament change count in gcode result
1.Save filament change count per filament

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I26e7963c0b5fdcca7c7d0ec5590c3f40c1fc5eed
(cherry picked from commit 759d78dd2bad7157af8d41570ff24e5f7c4a364f)
2025-09-07 00:49:25 +08:00
zhimin.zeng
acd8692dc8 FIX: fix the error travel and wipe path of wipe tower
jira: none
Change-Id: Ib195cfc87a08f367e5d722b4af85cd33b1d1efdc
(cherry picked from commit bb2b81dc992227fe90f33f11f54162925d12d5c9)
2025-09-07 00:13:52 +08:00
zhimin.zeng
ed18e5d64b FIX: some gcode path errors of wipe tower
jira: none
Change-Id: Ic669e95ecc32a232676c86e89fa1a6fe092efa36
(cherry picked from commit 1fe49fb2d1f7bd4572c3b5e588af06c94c08dd43)
2025-09-07 00:00:42 +08:00
zhimin.zeng
a0f862eaf6 FIX: crash in new wiper tower
jira: none
Change-Id: I3d9b59b15ab93da201e07670155af28b7596081c
(cherry picked from commit 620b6053d8f51ce5bb1c68c84f2087e995840684)
2025-09-06 23:54:18 +08:00
xun.zhang
828ca927d0 ENH: seperate statitics for auto for flush mode
1.Compare stats of AutoForFlush with other filament map modes
2.Refine the function signature of filament group

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iec2aff069d8c44343df8b82f045c61354c7d1c2a
(cherry picked from commit 95e49986f32070756182a31843f4f37f863f07ac)
2025-09-06 23:52:55 +08:00
xun.zhang
e585d5ceb7 ENH: refactor filament group
1.Seperate min flush max flow solver
2.Add "best match" mode for filament map
3.Refine code strucuture

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: If4ba09a0320366b862cec59f8ed1f22c392c53b9
(cherry picked from commit 414a2105c9d77bbf7771bdf3fdec40d96dc949c2)
2025-09-06 23:49:26 +08:00
xun.zhang
f5a8c96924 ENH: filament map params switch to global param
1.Add more filament map modes
2.Filament map and mode are set as project config
3.Plate filament map is only valid when plate filament mode is
manual

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I33b2f853e0b77b9d605be1f2f1172b44df43da15
(cherry picked from commit e45f8c6dc2146e1e31a1c21e8aaada540af112d0)
2025-09-06 23:49:11 +08:00
zhimin.zeng
068588a7a0 FIX: the speed of wipe tower wall is incorrect
after nozzle change gcode(for old wipe tower)
jira: none

Change-Id: Ifa4d27d112c180ab9fb9c6ef39f95b28a5f8c55a
(cherry picked from commit 64aa4e63fe09087ff367d47be5b40233af6ad42f)
2025-09-06 23:38:26 +08:00
zhimin.zeng
46792cddcc FIX: the wipe tower is not show when enable smooth timelapse
jira:none

Change-Id: Iab7994e1ba15d09effe9ad57aebbe9520459f7cd
(cherry picked from commit c6e117fef0efbc0f921db961c1cbf68b895bf75a)
2025-09-06 23:00:41 +08:00
zhimin.zeng
0d4800b846 ENH: wipe tower support filaments that do not adhere to each other
jira:none

Change-Id: Ia52340f4e8bdb34791cb2019e9763bddfbc8dc5f
(cherry picked from commit e1e0de6efb667a2a198be47d75c90b0f2f0a4324)
2025-09-06 22:19:32 +08:00
zhimin.zeng
630b06ecfc FIX: the error offset of nozzle change gcode
jira: STUDIO-9133
Change-Id: Ibc56d6d735a24cf2e18b7c87f91c83bdff30228b
(cherry picked from commit 78de72137ed0320d7e0de0620c938cd5821fae7a)
2025-09-05 17:59:08 +08:00
zhimin.zeng
1c343f7d9d FIX: the speed override not recover
jira: none
Change-Id: I322206768435942dccd4ad233ad09aeaad080a1a
(cherry picked from commit 04d7c3485a23205ea8c275f8a9bc15930121171d)
2025-09-05 17:48:22 +08:00
zhimin.zeng
3c7b05c84b FIX: fix the error retract of nozzle change
jira: none
Change-Id: I4773307263cbbca0955dd44bbf046e45d91f1b5f
(cherry picked from commit 0d55524fca6ea1ea4ca6387df8cfb725a90269c9)
2025-08-26 20:36:53 +08:00
qing.zhang
abe98c5939 ENH: get first filaments & non support filament
Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I9370e48b634f21a2d3fd11d437f699b5cdb5ce43
(cherry picked from commit 666e49e2990cfb8a8855dd80c81c85688d5a0f02)
2025-08-26 19:53:56 +08:00
qing.zhang
c759548417 ENH: get most used extruder id
Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I9c498cefb07b3bdf89a17bfd75a3075c2294c934
(cherry picked from commit e0508a9e5136cec6ba69cc8a4d186079802f841a)
2025-08-26 14:25:06 +08:00
zhimin.zeng
99968e2be0 FIX: the wipe tower is not correct for tpu
jira: none
Change-Id: I79ed204638602013d73525e23a2b74af2c0efff2
(cherry picked from commit 78eea0a36f86f014d004643d23edee1beb5d6d7f)
2025-08-24 23:18:30 +08:00
lane.wei
671dfa5f0c ENH: buildvolume: add logic to support extruder_printable_height
jira: no-jira
Change-Id: I962c4aed8c536c0fd8b89ae090cd0463c5d645db
(cherry picked from commit 43773d77010492453473797e77e83e9a4630c25f)
2025-08-24 23:18:30 +08:00
zhimin.zeng
a21bd22392 ENH: add print_outer_first for wipe tower
and modify the min_depth_per_height
jira: none

Change-Id: I4860df661b4dd1f66677112d14e60560bc4a73be
(cherry picked from commit 00810d685d01a91b5373f3315413aaef1fe49cbc)
2025-08-24 23:18:29 +08:00
xun.zhang
40f930945a ENH: seperate reorder from toolorder construct
1.Only do reorder if requseted.In by object mode,we only need
to collect the filaments in the object for filament grouping

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Id88f2449c6d3c5d45b9ff87513308d997fa72da1
(cherry picked from commit 7b5818fe6c538123373243ec8dfedc3c2fa68e6d)
2025-08-24 23:18:29 +08:00
zhimin.zeng
243abf442d ENH: Add extruder_printable_height
to support different printable height of multi_extruder
jira:none

Change-Id: I265c65e15fc8f598c3456556557bb6977b5de820
(cherry picked from commit 933adbaaf0eaf361e39f131dd5536dca91214d43)
2025-08-24 23:18:29 +08:00
xun.zhang
232e62667d FIX: filament group crash in cli mode
1.Always do filament group to get correct filament map

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie4e61c310f6c0cfeacb2a49c4f065f9674b6a35f
(cherry picked from commit 242554557b1ecd72355841826af707580fc583b6)
2025-08-24 23:18:28 +08:00
zhimin.zeng
a37914d4df FIX: fix crash of slice
jira: none
Change-Id: I68b1557d5a361d175abdff99a0542ca105b76f7f
(cherry picked from commit 02c2fb6f6c18cba9fd4d74f70559eb9cb665609e)
2025-08-24 23:18:28 +08:00
Noisyfox
d870308006 Fix compile error 2025-08-24 23:18:28 +08:00
zhimin.zeng
d14ba50bb1 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
xun.zhang
b33bb0c4bc 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
zhimin.zeng
20c31e201e 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
Noisyfox
4f1e1a0c38 Update code structure to match BBS 2025-08-24 23:18:25 +08:00
xun.zhang
2e52c3e441 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
xun.zhang
d31826f326 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
zhimin.zeng
666e283c0f 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
xun.zhang
e47a26b718 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
xun.zhang
bc2a10621a 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
xun.zhang
541b856383 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
xun.zhang
6e018e3655 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
xun.zhang
ae367bacfd 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
zhimin.zeng
d48c631826 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
zhimin.zeng
22ab2bf67c 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
xun.zhang
3334546a4f 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
xun.zhang
74f61c3f71 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
xun.zhang
1f19de71d0 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
zhimin.zeng
8db4ddf040 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
qing.zhang
31767cd80f 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
xun.zhang
1fcea6f2ab 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
zhimin.zeng
e8420e93d3 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
xun.zhang
4827db7d5a 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
zhimin.zeng
fe27af2705 ENH: support tpu for multi_extruder
jira: none
Change-Id: I556804aadac00406e7214b86f7925170a90c55ce
(cherry picked from commit ede9f90a792f3f39e82916543efaf187ce80d66c)
2025-08-24 23:18:13 +08:00
Noisyfox
f735227801 Fix build error 2025-08-24 23:18:13 +08:00
lane.wei
8069133261 ENH: dual_extruder: add logic to process extruder_printable_area
JIRA: STUDIO-7498
Change-Id: I1cf53db93acf41b06cb1b9569a0679487c9f1e41
(cherry picked from commit e5be69dedd1ba6dc289a14b89598c9a6101dacb3)
2025-08-24 23:18:12 +08:00
xun.zhang
df71cd8876 ENH: add some params for multi extruder
1. Nozzle Volume and Nozzle Type support multi extruder now

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie171b5105bd3830db3a992cadd365b785008c47a
(cherry picked from commit 2ebd14667e43dc745556f5e7bcbb7c2ccad4a007)
2025-08-24 23:18:12 +08:00