Commit Graph
100 Commits
Author SHA1 Message Date
xun.zhang d674f49855 ENH: modify nozzle diameter sequence
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ia17f86e3f035ad9389d0f44f8378c822f8cc947e
(cherry picked from commit d3927a59e99ab5fc484934703d4eb08b0e728179)
2025-09-09 17:16:54 +08:00
xun.zhang 9732c0b845 ENH: some tip logic optimize
1. Only check printablily if have explicit filament map
2. Refine some sentences

jira:STUDIO-9753,STUDIO-9727

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I2fc3aa2276dc6f514c50ac2fcaf9509f41e778f3
(cherry picked from commit 73f92d27dab667c8893ab96e47f3832ce9d2de60)
2025-09-09 17:16:41 +08:00
xun.zhang 1f3ddf2bc9 FIX: missing conveinent mode in dark mode
jira:STUDIO-9565

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I1ad34bafc0a86c40644e664abf160fe225a67ab9
(cherry picked from commit 6aee70b9674875a392cb9264657f8e1ee16c3811)
2025-09-09 15:41:47 +08:00
xun.zhang 24c80fed57 ENH: enhance unprintable filament check in height
1. Detect unprintable filament for each extruder by printable height

jira:STUDIO-9630

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I7731196d96745af935d0a34961f035b458b27ec5
(cherry picked from commit 459671dcb687eb0640ac64fdb5f0dab1802a7eb4)
2025-09-09 15:41:39 +08:00
xun.zhang ed6f2eb39c ENH: update some params for filamnet in H2D
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I1171dbf41f840bb0a59045c70a811a5da2bbd694
(cherry picked from commit 6b13655f9dbd87d1f1bf0f0d62346b2043e3890d)
2025-09-09 15:41:33 +08:00
xun.zhang 19b466ccf0 ENH: add global map mode tag for pop up
1. Add tag to mark the global map mode
2. Fix some wrong usage of bmp in code
3. Fix display error in dark mode

jira:STUDIO-9729

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Idb36a5022c403e02c26d7fe23a95dd6877deca90
(cherry picked from commit 5a2abf7e211327cde57717b5ab7b79b63c967bbd)
2025-09-09 15:40:26 +08:00
xun.zhang a7578be62f ENH: update gcode for H2D
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I8b33061aba2ba142bc435c56148e3a5ac500e413
(cherry picked from commit 17706151445e94005ccad956c473daee0b576aa7)
2025-09-09 14:41:24 +08:00
xun.zhang 56d40ca24f ENH: refine time estimation in filament change
1.Add sync command. Now gcode and dirrectly add time sync command
2.Add support for ceil and floor in placeholder
3.Update change filament gcode for H2D

jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I6dd97cbd96bae1c2751c08357ff64947876d7471
(cherry picked from commit c99fcd454c2499b0c0e3ed9402a2182c00a9bffa)
2025-09-09 14:41:17 +08:00
xun.zhang 74cf5b424a ENH: enable pop up when slice btn is disabled
1. Enable hover and pop up even if slice btn is disabled. Always
trigger background process schedule

jira: NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie9c63c952eeb0f8a7611dd9929e656360609d11a
(cherry picked from commit 9340b4f89e3bd33f4f6d826118e90babe0ca694c)
2025-09-09 11:27:29 +08:00
xun.zhang 897a78ce9a ENH: refine the logic of filament map dialog
1. Always change the map and mode in plate if plate mode is not default
2. Always add pop up before slice
3. Fix the mapping issue in gcode viewer

jira: studio-9523,studio-9519,studio-9513,studio-9479

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I0d7d5daf081951ea2d49e06565762ac24064e77c
(cherry picked from commit afaa48520e16b6808f05e511ac1cfe91acadc84b)
2025-09-09 11:03:56 +08:00
xun.zhang 1d32826aa5 ENH: modify process profile for H2D in high flow
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I966843e45fb3243b35e84137c78b786ce3d2e7cd
(cherry picked from commit 5980be0fd7e5a04fda0bd0b5b501455942245381)
2025-09-07 22:48:01 +08:00
xun.zhang 4a0d0a412e ENH: update fan related settings for H2D
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I9ea172f676b22d5a83c2dd57caa1549192b1c3a5
(cherry picked from commit 4f5b6275f552c970e16cb570ddf61903b5738bfe)
2025-09-07 22:46:20 +08:00
xun.zhang 4970db4ee2 ENH: modify fan speed for bambu tpu for AMS
Set fan speed to 40

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I861f78e2cca4b31daf41e2cba0a4b9b11a658a5d
(cherry picked from commit 4a087ef78070af66d7551aacdca74c9a2d4463f2)
2025-09-07 22:45:59 +08:00
xun.zhang 4cec1cd79c ENH: update plate temp for asa filaments
jira:none

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Icd88b23c9e1b5027f5aff4aeba594e953aed9ac4
(cherry picked from commit 5034222197181808a622d7eaa0117b4595676d01)
2025-09-07 22:45:32 +08:00
xun.zhang 385e5b24f9 FIX: increate filament idx in print apply
1.Used filament idx is 1 based

