Commit Graph

1713 Commits

Author SHA1 Message Date
zhimin.zeng e34940024f FIX: timelapse gcode is not effective when print by object
jira: none
Change-Id: I36298c7c0ddea59f4cc9a5a1a19aeb7124bb2565
2025-03-23 20:15:00 +08:00
jiangkai.zhao 17771d0fbf ENH: Add gaps in the outer wall of the wipe_tower
and modify the path of travel to the wipe_tower after flushing

jira:none

Change-Id: Id4b0571fd12372c59cf522c13e256c7cc4ac3565
2025-03-23 20:15:00 +08:00
zhimin.zeng ae62f7b8e4 ENH: add timelapse gcode for multi_extruder
and add most used_extruder for print by object
jira:none

Change-Id: I021069e865992828b098d73c0d704ba7edbd55d8
2025-03-23 20:14:41 +08:00
zhimin.zeng 1ae969d08f FIX: error circle compensation for hole
jira: none
Change-Id: Icd6549e745f29d93e7f0a87984136de16f575182
2025-03-23 20:14:41 +08:00
zhimin.zeng 8a6b9851db ENH: wipe tower add solid infill for support filament
jira: none

Change-Id: I438e06b5e50259d5a9caefbc0d8580187c2b7051
2025-03-23 20:14:41 +08:00
zhou.xu f7995d5a9f ENH:add "SyncAmsInfoDialog"
JIRA: none

Change-Id: I8e26178f6da816e102a40b429c565696924c58ea
(cherry picked from commit 2a46460d5a65279cbb42c8aef2474172b1e1ae30)
2025-03-23 20:14:29 +08:00
xun.zhang c75285002a 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
2025-03-23 20:14:29 +08:00
xun.zhang f1445ff047 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
2025-03-23 20:14:28 +08:00
xun.zhang 759d78dd2b 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
2025-03-22 22:18:39 +08:00
xun.zhang 0c60cefe5e 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
2025-03-22 22:18:06 +08:00
zhimin.zeng bb2b81dc99 FIX: fix the error travel and wipe path of wipe tower
jira: none
Change-Id: Ib195cfc87a08f367e5d722b4af85cd33b1d1efdc
2025-03-22 22:14:56 +08:00
xun.zhang 78b00bd0e3 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)
2025-03-22 22:14:56 +08:00
xun.zhang 3cd587d09e 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)
2025-03-22 22:14:56 +08:00
xun.zhang daaca03686 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)
2025-03-22 22:14:56 +08:00
xun.zhang cf00527ef0 ENH: support hole compensation for Arachne
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iaaca3a27f44e13049088480a9946117e984d5b5a
2025-03-22 22:14:56 +08:00
xun.zhang ce30dad82c FIX: unexpected stripe in arachne mode
1.Caused by process_arachne.When generating walls in the Arachne mode,
first generate 1 wall, then generate n-1 walls. It is different from
directly generating n walls

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ifda35a5073531b3a273b9ad416417ca96325ca14
2025-03-22 22:14:56 +08:00
qing.zhang 0a43353013 ENH: toggle field of z dir smoothing on spiral vase mode
Jira: none

modify tool tips
add default value of gcode store pos

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Id274c7c45f835142bc989f3b41916e4a64343f4a
2025-03-22 22:14:21 +08:00
zhimin.zeng 1fe49fb2d1 FIX: some gcode path errors of wipe tower
jira: none
Change-Id: Ic669e95ecc32a232676c86e89fa1a6fe092efa36
2025-03-22 22:13:32 +08:00
zhimin.zeng 49b9bc8461 FIX: the nozzle diameter and filament map of slice_info is empty
when start manual cali
jira: none
Change-Id: I34d580e2527b587e395da9914f6cd1b4a54646e6
2025-03-22 22:13:32 +08:00
zhimin.zeng 7d44a8bdca ENH: support circle speed compensation
Jira: none

