Commit Graph

1536 Commits

Author SHA1 Message Date
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