jira:STUDIO-9523,STUDIO-9522,STUDIO-9513

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ic669a079660b49cb71fb8c4750cae5f7874d825d
(cherry picked from commit 59907ef532c60ffe6a46dd5e1a5ff9d39fdc1591)
2025-09-07 22:16:58 +08:00
xun.zhang 5b03339b70 FIX: some filament group related bugs
1. Ignore machine filaments without enougn info

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I8973645555ae1d0986f90838797652258c4b57ac
(cherry picked from commit c75285002aa216ac903d5bf11cc2abc82dff1f63)
2025-09-07 18:25:45 +08:00
xun.zhang f127846914 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 f636c494cd 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
xun.zhang 3488ac6292 FIX: crash of filament group in cli mode
1. Add protection for building machine filaments.Sometimes we don't
know the info about maahcine filament

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I3198d3a1a8825aa50aa49734f60a32620fc4f890
(cherry picked from commit 0c60cefe5e188ba966f4c254f833ae81bc5da476)
2025-09-07 00:47:24 +08:00
xun.zhang 347cd4aadd ENH: refine some ui logics with filament map
1. Optimize performance with pop up
2. Optimize display in dark mode

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ic0f72a42e791fb58b84e7a88d7a34ced3a9e8c38
(cherry picked from commit 481ebc4a4b9353d8c9ef9d6bf64cb0006364e839)
2025-09-07 00:46:58 +08:00
xun.zhang c4e29cca48 FIX: crash when delete filaments
1. Manually add filament map if 3mf don't have the param

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I9fcd8702d431b398fbf8356ee759ddc8e0775a68
(cherry picked from commit f3e89631f3b5fa2c66dff31c52e8c39509f0d0d2)
2025-09-07 00:17:35 +08:00
xun.zhang 4ecffb196d FIX: crash when delete filaments
1.fix crash when deleting filaments after sync ams or inital start up

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I00c96fcebf7e0fbc127414eae44f184e3caf4dd9
(cherry picked from commit 6fb0ef6e68ed673d04c1c2311835e9988b1c70d3)
(cherry picked from commit 78b00bd0e3243bc4a4d1b72547b02ee85bf7a19a)
2025-09-07 00:13:26 +08:00
xun.zhang c0cda458e5 FIX: wrong filament map in plate params
1.Always clear filament map when global map mode change if
plate filament map mode is default

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I38055b7c77668fdb211f6b459be1044d8d3c8f8c
(cherry picked from commit b492ab13a28b25599da9668d84447be260cbbc34)
(cherry picked from commit 48c45e06a571decf9cfe460cd680bfad75ace3fe)
2025-09-07 00:13:22 +08:00
xun.zhang 439761f71e ENH: refine match mode group result
1.When there are identical materials, try to make the quantity of
materials for each nozzle as similar as possible after grouping.
2.Fix an encoding error

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iad77d7a995b9c25d004026f409c7e2ecbb8269db
(cherry picked from commit 13d7cd06252678b6b084d17438e99ff808a4191d)
(cherry picked from commit 3cd587d09e066d6c6a27d466b7f663dfd5d674f3)
2025-09-07 00:13:17 +08:00
xun.zhang da0e624bd0 FIX: invalid unprintable limits in enum algorithm
1.Should use idx in used filaments in filament group algorithm

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I5acc849827d84db090e61a45e80a3df2866b2724
(cherry picked from commit 84c55c10edfda91df16843f317ebc7912205b202)
(cherry picked from commit daaca0368626e68ba5bdb0ce6a90111292454119)
2025-09-07 00:13:12 +08:00
xun.zhang 20603526b8 ENH: optimize custom gcode for H2D
1.Add AMS empty print detection switch
2.Enable heated bed tilt compensation
3.Increase material length for easier bundling
4.Add Z-axis vibration compensation

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I9e51d3812eab51447c47f947447b5e1f281ab9a7
(cherry picked from commit ce7a244c3dd73f3c7e2d809ea357a4ebef14653e)
2025-09-06 23:54:12 +08:00
xun.zhang a91937a7f8 ENH: modify some sentences for translate
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I6ba3de47566c73ee8d6f8f5f24c854b9599dc073
(cherry picked from commit f858d6c7a8509d3b798bca40cb07eb63ab6efcc0)
2025-09-06 23:53:37 +08:00
xun.zhang b2e587ce47 FIX: fail to translate in filamnet group pop up
1. Initilize the sentences in construct function
2. Fix some ui bugs

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I991df343932bb60d5ba86f41f641661f2159da47
(cherry picked from commit 05383187e02cc0dec6a541859d44237a63d01820)
2025-09-06 23:53:29 +08:00
xun.zhang a378afde0b FIX: unable to select filament map mode in macos
1. add wxPU_CONTAINS_CONTROLS when construct
2. fix some ui bugs

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I413dbaa35f3f79c97e2db3f8b2cdb5ab55739484
(cherry picked from commit cd23329267a1d2c9d28098d73bc007ce4fd58eb2)
2025-09-06 23:53:01 +08:00
xun.zhang f9869d4b5b 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 52d18ab03a FIX: wrong filament map when switch printer preset
1. Clear filament map info in plate when switch to single extruder
profile
2. Use real filament map when check tpu validality

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I45a3e8c91dd52e7300a563eda3ffb167c19b7074
(cherry picked from commit d27304e5ef2f43424046b1a1fabc8d999508be4e)
2025-09-06 23:52:49 +08:00
xun.zhang daad39949f ENH:add check machine sync status logic
1. Check machine sync logic before pop up filament map
2. Switch to auto for flush mode if is not synced

jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I05ef0e610418767f763c5579f5fc85a4e9b79c47
(cherry picked from commit 5d7f8b126789ca4f8f20d5cfbcc70ac24efd4d6c)
2025-09-06 23:52:43 +08:00
xun.zhang 057a1a4f5d ENH: refine ui logic with filament group
1. Add filament group pop up when slice
2. Add more filament modes in filament dialog
3. Add capsule button

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I8bc3a2e08696e406b89e550a0335a1a36728ee65
(cherry picked from commit f1702a5c3604f685a3b35ea0e83d29bdbbd90f70)
2025-09-06 23:52:20 +08:00
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
xun.zhang 66814d687e FIX: get wrong value in retract params
1.Should get value by filament id instead of extruder id
2.Fix many other issues caused by incorrect usage

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I3278d7de0f8976a97c9e5ccef80bba4a58553f5a
(cherry picked from commit 30c51dd1171fc16ba778308745fab2eb246aedd0)
(cherry picked from commit e9027478f8948352d99d33519994b044ca18a65a)
2025-09-06 23:44:59 +08:00
xun.zhang 07148d2dfd ENH: set filament retract params even if nil
1.Always set filament retract params to filament_num size.In
gcode export module, we can always use filament idx to get
retract params

2. add logic in update_filament_maps_to_config to update the
   retraction related params which can be overiden by filament

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ia45dd1401aa3565d062d5da1c9f4a2ba8966f693
(cherry picked from commit 4b083d8d8220b8f65a1b804688cb2d6e238eb4e6)
2025-08-28 11:09:05 +08:00
xun.zhang 312371f84c FIX: use wrong retraction params in tool change
1. Set shared retract length size to 2. Filaments in one extruder
shares the param
2. Move toolchange function before unretract function in append_tcr
to get the correct logic

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I215a542ce36107071fad39f1f9e30234fb19a3a0
(cherry picked from commit c4ef6e9e0950c58a8c5f612662145c6a256884ad)
2025-08-26 20:59:25 +08:00
xun.zhang b215169f25 FIX: wrong default value for ext printable height
The length of default value for extruder printable height
should be same with extruder printable area

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I01bf5e2a9ddb2faadbbe0a01f4ff2c5582b8ac45
(cherry picked from commit 01bb0c6d661f1d72448782523fb612b2aabfec00)
2025-08-26 10:11:47 +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
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
xun.zhang f8375d2199 ENH: wrong filament id in MultiExtPrintableError
jira:STUDIO-8645

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I20d84fab66486ef6d90e86f0f2d8c5db98175b5e
(cherry picked from commit f618caa07711d86e69832161d0e26b08dd3bfa3f)
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
xun.zhang 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
xun.zhang 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
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 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
xun.zhang 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
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
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 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
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
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 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 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
xun.zhang 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
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
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
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 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
xun.zhang 297292ccf3 ENH: extruder printable area default to be empty
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: If4aad7329cd97141eaec3e438dee165e86536c66
(cherry picked from commit 68ed20dd096d6fcd74f7dfa606548a6f640ec688)
2025-08-24 23:18:12 +08:00
xun.zhang 4f42d6bd8e ENH: add ConfigOptionPointsGroups
1.Add extruder printable area

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I753344917a67e3d8ac361c15c3d374b5ef951d21
(cherry picked from commit 92fa0ff010f9ee8dee24f4c00b5217f92ecb04f6)
2025-08-24 23:18:12 +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 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
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
xun.zhang 6598b626e7 ENH: save multi extruder state in gcode processor
1.Save multi extruder state in gcode processor
2.Add machine exturder change time
3.Fix some naming issues

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I9785331290515eeb908ff0ff01aad5aac44212d9
(cherry picked from commit b49d4ca1539cd9f473e0ee0c79a4287c0d5fe03b)
2025-08-24 23:18:10 +08:00
xun.zhang e7308673ec FIX: wrong prepare time with chamber temp
1.Caused by missing break of switch case

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie667eda4069f3e2487ed87081580e2540ae4da7b
(cherry picked from commit 9267bd65aa7a39c3a775890b59611fba7b3883ac)
2025-08-24 23:18:10 +08:00
xun.zhang 504b34b6d4 FIX: wrong placeholder data when filament change
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: If6f6db1a2086c17541c7984c2db33d7bbcf21801
(cherry picked from commit ab81baee928c48d2b5dfcaf478f87b826f629425)
2025-08-24 23:18:08 +08:00
xun.zhang 8331f8eba8 ENH: add manual grouping mode stats
1.In auto mode,display the statistics of auto mode and single
extruder
2.In manual mode,display the statistics of manual mode and auto mode
3.Support by object mode

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: If54c4db79f33d5278c0f18d01ab0518e8660f9c7
(cherry picked from commit 2dbc5c939666e294c805ee4bf33ec09976688be3)
2025-08-24 23:18:08 +08:00
xun.zhang 0fec5317d6 FIX: wrong filament map in layer filament
1.Should calculate cost if filament used in that layer is 1,because
we should consider the last filament used in previous layer

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I5838af77f1d73bfa07c65bd6ee12ae352dc3b571
(cherry picked from commit 0756b51eb2b457a1ddfddc0ab8e445c779737597)
2025-08-24 23:18:08 +08:00
xun.zhang ef7d233d93 ENH: modify forcast limit number
1.Use forcast when filament num in current layer and next layer both
smaller than limit number

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ia21bb22ce353f0c74eeaf748c6d9f9c4b315ec18
(cherry picked from commit c49c0c8f723e82e4e87cd931b7d5070142fb0781)
2025-08-24 23:18:08 +08:00
xun.zhang 067d1484ab ENH: add filament saved by multi extruder
1.Add filament flush,filament change count reduced by multi
extruder