Change-Id: I05f31ff26463cdf6fd900f8f1ca6cf0e0b283925
2025-03-22 22:13:31 +08:00
zhimin.zeng 620b6053d8 FIX: crash in new wiper tower
jira: none
Change-Id: I3d9b59b15ab93da201e07670155af28b7596081c
2025-03-22 22:12:07 +08:00
xun.zhang 95e49986f3 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
2025-03-22 22:10:53 +08:00
xun.zhang f1702a5c36 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
2025-03-22 22:10:53 +08:00
xun.zhang 414a2105c9 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
2025-03-22 22:10:53 +08:00
xun.zhang e45f8c6dc2 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
2025-03-22 22:10:52 +08:00
xun.zhang e9027478f8 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)
2025-03-22 22:10:52 +08:00
xun.zhang cfa669c2cb FIX: pre cooling crash with change gcode
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I26a1d7ef1114c2c3aaa2bb95465da3d5b15c3a90
(cherry picked from commit c4beb3887366965ad653661da1a7c361b3426bf8)
2025-03-22 22:10:52 +08:00
zhimin.zeng 64aa4e63fe FIX: the speed of wipe tower wall is incorrect
after nozzle change gcode(for old wipe tower)
jira: none

Change-Id: Ifa4d27d112c180ab9fb9c6ef39f95b28a5f8c55a
2025-03-22 22:10:52 +08:00
qing.zhang c753fbe410 ENH: add smoothing z dir on slicing process bar
Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I0bab84ee31864917142f9bcb407f957f3a2ea3ce
2025-03-22 22:09:17 +08:00
qing.zhang e7b9e81e84 ENH: smoothing z direction speed
Jira: none

get z direction continuous info
smoothing speed based on the max speed of the loop
rewite the pipeline
set perset param to enable z smoothing function

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ib0e6a6a353c92a441a0c99a8d3d7902f7aeae6df
2025-03-22 22:09:16 +08:00
zhimin.zeng 6aacef93af FIX: crash when sync printer status
jira: none
Change-Id: I7198f34b12c720519cc2e092254572fe6ee50778
2025-03-22 22:01:24 +08:00
zhimin.zeng f127f95335 FIX: the brim cannot generated on left/right only printable area
jira: none
Change-Id: If1a46773cdbd66ea3ab8484dc5d58ce5bbd3ded2
2025-03-22 21:57:56 +08:00
zhimin.zeng c6e117fef0 FIX: the wipe tower is not show when enable smooth timelapse
jira:none

Change-Id: Iab7994e1ba15d09effe9ad57aebbe9520459f7cd
2025-03-22 21:57:56 +08:00
zhimin.zeng c819ec27a5 FIX: Accuracy judgment problem of printable area
jira: none
Change-Id: I13cb2e34ec049947f7acce35110ed8e2e5fa6033
2025-03-22 21:57:56 +08:00
zhimin.zeng e1e0de6efb ENH: wipe tower support filaments that do not adhere to each other
jira:none

Change-Id: Ia52340f4e8bdb34791cb2019e9763bddfbc8dc5f
2025-03-22 21:57:56 +08:00
chunmao.guo c990314567 ENH: printer nozzle diameter select
Change-Id: Ibf8b74e1f93a7c387db3f0fb5e6e733165322322
Jira: STUDIO-9140
2025-03-22 21:57:55 +08:00
jiaxi.chen 0f98abde37 FIX: misreport warning message caused by float region when slicing relief
Unnecessary warning messages are called when slicing reliefs, because some small overhangs with only one gap layer are set as SHARPTAIL.

jira: none
Change-Id: I9abcebbcfa41d75e32f86efa64ac3bb8848247d7
2025-03-22 21:57:15 +08:00
zhimin.zeng 78de72137e FIX: the error offset of nozzle change gcode
jira: STUDIO-9133
Change-Id: Ibc56d6d735a24cf2e18b7c87f91c83bdff30228b
2025-03-22 21:54:20 +08:00
zhou.xu 7cc21b5e97 NEW:add "obj preview thumnailData" function
jira: none

