Commit Graph

2064 Commits

Author SHA1 Message Date
zhimin.zeng
3cbaac7669 FIX: slice status error when print by object
jira: none
Change-Id: Iaa8453cbf79a38984cdae085418165287fee21b1
(cherry picked from commit e5d2ea39094369742e5d562709f52d16ca08aa73)
2025-08-24 23:18:11 +08:00
zhimin.zeng
4685bf10c9 ENH: calib support multi_extruder(UI part)
jira: none
Change-Id: I3009c2f8b601dc078cfed787dc3531fc1d4848d6
(cherry picked from commit 11f61abefaca6f0810e76266e50729432a3aa15e)
2025-08-24 23:18:11 +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
zhimin.zeng
1ada437979 FIX: enhance filament_map auto manual behavior
1. auto mode dragdrop is not allowed
2. not display filament_map when there is no result in auto mode

jira:none

Change-Id: I0800e0d832e27fe459a17bb1aa829b5e72d0ee8f
(cherry picked from commit 9ee85bef34aaabe7a4cef251f07e77f9af693a2f)
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
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
lane.wei
d9cac68a45 FIX: fix a typo in GCodeProcessor
Change-Id: I56b9eaedc3cb062d17facf7352eb469524db5b60
(cherry picked from commit 1bb3b64cfc1aabad9ece3e5d5c0f55a9cb3367c5)
(cherry picked from commit ced9e43be6)
2025-08-24 23:18:10 +08:00
chunmao.guo
193ab1da34 ENH: config apply_only vector at index
Change-Id: I7bf5a44b2d3db2e21207696b6ef7e41a499da078
Jira: STUDIO-7747
(cherry picked from commit 5f30ee389e804f3a71021cdec231a0c92d21d83c)
2025-08-24 23:18:09 +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
Noisyfox
afac07c166 Don't bother with extruder variants
Fix compile error
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
lane.wei
7c48eac832 ENH: config: refine some small logic
1. always resize filament count when not matched in full_fff_print
2. remove no-use codes in Preset::normalize

jira: no-jira
Change-Id: Ie15a5977d28f28e0f63ba84f27f98f77d16665c0
(cherry picked from commit f122c4f4ef6f476c4e8190a0872e566d690d6c25)
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
zhimin.zeng
a9bec75ea2 ENH: add extruder_ams_count behavior
1. save to appconfig and project setting
2. use it to group
jira: none

Change-Id: Id4048fc1b47f6904b2e9c0154aaa3a2b03590437
(cherry picked from commit da32b878b3d7ca95ae5c4786102848c1e8a5ab2d)
2025-08-24 23:18:07 +08:00
zhimin.zeng
c34eb170f1 NEW: Add FilamentMapDialog
support drag drop to modify the filament map
jira: none

Change-Id: I0ed3180a0fa8e95e7c871bb039eb844faccd1344
(cherry picked from commit 67f67d76889668fdd80ae5e496b6cbca5f771a43)
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
zhimin.zeng
7aa1980813 FIX: fix bug when delete filament
update filament of HeightRange
jira: none

Change-Id: I62cb21a65ecdfc36e8bc7d0915a85ecba578e49f
(cherry picked from commit 8232a716e64fcfbd12fc7ebdaeeef4bfde261f66)
2025-08-24 23:18:06 +08:00
zhimin.zeng
0135b251cd FIX: save filament_maps to slice_info
and fix bug when switching printer preset between single-nozzle and double-nozzle, prompt the modification of extruder_count
jira:none

Change-Id: I1d5f0b2f002493378d2f482d08cfd5a72b35b99f
(cherry picked from commit ed9816397374116db37c2a76d11e0216df5aca1d)
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
lane.wei
f52dd41b23 ENH: config: remove unused custome_defined logic
also improve project_embedded
1. remove unused is_custom_defined
2. improve project_embedded to support multi-extruder diff

jira: no-jira

Change-Id: I1db28c3cfd59ccc31c6855af30305396c71c4e9a
(cherry picked from commit 0434853bf32b063f7850fd4e0c9c3a6045375225)
2025-08-24 23:18:06 +08:00
zhimin.zeng
18e08ec6a1 FIX: Clean up the code
1. Refactor recommended code for print by object
2. Calibration adaptation sends print command