NTOE: cases when printing by object haven't been handled

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iaaea5f8ffae2345df5a6f1dc605342d835974d48
(cherry picked from commit ad65cdb909b29210117f690a119ef76b70373da4)
2025-08-24 23:18:08 +08:00
xun.zhang 8b866d0ce6 ENH: add greedy algorithm for filament reorder
1.When n becomes large,the original algorithm to get best filament
sequence will cost too much time and memory.Use a greedy algorithm
instead.Always select the next filament with fewest flush

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iabc924e1bdb0a07af0a6ef0bbdd62e54ce54f052
(cherry picked from commit 3167e34e609d0eecb481fd550e6550024b72bb67)
2025-08-24 23:18:08 +08:00
xun.zhang f021235ceb FIX: mistake in profiles
1.Spelling mistake in long retraction
2.Some params length change to 4

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I8952df7a1bbf060471e24a19eaeddde017d17d82
(cherry picked from commit 7ce2bb70df1b4f45f27e8e91293e1dbf4456956c)
2025-08-24 23:18:08 +08:00
xun.zhang 74bf8ad58e FIX: unable to custom first layer filament order
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I0107ebf6a85ea0deba93ff558835138981365670
(cherry picked from commit e95179427fe31cf3365afdccbaadce84c31407f8)
2025-08-24 23:18:07 +08:00
xun.zhang cc4c03d76f ENH: add grab length
1.During the filament change, the extruder will extrude an extra length
of grap_length for the corresponding detection, so the purge volume can
reduce this length.

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I14f55a3200c1dd48b1603e50280d0c29e1319ebe
(cherry picked from commit 16cadec565f987e6baae97428d5392c1f8e7ad39)
2025-08-24 23:18:07 +08:00
xun.zhang 78e7821041 ENH: enable long retraction for multi_extruder
jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I41daa7a5f1eabf0a805a86d72d00544c8f4edb4a
(cherry picked from commit 887ca8f45f9b66ea24ca82dc7b84f411f6fe7b59)
2025-08-24 23:18:07 +08:00
xun.zhang d415073b14 ENH: optimize filament group algorithm
1.When filament <10, do the reorder with next layer.This can reduce
10% flush in some cases
2.Support custom filament seq
3.Use caches to speed the algorithm

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie1af9841f7165802d350eae962efe8febafbb357
(cherry picked from commit cffb4a8564844b1892eb42cfe8e883a52e70fb6a)
2025-08-24 23:18:07 +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 df1e125e1d FIX: compatible with one extruder reorder
jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I7e350ba8728ac4b3dd34093ff4e9647d0a2ba671
(cherry picked from commit cc81e57ac947375a525281e7cbf52437c740a746)
2025-08-24 23:18:06 +08:00
xun.zhang 400ff4d007 FIX: logic error in filament change
jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I7e2b1333d4b82e4495375fcf4daec3aea08be445
(cherry picked from commit 7128e2925a7b75c6e1bee76b739cef8c4fd46c89)
2025-08-24 23:18:06 +08:00
xun.zhang c424c63ec9 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
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
xun.zhang c376677537 ENH: enable params with silent mode
jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Id46fa5de3a58e0fd3c3b0aa28524a03ca9a38f1a
(cherry picked from commit 3c32b2c5a6587a3fd65d235475faa2e3c4c4726a)
2025-08-24 23:18:05 +08:00
xun.zhang d40be52f18 FIX: wrong curr bed type in print page
1.Get bed type from project config

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I1f1b9185dd4592b5fd3b03f07e8cde7b7d26510e
(cherry picked from commit 1c90355199384903f166730c5bb43c6a6baaa1cf)
2025-05-05 19:18:39 +08:00
xun.zhang c29a38d91b ENH: do not pop up open door tip
1. Do not pop up open door tip. Write the info to slicer info