Change-Id: I688c2f05bf85fca376418115acddb5066ef980eb
(cherry picked from commit 16f2b2bcb5fd157f25aa7012dabd99a8d31aec07)
2025-03-22 21:54:20 +08:00
zhimin.zeng 04d7c3485a FIX: the speed override not recover
jira: none
Change-Id: I322206768435942dccd4ad233ad09aeaad080a1a
2025-03-22 21:54:20 +08:00
zhimin.zeng 9205ddd296 FIX: fix the get_abs_value() slice error
jira: none
Change-Id: I347db986514c3780e1c0176f37724ca50f0ed278
2025-03-22 21:50:24 +08:00
lane.wei 6ce38e715a FIX: config: fix another potential crash when load gcode.3mf
jira: STUDIO-9131
Change-Id: I1bcac6dfa0454e4d6852b7c65bed8a82ac2af4b5
(cherry picked from commit a8f31fcd621deeab7dcc1091d4ae970021b52355)
2025-03-22 21:48:41 +08:00
lane.wei e16da5da85 FIX: config: fix some potential crash when load gcode.3mf
jira: STUDIO-9131
reason: sometimes the popup window causes Print::Apply using invalid configs
Change-Id: I1764050f7177a65625f4668b2e1f86c80a4d4e5a
(cherry picked from commit 5a32ce3599883b9976e32ef2c864967efd52fbc2)
2025-03-22 21:48:41 +08:00
zhimin.zeng 7cc564fcc9 FIX: fix build error
jira: none
Change-Id: Ie732916565536fc86b8dbf19b24ea99541f54772
2025-03-22 21:35:57 +08:00
zhimin.zeng feb9b02067 FIX: array out of bounds
when slice one filament with multi_extruder printer
jira: none

Change-Id: Ic8deeb7df9c428e97bf904532362180fc1fd6738
2025-03-22 21:35:57 +08:00
chunmao.guo 8bf65c0963 FIX: object params variant crash
Change-Id: Ia67b98c29a0cc97f8479911ffdefb942cb6c751f
Jira: none
2025-03-22 21:35:57 +08:00
Stone Li 993228d3e9 NEW: add more info for multi-nozzles printers
JIRA: STUDIO-9111

Change-Id: I5ed619d57b6857f5d4a1e38662d2fe03640222a3
Signed-off-by: Stone Li <stone.li@bambulab.com>
2025-03-22 21:35:57 +08:00
xun.zhang 4b083d8d82 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
2025-03-22 21:35:56 +08:00
xun.zhang c4ef6e9e09 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
2025-03-22 21:35:40 +08:00
zhimin.zeng 0d55524fca FIX: fix the error retract of nozzle change
jira: none
Change-Id: I4773307263cbbca0955dd44bbf046e45d91f1b5f
2025-03-22 21:35:24 +08:00
xun.zhang 120c7cd48c ENH: modify max chamber temperature
Set max chamber temperature to 80

jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iedf91d68759056be1ff5743dc272d933ff55aedc
2025-03-22 21:35:24 +08:00
xun.zhang 6cf0e2451e FIX: support pre heating without wipetower
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ibcd3aacb9eede8bc054669f8fff98ea25f8e5d09
2025-03-22 21:35:24 +08:00
xun.zhang f625202c2b FIX: remove file exception
1.Use boost::nowide::remove instead of std::remove

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ic674ea0791342d77418d1a0de3289d6027f967b1
2025-03-22 21:35:24 +08:00
qing.zhang 419ce01698 ENH: match first filaments with physical extruder
Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I3907476c4644e2b0c2c097edf2bbf93e3a92cf90
2025-03-22 21:35:24 +08:00
qing.zhang 361d748992 FIX: set initial one to initial no support extruder
Jira: none

while there is no non support filament
set first print filament to initial_no_support_extruder

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: If2fee560772c9a7cfa1855efc85116fb7df04760
2025-03-22 21:35:24 +08:00
qing.zhang 666e49e299 ENH: get first filaments & non support filament
Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I9370e48b634f21a2d3fd11d437f699b5cdb5ce43
2025-03-22 21:32:41 +08:00
qing.zhang e0508a9e51 ENH: get most used extruder id
Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I9c498cefb07b3bdf89a17bfd75a3075c2294c934
2025-03-22 21:22:25 +08:00
xun.zhang b104e138dd ENH: pre cooling and heating
1.Rely on nozzle change tag instead of T command to detect
extruder free range
2.Support enhance cooling for TPU filaments
3.Fix a negative temperature issue
4.M104 commands add params to specify that command is generated
by slicer

jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I2d157e5a84da75e656d3281cf38eea8697bd897a
2025-03-22 21:12:54 +08:00
zhimin.zeng 17edbd8cd5 FIX: the nums of nozzle_volume_type is incorrect
when save MW 3mf file as multi-extruder
jira:none

