Commit Graph

177 Commits

Author SHA1 Message Date
xin.zhang 1a676645eb FIX: sort the filament names
jira: [STUDIO-9825]
Change-Id: I29a313db9a012124888357008afea1ddba39a3e5
2025-03-23 20:26:20 +08:00
lane.wei 06d483ee46 ENH: using shared area for fillbeds when obj is small
when obj is small, it uses the full build volume to compute the empty cell
we need to use the shared one
jira: STUDIO-9583

Change-Id: I4cc183df38e054a7b94579637a49168c2fb77992
(cherry picked from commit fea423cdad4ee1a24c077cfeed99962e89953d5b)
2025-03-23 20:21:26 +08:00
zhimin.zeng b68a7b3bd6 ENH: add PPS-CF/PPA-CF detection for multi-extruder printer
jira: STUDIO-9660

Change-Id: I1df024e178b8561569b493888d6057d8f96aea3c
2025-03-23 20:19:23 +08:00
Arthur 976b5062c1 ENH: improve tree support
ENH: [tree support] use 2 walls if necessary

Add impact_strength_z for filaments. Use 2 walls more for weaker filaments.

jira: none

Change-Id: I0c7cfcff31f1026d57630283775e7aeb6c311146

ENH: [tree support] ease removal of large area supports

Use xy_expansion to expand overhangs for better removal of large area supports

jira: none
Change-Id: Ief59a811204478e0e0a63ae10a9d63f24512fcfb

ENH: [tree support]shrink polygon support

jira: none
Change-Id: I621aa30191d235329156015ef98d260c5b1d9ca8

FIX: fix organic tree, remove ePolygon support more easily

1. add protection to organic tree when xy_distance is set to 0.
2. add detailed classification of nodes(BigFlat && Thinplate && SharpTail && Cantilever && Normal)
3. modify the corresponding generation logic when drawing ePolygon node circles

Change-Id: I5c52522b9adad832c9542a400ebf4e1e27a61754

FIX: dont set overhang with large areas to 'SharpTail'

Change-Id: Ib118abc54edcb0024be5b0d5d6a51b4bd7b5cb47

FIX: merge support interfaces into a continuous large one

jira: STUDIO-8611
github: #5132
Change-Id: I12ee4a9f88a78304a98f354bfaa92e2a05f19ec2

ENH: dont expand sharp tails

Also add interface below sharp tails when using soluble supports.

Change-Id: Ibf3af1fe466dd7f02f00357c49ad639249efab16

FIX:split holes to help remove

when one overhang area contains holes, split it into 4 pieces with one hole's center. when choosing this center hole, consider if it's collided in lower layers, then choose the bigger hole.
new: add xy_expansion to gap_width to balance the offset later in draw_circles

Change-Id: Ib2452a5f5afdc56e219e69caf8c373d9d9ce8cbf

FIX: sync printer preset when sync extruder info

jira: none
Change-Id: I0b856d38f75816036e428844aabe6fb4c58471f2

FIX: wall count=1 not working

Change-Id: Ib9c174b49f217cc76b42c6ecdb8acdec4f7051b7

ENH: merge circle nodes into polygon overhangs nearby

AND set the number of support_roof_layers below interface to 2, which developing the interface quality.

Change-Id: I3675d37a12321317672a096dc63a9e51e2b1e984

FIX: smooth, floor embedding, delete useless codes

Change-Id: I3a5e2634e35e2ed1c310e89fd22b1d75d9cde682

FIX: remove include "Brim.cpp"

Change-Id: Id99ff4495f6d0f78d8a865d14d997a5cd9aa0791

FIX: fix sharptail detection in organic tree

Change-Id: Ic1b9a0ebf595c814f7d58356270b2a740980c3b4
(cherry picked from commit f9bbc160ae44f3126ae10c4b964fa730d7deb03f)
2025-03-23 20:18:49 +08:00
qing.zhang 3520d9d99e ENH: filter scarf seam switch result on z dir
Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I54c25d665efda5bb95afb85366e901c52515ac34
2025-03-23 20:16:03 +08:00
zhimin.zeng 9b5bbebf31 FIX add prime_tower_skip_points parameter
jira: none
Change-Id: I696d6ca5d9bccf16b48110157cd6ec44839a05e8
2025-03-23 20:15:00 +08:00
zhimin.zeng 7d44a8bdca ENH: support circle speed compensation
Jira: none

