Commit Graph

9 Commits

Author SHA1 Message Date
xun.zhang
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
xun.zhang
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
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
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
xun.zhang
250b827e19 FIX: compile warings caused by 64bit shift
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ibce8e160a922c266bfb9b6a52fad01466fee8bef
(cherry picked from commit c6251b4d64b043aa6a161fe900eafe8b06a1d27f)
2025-08-24 23:18:11 +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
xun.zhang
5a6b215ef0 ENH: add filament group strategy
1.When capacity is greater than the num of filaments, always choose the
map result that can be accommodated
2.In BestFit strategy,always try to fill up the existing capacity
3.In BestCost strategy, just try the group with fewest flush

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ifd6d64b77774039e57ffff26cf2243a4d3f89054
(cherry picked from commit cddf8cae27f4320f830b463e92703d3a6cf344e7)
2025-08-24 23:18:06 +08:00
xun.zhang
aee14d307a 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
xun.zhang
0ad75a223b 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