Commit Graph

377 Commits

Author SHA1 Message Date
xun.zhang
973c2f9cf3 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
05bf5c114b 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
916b94bd01 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
bdf5cc9063 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
257fc86ca9 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
acb04e1d38 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
a6fd63ab29 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
6d91d1a2e9 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
6b093f11b6 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
d55aced0b4 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
038dd56006 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
eac07fd8e3 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
34ebd54680 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
e273cf9cf2 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
5935b75fe5 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
d941f80483 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
68b925f290 FIX: fix crash of slice
jira: none
Change-Id: I68b1557d5a361d175abdff99a0542ca105b76f7f
(cherry picked from commit 02c2fb6f6c18cba9fd4d74f70559eb9cb665609e)
2025-08-24 23:18:28 +08:00
Noisyfox
1b30bf799c Fix compile error 2025-08-24 23:18:28 +08:00
zhimin.zeng
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
xun.zhang
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
zhimin.zeng
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
Noisyfox
679794d3c3 Update code structure to match BBS 2025-08-24 23:18:25 +08:00
xun.zhang
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
xun.zhang
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
zhimin.zeng
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
xun.zhang
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
xun.zhang
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
xun.zhang
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
xun.zhang
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
xun.zhang
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
zhimin.zeng
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
zhimin.zeng
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
xun.zhang
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
xun.zhang
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
xun.zhang
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
zhimin.zeng
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
qing.zhang
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
xun.zhang
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
zhimin.zeng
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
xun.zhang
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
zhimin.zeng
0ff33f8f7e 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
82497c18db Fix build error 2025-08-24 23:18:13 +08:00
lane.wei
f702ad9fd2 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
e433e49e2f 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
zhimin.zeng
6fdb2569c5 FIX: modify the filament_change_gcode
and set 1/4 max_volumetic_speed for TPU
jira: none

Change-Id: I492ce178a88fb702fc051f8a0abec6a4b5706d00
(cherry picked from commit c1dec339dd7b5f9e70d3a9c132654aa589085757)
2025-08-24 23:18:12 +08:00
xun.zhang
4c279b6497 ENH: support custom layer sequence
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I73f030f2009b66aef20e3492f742d85970081e8a
(cherry picked from commit 1525c3c3aca88c729ed1527af9d2afe486a283e1)
2025-08-24 23:18:11 +08:00
Noisyfox
67edef75bb Fix compile 2025-08-24 23:18:11 +08:00
xun.zhang
5d4cb375b0 ENH: add tool order function
1.Use min cost max flow to solve the tool order

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I909845039b67c7fe3ddd42580ad3f1d71d52262d
(cherry picked from commit 0716b8518ef62e0eac7c45de8bafb1458d8f9a8e)
2025-08-24 23:18:10 +08:00
xun.zhang
ec98375192 ENH: optmize code structure of tool order
1.Put reorder functions in ToolOrderUtils

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I49c7b447ba1f41f3747ba3127d842c4e3957b5ff
(cherry picked from commit 0f70c81a7d5686d8e80396f8f865f25b72618907)
2025-08-24 23:18:10 +08:00
zhimin.zeng
955bb4dea8 ENH: wipe tower support nozzle change
jira: none
Change-Id: I398a508cbc8d02644b60e504405392254329ef10
(cherry picked from commit 8b2a94ed5f8b757ccc4919b9182f3d8edaf767fd)
2025-08-24 23:18:10 +08:00