jira: none

Change-Id: I24fd92d6aca07a7067e09bb200854e5bec72a324
(cherry picked from commit ad03fae1eba75a866d806a4319ef7edde2fb3562)
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
zhimin.zeng
2ff3b46a7e FIX: fix build error
jira: none
Change-Id: I97df69b728fc3871b7c33e1fd3ba068e741d51c7
(cherry picked from commit 326d7d28b47017bdbd98873a6437ef84116291ba)
2025-08-24 23:18:05 +08:00
zhimin.zeng
48f1d74127 ENH: calib support multi_extruder
1. backend support multi_extrude data structure
2. Compatible with third-party calibration
3. fix bug when get extruder in gocde export process

Change-Id: I5dac9abdd9907a521a1ba9b480f9e05640591bc1
(cherry picked from commit 21e6271e59ea8e4924866275566617d14a4b2b6e)
2025-08-24 23:18:05 +08:00
lane.wei
22ce2ebc9a ENH: config: add the extruder variant apply logic in Print::Apply()
we need to keep the original values and update after pre-slice
jira: no-jira

Change-Id: I232d3c43340b4a23bc42121bd05380746e736f20
(cherry picked from commit 7b7ebf1b959ba5c967baff30fb226c808a2e7d44)
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
chunmao.guo
5a00e9c704 FIX: config deep compare & plate config extruder switch
Change-Id: Iae1716e6511e252f131ab4355f9521d7611d7133
(cherry picked from commit 7e7e8723667852b34851fc19095f879b975773ba)
2025-08-24 23:18:05 +08:00
chunmao.guo
fc76348330 FIX: serialize ConfigOptionFloatsOrPercentsNullable
Change-Id: I32cf705e6e040f25012a741e6ee20a311a66a7e3
Jira: STUDIO-8040
(cherry picked from commit ef480670ac8da77135d342e7e4dc74c838b5d713)
(cherry picked from commit 0b92ffee351203d3bdef75bb580b13fa009ccb96)
2025-08-24 23:18:03 +08:00
chunmao.guo
80aa3f1163 ENH: edit object config variant value
Change-Id: I97490f555a8a2848ccea78f74d79f71b0e93b36d
(cherry picked from commit 582b2d470f138d5263e689c647347d8bf119b645)
2025-08-24 23:18:03 +08:00
zhimin.zeng
e2c3926c76 ENH: support recommended filament map when print by object
1. support recommended filament map when print by object
2. placeholder_parser support function filament_change
3. extruder_id of filament_map is start from 1

Change-Id: Ide8019cd4a165a25972f22706ff685c3005aa031
(cherry picked from commit b42d94e1d05236b8b7b2e65b4a24810eecf040cb)
2025-08-24 23:18:03 +08:00
zhimin.zeng
8db3e3cd54 FIX: backend get the extruder id based on filament_map
Change-Id: Ib7679c0fc67336e462467dab9f5b4d4684d6eb19
(cherry picked from commit dcd9fd501354da33baea2adc0f645fabe8880cf1)
2025-08-24 23:18:02 +08:00
zhimin.zeng
fab6b21e4d FIX: parameters modify of printer preset
Ensure correct behavior when modifying parameters of printer preset

Change-Id: Ic627a8e202bf4224b742336cc43ac611ddc5c997
(cherry picked from commit 366a14d8f715cbeca3d0f70a4727d91b6f0ca82e)
2025-08-24 23:18:02 +08:00
zhimin.zeng
a94b0e3dba ENH: Add recommend filament maps method
Change-Id: I3945a8b9f0a57e10a1d230003f21c9877cc5f342
(cherry picked from commit 8c8c9a967b032a270a60e6cf075fe41a6f329e1c)
2025-08-24 23:18:02 +08:00
lane.wei
018f0c0353 ENH: add stride in get_index_for_extruder
JIRA: no-jira
Change-Id: If529296bf6d35edc35aee3ff497184dce70332d1
(cherry picked from commit e770043c4d7a3e96acfb27f306853cc339da7529)
2025-08-24 23:18:02 +08:00