jira: [NEW]
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I1f611ee18faa5820a26443a13614f68f3e6ba780
2023-10-13 14:43:42 +08:00
xun.zhang b946308f03 ENH: update A1 mini gcode
1.improve wipe mouth temp 140-150
2.delete the last flush start

jira:[NEW]

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie3db3b89c61b18bdff79fe2dbf61398c428da733
2023-10-13 14:43:42 +08:00
xun.zhang 96abc3209a ENH: use json to store filament & nozzle info
1.Use json to store nozzle hrc
2.Use json to store filament temp type

jira: STUDIO-3488

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I8eb226e26352a41418f4e46d8cda403dc22ecff4
(cherry picked from commit 62a71d5b1947474d3d86be9015551c1007c89702)
2023-10-13 14:43:42 +08:00
xun.zhang c27165a0d7 ENH: update PPA-GF max v speed
1.Modify generic PPA-GF max v speed to 6

jira: [NEW]
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I18cfdcb9037b9d9fda6ec60d12c6057a5f9e9bd0
2023-10-10 14:19:23 +08:00
xun.zhang ce40bb2ecf ENH: add translation
jira:[NEW]

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I241470bbe5e080173419715caabaa624d045ea56
2023-10-10 14:19:23 +08:00
xun.zhang 1c0e3e2e96 ENH: refine open door printing tip
jira:STUDIO-4532

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I887e6b2bec90facbe9722622be4d7e7d0ee35796
2023-10-10 14:19:23 +08:00
xun.zhang 241d10c637 ENH: refine enclosed printing logic
1.Display a pop-up window based on whether is enclosed

jira: STUDIO-4532

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I5e7c85f6590ebe1c65f957c6bcc57a969e804964
2023-10-10 14:19:23 +08:00
xun.zhang a3e94f42a0 ENH: add translations
jira:[NEW]

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I121adb40fb4eb68a62b52b8eda4270ef1b1d38f5
2023-10-10 14:19:23 +08:00