Commit Graph

1490 Commits

Author SHA1 Message Date
zhimin.zeng 5aecc67874 ENH: some fix of previous commit
fix to If495a343efdb1be6f46d11dd20f6ec7934266e87

Change-Id: I9a0afee5c78a23e92c9c76bceff7937bb983918e
2025-03-22 20:53:54 +08:00
zhimin.zeng c75c10e312 ENH: Add gcode check for multi_extruder
jira: none
Change-Id: Iebc43e608c4509eb62b280af2d401fa9e0e089ba
2025-03-22 20:53:54 +08:00
xun.zhang c53a35856d 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
2025-03-22 20:53:54 +08:00
zhimin.zeng ed61d1d31b FIX: fix flow ratio calib bug for single extruder printer
2. modify the filament_flow_ratio to nullable
jira:none

Change-Id: I3f0569ee643cfe9473c6029ca0e04f4b80c8332e
2025-03-22 20:53:54 +08:00
zhimin.zeng 38b3c32b6a ENH: flow_ratio cali support multi_extuder
jira: none
Change-Id: I03399040a772043d3d20116b0588fd04e0725be1
2025-03-22 20:53:54 +08:00
qing.zhang 276c797faf FIX: remove extra filament change
Jira: none

if the fist print filement as same as the filament be set on start gcode
not insert filment change

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I0114f287fff9be276a90772537d1910df18dec61
2025-03-22 20:53:54 +08:00
zhimin.zeng ede9f90a79 ENH: support tpu for multi_extruder
jira: none
Change-Id: I556804aadac00406e7214b86f7925170a90c55ce
2025-03-22 20:53:54 +08:00
lane.wei 22feef013c FIX: model: fix the bbox computing issue when update_instances_print_volume_state
JIRA: STUDIO-7498
Change-Id: I80fac3253d1bd6fcc49a4eb08dd68fe2e458c148
2025-03-22 20:53:54 +08:00
lane.wei 62b1d00d1f ENH: 3dbed: support rendering extruder area with different color
JIRA: STUDIO-7494
Change-Id: I717999e8b7ab1d7d350299b412a3a270c6ba7a9e
2025-03-22 20:53:53 +08:00
lane.wei 2d791aea17 ENH: config: set default 'extruder_printable_area' to empty
JIRA: no-jira
Change-Id: I5d574a12684281faabbd1cf96e68e9b9ad593edc
2025-03-22 20:53:53 +08:00
lane.wei e5be69dedd ENH: dual_extruder: add logic to process extruder_printable_area
JIRA: STUDIO-7498
Change-Id: I1cf53db93acf41b06cb1b9569a0679487c9f1e41
2025-03-22 20:53:19 +08:00
xun.zhang 2ebd14667e 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
2025-03-22 20:53:19 +08:00
xun.zhang 68ed20dd09 ENH: extruder printable area default to be empty
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: If4aad7329cd97141eaec3e438dee165e86536c66
2025-03-22 20:53:19 +08:00
zhimin.zeng 8cf72ab46c FIX: move the lift gcode from change_filament_gcode to GCode.cpp
and delete ;nozzle_change_gcode of change_filament_gcode
jira:none

Change-Id: I79c2896afe15b59ba3932240edcb6330e230470f
2025-03-22 20:53:19 +08:00
zhimin.zeng c1dec339dd FIX: modify the filament_change_gcode
and set 1/4 max_volumetic_speed for TPU
jira: none

Change-Id: I492ce178a88fb702fc051f8a0abec6a4b5706d00
2025-03-22 20:53:19 +08:00
xun.zhang 92fa0ff010 ENH: add ConfigOptionPointsGroups
1.Add extruder printable area

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I753344917a67e3d8ac361c15c3d374b5ef951d21
2025-03-22 20:53:18 +08:00
zhimin.zeng e5d2ea3909 FIX: slice status error when print by object
jira: none
Change-Id: Iaa8453cbf79a38984cdae085418165287fee21b1
2025-03-22 20:53:18 +08:00
zhimin.zeng 11f61abefa ENH: calib support multi_extruder(UI part)
jira: none
Change-Id: I3009c2f8b601dc078cfed787dc3531fc1d4848d6
2025-03-22 20:53:18 +08:00
xun.zhang c6251b4d64 FIX: compile warings caused by 64bit shift
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ibce8e160a922c266bfb9b6a52fad01466fee8bef
2025-03-22 20:53:17 +08:00
xun.zhang 1525c3c3ac ENH: support custom layer sequence
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I73f030f2009b66aef20e3492f742d85970081e8a
2025-03-22 20:53:17 +08:00
xun.zhang 7d4d5f2c9b ENH: change some params to nullable
jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ifd91da26d089c78e2d5036e145b7f4404535b7a5
2025-03-22 20:52:56 +08:00
xun.zhang ab81baee92 FIX: wrong placeholder data when filament change
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: If6f6db1a2086c17541c7984c2db33d7bbcf21801
2025-03-22 20:52:56 +08:00
zhimin.zeng 706c79f4f4 FIX: G1 F0 in gcode
jira: 7631
Change-Id: I247e47756f1382d77f104a6ba97883e01d9d0187
2025-03-22 20:52:55 +08:00
xun.zhang 18894bd803 FIX: mistake use of extruder id
Should use filament id instead of extruder id

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I669092da6902158ad5f89d4814c78eabdfb2e7c7
2025-03-22 20:52:55 +08:00
zhimin.zeng 9ee85bef34 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
2025-03-22 20:52:55 +08:00
xun.zhang 0716b8518e 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
2025-03-22 20:52:55 +08:00
xun.zhang 0f70c81a7d 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
2025-03-22 20:52:55 +08:00
lane.wei fe8b904e75 ENH: config: add default_nozzle_volume_type in printer
1. also remove original nozzle_volume_type from printer
and move into project config
2. support save nozzle_volume_type into appconfig
and load from it at beginning or printer switch