Change-Id: I848e348277fb047c2c3569508d2adbe940e40255
2025-03-22 21:11:23 +08:00
xun.zhang 01bb0c6d66 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
2025-03-22 21:11:22 +08:00
lane.wei cc86a62d40 ENH: config: process object config values after printer switch
jira: no-jira
Change-Id: I01532c42c20aa63b1b9621e175a98cad06bdf577
2025-03-22 21:11:22 +08:00
zhimin.zeng 10d9c12202 FIX: fix the extruder_type error
jira: none
Change-Id: Iff97613b5dd0c76f9883c031ab396cd27a27b20d
2025-03-22 21:11:22 +08:00
zhimin.zeng c17b4b78f3 FIX: handle DirectDrive of old file
jira: none
Change-Id: I5acb1689dc1628709631f02b110c7626d93762c8
2025-03-22 21:11:22 +08:00
zhimin.zeng 78eea0a36f FIX: the wipe tower is not correct for tpu
jira: none
Change-Id: I79ed204638602013d73525e23a2b74af2c0efff2
2025-03-22 21:11:22 +08:00
lane.wei 43773d7701 ENH: buildvolume: add logic to support extruder_printable_height
jira: no-jira
Change-Id: I962c4aed8c536c0fd8b89ae090cd0463c5d645db
2025-03-22 21:11:22 +08:00
zhimin.zeng 00810d685d ENH: add print_outer_first for wipe tower
and modify the min_depth_per_height
jira: none

Change-Id: I4860df661b4dd1f66677112d14e60560bc4a73be
2025-03-22 21:10:13 +08:00
zhimin.zeng bde01dc181 FIX: the gcode.3mf cannot display correctly
because the empty value of unprintable_filament_map
jira: none

Change-Id: I223fde51e31c2206b81512737058c7015cb10816
2025-03-22 21:10:13 +08:00
xun.zhang 7b5818fe6c 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
2025-03-22 21:10:13 +08:00
zhimin.zeng 933adbaaf0 ENH: Add extruder_printable_height
to support different printable height of multi_extruder
jira:none

Change-Id: I265c65e15fc8f598c3456556557bb6977b5de820
2025-03-22 21:09:55 +08:00
xun.zhang 242554557b 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
2025-03-22 21:09:55 +08:00
zhimin.zeng 02c2fb6f6c FIX: fix crash of slice
jira: none
Change-Id: I68b1557d5a361d175abdff99a0542ca105b76f7f
2025-03-22 21:09:55 +08:00
zhimin.zeng ea0691f092 FIX: modify the name of high flow
jira: none
Change-Id: Icd1a0ac91e957fc38a6f072b1bb3af0c97be398e
2025-03-22 21:09:54 +08:00
zhimin.zeng 6bf3969051 FIX: modify for get pa cali result
jira: none
Change-Id: I3c57ccaac3b7e73e0b2eb0e26678635478480298
2025-03-22 21:09:54 +08:00
lane.wei d050aa4d36 FIX: config: fix some loading issue with filament_self_index
1. generate filament_self_index for old files in cli
2. set filament_self_index to default for old files using single extruder
jira: no-jira

Change-Id: I6e3f520723ee7f3a75634121604023ba319ff97a
2025-03-22 21:09:54 +08:00
zhimin.zeng b495bfd4e9 FIX: fix crash when loading 3mf file
jira: none
Change-Id: Ice2a518518994871d23a6f478145edd36f0343a2
2025-03-22 21:09:54 +08:00
zhimin.zeng 695b3c78e4 FIX: Painting displays incorrectly when removing color
jira: STUDIO-8657
Change-Id: I0fdfac500716d83f45c73dc07feab032e793e7a5
2025-03-22 21:09:54 +08:00
zhimin.zeng 4e387d4ace ENH: support auto pa cali for multi_extruder printer
jira: none
Change-Id: I835a0e20de81f9af7c40983e00bdb37ea6c95a68
2025-03-22 21:09:20 +08:00
zhimin.zeng 50b3d0097e 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
2025-03-22 21:09:20 +08:00
tao wang db8ae4ccb3 NEW:support new nozzle and extder data
jira:[new nozzle data]