Change-Id: I05f31ff26463cdf6fd900f8f1ca6cf0e0b283925
2025-03-22 22:13:31 +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
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 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
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
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 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 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
zhimin.zeng ea0691f092 FIX: modify the name of high flow
jira: none
Change-Id: Icd1a0ac91e957fc38a6f072b1bb3af0c97be398e
2025-03-22 21:09:54 +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 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
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
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
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 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 fec7129437 FIX: modify unprintable_filament_ids should regroup
jira: none
Change-Id: Ifb8105f6e301aaed9ca4e62a37b9d3a1616e755b
2025-03-22 20:53:56 +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
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 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
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
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
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
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
lane.wei 3179fd416e ENH: config: add logic to apply params to object/region config with multi-extruder
JIRA: no-jira
Change-Id: Ieab98cd8d031e5ca82a3aad2d0b89d8ae4a794f1
2025-03-22 20:32:26 +08:00
lane.wei 0434853bf3 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
2025-03-22 20:32:26 +08:00
zhimin.zeng 326d7d28b4 FIX: fix build error
jira: none
Change-Id: I97df69b728fc3871b7c33e1fd3ba068e741d51c7
2025-03-22 20:32:25 +08:00
lane.wei 7b7ebf1b95 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
2025-03-22 20:32:25 +08:00
lane.wei 603f93d97f ENH: config: add nill load/save logic for user config
Change-Id: I8da6c5b345cc088862f2c720aeb742b9617ff3e7
2025-03-22 20:31:45 +08:00
lane.wei 5defd2b7c3 ENH: config: add extrudrer variant check logic
when load config from 3mf

Change-Id: I946ba777853e479418fcd1b49209f75ed41f33f3
2025-03-22 20:31:44 +08:00
zhimin.zeng dcd9fd5013 FIX: backend get the extruder id based on filament_map
Change-Id: Ib7679c0fc67336e462467dab9f5b4d4684d6eb19
2025-03-22 20:31:44 +08:00
zhimin.zeng 366a14d8f7 FIX: parameters modify of printer preset
Ensure correct behavior when modifying parameters of printer preset

Change-Id: Ic627a8e202bf4224b742336cc43ac611ddc5c997
2025-03-22 20:31:43 +08:00
lane.wei e770043c4d ENH: add stride in get_index_for_extruder
JIRA: no-jira
Change-Id: If529296bf6d35edc35aee3ff497184dce70332d1
2025-03-22 20:31:43 +08:00
lane.wei bbc4d701bf ENH: add check logic of filament_map when Print::Apply
Change-Id: Ibab353c4b16183611d63d75bcdf5f370cb578f21
2025-03-22 20:31:43 +08:00
lane.wei e9081ba8d4 ENH: filament: delete filament_extruder_id related logic
jira: no jira
Change-Id: Ie0d8e31a6a3eef0400b3ba6238f817bad4daca24
2025-03-22 20:31:43 +08:00
zhimin.zeng 5b0d525957 ENH: Display and modification of printer presets
Change-Id: I6a38704864fd4994a845686a299bec67f1b9b9b3
2025-03-22 20:31:43 +08:00
lane.wei b0e3ab037e ENH: config: add filament_maps in partplate
Change-Id: I1183830788e703f1d33a8a4b620b58b822283dd4
2025-03-22 20:31:43 +08:00
zhimin.zeng 6fbad9ed33 ENH: flush_volume support multi_extruder and fix bug
Change-Id: Id6b041f71ee6e55e68a6937f24ce791caac8e708
2025-03-22 20:31:42 +08:00
zhimin.zeng 8b2544df41 FIX: Use the same api to get the extruder id
jira: none
Change-Id: I05b3040b176374deee3e95bc52364fe7b33bb257
2025-03-22 20:31:42 +08:00
lane.wei 03058ba29d NEW: config: add logic in config system to support multiple extruder
1. add nozzle_volume_type
2. add extruder_variant_list
3. add printer_extruder_variant,print_extruder_variant, filament_extruder_variant
4. construct backend fullprintconfig

Change-Id: I50659634e2cde363112ff5ded6c199d7548c6f2f
2025-03-22 20:31:42 +08:00
zhimin.zeng 6b09cfee71 FIX: modify parameter type of process preset
jira: none
Change-Id: I5c973a29e5b983e3f480d55aeeb2b14d13e950ee
2025-03-22 20:30:22 +08:00
zhou.xu c74a769c14 NEW:add "extruder_only_area" textures for
double extruder machine
jira:none

Change-Id: Iaf4118fb00641537838dae7cc5fdaaf07ccc9851
(cherry picked from commit a8d6c9fe8976dbcb79c1f89efb7107073cb17856)
2025-03-22 20:21:52 +08:00
qing.zhang 4d4883953d FIX: adjust plate type eume
Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: If5bab050cc4d243d1ac414b91d1b6e10fa95dad2
2024-11-12 15:35:32 +08:00