jira: no-jira

Change-Id: I01fc82d142fc633fc59a238796a71b9f8d180efb
2025-03-22 20:52:24 +08:00
zhimin.zeng 8b2a94ed5f ENH: wipe tower support nozzle change
jira: none
Change-Id: I398a508cbc8d02644b60e504405392254329ef10
2025-03-22 20:52:23 +08:00
xun.zhang b49d4ca153 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
2025-03-22 20:51:44 +08:00
chunmao.guo 5f30ee389e ENH: config apply_only vector at index
Change-Id: I7bf5a44b2d3db2e21207696b6ef7e41a499da078
Jira: STUDIO-7747
2025-03-22 20:41:57 +08:00
xun.zhang 2dbc5c9396 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
2025-03-22 20:40:26 +08:00
xun.zhang 0756b51eb2 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
2025-03-22 20:40:26 +08:00
xun.zhang c49c0c8f72 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
2025-03-22 20:40:25 +08:00
zhimin.zeng 0917202733 FIX: crash when opening makerworld model
jira: none
Change-Id: Ib0b04584748181cce8b23dc44b247f2ade225a26
2025-03-22 20:40:25 +08:00
xun.zhang ad65cdb909 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
2025-03-22 20:40:25 +08:00
lane.wei 3a55a3a1ee FIX: context: fix the .gcode.3mf not shown issue
filament_self_index difference caused

JIRA: no-jira

Change-Id: Ia70fe8a8095b8067fe13bbfc9e5c39d9f3ee05d3
2025-03-22 20:40:25 +08:00
xun.zhang 3167e34e60 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
2025-03-22 20:32:28 +08:00
xun.zhang adf208dbb9 FIX: multi extruder percent param
jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I98d2f1df419bbf815efa5a2f0f48656a71ef15ab
2025-03-22 20:32:28 +08:00
lane.wei f122c4f4ef 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
2025-03-22 20:32:28 +08:00
xun.zhang 7ce2bb70df 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
2025-03-22 20:32:28 +08:00
chunmao.guo 1745657e22 FIX: filament variant index & override nil value
Change-Id: I828fff09df39a60d59af516c969466d9b09e503f
Jira: none
2025-03-22 20:32:28 +08:00
xun.zhang e95179427f FIX: unable to custom first layer filament order
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I0107ebf6a85ea0deba93ff558835138981365670
2025-03-22 20:32:28 +08:00
xun.zhang 16cadec565 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
2025-03-22 20:32:27 +08:00
xun.zhang 887ca8f45f ENH: enable long retraction for multi_extruder
jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I41daa7a5f1eabf0a805a86d72d00544c8f4edb4a
2025-03-22 20:32:27 +08:00
zhimin.zeng da32b878b3 ENH: add extruder_ams_count behavior
1. save to appconfig and project setting
2. use it to group
jira: none

Change-Id: Id4048fc1b47f6904b2e9c0154aaa3a2b03590437
2025-03-22 20:32:27 +08:00
zhimin.zeng 67f67d7688 NEW: Add FilamentMapDialog
support drag drop to modify the filament map
jira: none

Change-Id: I0ed3180a0fa8e95e7c871bb039eb844faccd1344
2025-03-22 20:32:27 +08:00
xun.zhang cffb4a8564 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
2025-03-22 20:32:27 +08:00
xun.zhang cddf8cae27 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
2025-03-22 20:32:26 +08:00
zhimin.zeng 8232a716e6 FIX: fix bug when delete filament
update filament of HeightRange
jira: none

Change-Id: I62cb21a65ecdfc36e8bc7d0915a85ecba578e49f
2025-03-22 20:32:26 +08:00