Change-Id: Ief37b42794ce1469163fcd8227431ec77957508e
2025-03-22 21:09:20 +08:00
xun.zhang 8616784886 ENH: use physical extruder map to get ext id
jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ibfaacfc31863404153a80289bd5cb47d72418060
2025-03-22 21:09:19 +08:00
xun.zhang b45d2f5380 ENH: add map for logic ext to physical ext
jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I0d250de87b3c3d6c9ceb4efd3099c82104e5fc1b
2025-03-22 21:09:19 +08:00
zhimin.zeng 83681128e0 FIX: slice crash with incorrect filament_map of single printer
jira: none
Change-Id: I49bdcf03fc8abb24e41e0545e2d9cd3c55941df4
2025-03-22 21:09:19 +08:00
xun.zhang d3c1c36a68 ENH: preheat extruder before filament change
1. Pre cooling extruder after the extruder used
2. Pre heating before the extruder used
3. Refine the structure of finalize function

jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I98c92763c006fc9564db45a4a5d542b891ea1aa2
2025-03-22 21:09:15 +08:00
zhimin.zeng 28046fbc23 ENH:add layer_filament_list.json record used filaments for each layer
jira: none
Change-Id: Ib293ff9fdd284fef9e6de93260e2ba7cc3d66daa
2025-03-22 20:59:25 +08:00
zhimin.zeng f7a0e66e0d FIX: modify the filament id for painting color
jira: none
Change-Id: I25dcab95f1499783afd892c790f1e18232ea4f72
2025-03-22 20:59:25 +08:00
zhimin.zeng 60cdf3b655 ENH: add tpu check before slicing
jira: none
Change-Id: I7d4f053e67f4a4aa22ef990d597d28cb894c4195
2025-03-22 20:59:25 +08:00
lane.wei f518d6804a ENH: CLI: support multi-extruder slicing
1. add slicing errors for gcode in unprintable area, also for filament mapping
2. use common area for auto arrange
3. support filament_map/filament_map_mode related params
4. add logic to check the filament maps before slicing
5. uptodate support multi-extruder
6. switch new machine/filament support multi-extruder
7. process config params support transfer between mult-extruder and
   single-extruder
8. improve machine-limit logic support multi-extruder
9. flush-volume support multi-extruder
10. add default params to support auto mapping slicing

jira: no-jira
Change-Id: Ice39a365841322ddb586d39c56ff923626822528
2025-03-22 20:59:21 +08:00
xun.zhang 563e4ca8cf FIX: wrong flush statistics in sequence mode
jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iec3557900fce7b3c70e05705f9ea0e987fdff3cd
2025-03-22 20:58:37 +08:00
xun.zhang a289370b19 ENH: save filament sequences in gcode result
jira: NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I79c2eb4002c72568d487df417c914ab0b8a14a67
2025-03-22 20:58:37 +08:00
xun.zhang c6ddd329e3 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
2025-03-22 20:58:36 +08:00
zhimin.zeng acd6016fc8 FIX: add object id for gcode check
and display plater limit error individually
jira: none

Change-Id: Ie6105642667530901be494b344ce853e728ae5fa
2025-03-22 20:58:36 +08:00
zhimin.zeng 2a028aa010 FIX: crash when third flow and PA calibration
jira: 8484
Change-Id: Ib4f1d4e38bd0d4af5a43777e2f077381b3887581
2025-03-22 20:58:36 +08:00
zhimin.zeng 1d721f27ec FIX: modify for interlocking
jira: none
Change-Id: I8d68df871f6fffa7b66f27344f3676f90a19e102
2025-03-22 20:58:36 +08:00
Noisyfox a21779dd30 NEW: Port of Cura's multi-material interlocking (#5775)
* Init port of Cura's MM interlocking

* Refactor a bit

* Fix crash when bottom surface is multi-color

* Fix crash when boundary avoidance is 0

* Add config

---------

Co-authored-by: zhimin.zeng <zhimin.zeng@bambulab.com>
jira: none
Change-Id: I81cacddf46ad5921a7a2a23fff07cc17addceb6f
2025-03-22 20:58:36 +08:00
xun.zhang e3f4496adf ENH: modify filament group strategy
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Iac837beeb7a5c4684aea38c3e3925a67cd916fe8
2025-03-22 20:58:14 +08:00
xun.zhang 21379e1336 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
2025-03-22 20:58:13 +08:00
xun.zhang 13df1ee7ba 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
2025-03-22 20:58:13 +08:00
zhimin.zeng 6b5a0c2d17 FIX: modify the limit of max_volumetric_speed to 200
jira: none
Change-Id: Id84707471d4b34ebda9ff56766e3b058ee6a5021
2025-03-22 20:58:13 +08:00
xun.zhang 48023e4c15 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
2025-03-22 20:58:13 +08:00
xun.zhang 1379b83846 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
2025-03-22 20:58:13 +08:00
zhimin.zeng b17c5e7e01 FIX: flush_volume_matrix and flush_multiplier is incorrect
jira: none
Change-Id: Ie2d73b90b9ac7f5a6945b2bac859b76d2132f55a
2025-03-22 20:58:13 +08:00
xun.zhang 3cfb49a1b9 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
2025-03-22 20:58:12 +08:00
zhimin.zeng d715353fa6 FIX: fix the crash bug when slicing
jira: none
Change-Id: Ieaec4fda4c653e6595322356bd16226640d2e932
2025-03-22 20:54:17 +08:00
zhimin.zeng 20837717d4 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
2025-03-22 20:54:17 +08:00
xun.zhang d9ea1a4b24 FIX: performance issue caused by copy LayerResult
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I5f1bda598ef096999a0eda2fa68d2a24c97c22ca
2025-03-22 20:54:17 +08:00
xun.zhang b34395358b 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
2025-03-22 20:54:16 +08:00
xun.zhang b4d8566332 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
2025-03-22 20:54:16 +08:00
xun.zhang 2f11ca8a03 ENH: remove a useless assert
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ief29b7cc8adc16218f1b3608a35448bd95e54c80
2025-03-22 20:54:16 +08:00
xun.zhang 0b95bdd9d9 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
2025-03-22 20:54:16 +08:00
xun.zhang 8472e3011c 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
2025-03-22 20:54:16 +08:00
xun.zhang 8c88fabe8f 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
2025-03-22 20:54:16 +08:00
zhimin.zeng 51de6253ce NEW: Add "change filament to"
jira: none
Change-Id: Ic5550ed257e03033681de91ebca521390f902f66
2025-03-22 20:54:16 +08:00
lane.wei 913bace1eb FIX: config: fix the 3mf export invalid issue when using single filament
JIRA: no-jira
Change-Id: I1faf1fd7ac2b3dfd99594856e3c84da12d805627
2025-03-22 20:53:56 +08:00
lane.wei 2636e44dc0 ENH: config: add exception when load old invalid 3mf
some param has been changed for the multi-extruder
currently we popup an exception
JIRA: no-jira

Change-Id: I1e892203d34c569a580694c1c28a1c7d695c1c64
2025-03-22 20:53:56 +08:00
xun.zhang 994e4f4840 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
2025-03-22 20:53:56 +08:00
zhimin.zeng fec7129437 FIX: modify unprintable_filament_ids should regroup
jira: none
Change-Id: Ifb8105f6e301aaed9ca4e62a37b9d3a1616e755b
2025-03-22 20:53:56 +08:00
zhimin.zeng d56bf872cf ENH: some fix of previous commit
fix to I0c853de6b1938c7e2addbaab5a45b35daf5a32fa

Change-Id: I307f99b301709fd00090dc234c054dacfda2e76a
2025-03-22 20:53:56 +08:00
zhimin.zeng 3b988f6b77 FIX: incorrect print sequence of support filament on first layer
jira: none
Change-Id: I893fc773849a5557c138de3f9bd1c3ec1e1978df
2025-03-22 20:53:55 +08:00
zhimin.zeng 85ebb46995 ENH: Add limited filament maps to slice info
jira: none
Change-Id: I7b08943ba5f4e7fa9be18ba3f64caee182888d45
2025-03-22 20:53:55 +08:00
xun.zhang a16ec053b4 FIX: get abs value for small perimeter speed
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I686b22f072ad0f87e50ef2321b92daaa3cb0154f
2025-03-22 20:53:55 +08:00
zhimin.zeng b620a4122e ENH: Pass ams information for slicing
jira: none
Change-Id: I3fe12189b6e8246fd553dcd8659bf7f98e622767
2025-03-22 20:53:55 +08:00
xun.zhang f39eabfd9f ENH: add tpu check when printing by object
jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I366aa8387dfc8d1c94fe836ee4898424d04737c3
2025-03-22 20:53:55 +08:00
zhimin.zeng 885e96d8db FIX: fix build error 2025-03-22 20:53:55 +08:00
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