Commit Graph

75 Commits

Author SHA1 Message Date
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
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 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 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 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 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 fec7129437 FIX: modify unprintable_filament_ids should regroup
jira: none
Change-Id: Ifb8105f6e301aaed9ca4e62a37b9d3a1616e755b
2025-03-22 20:53:56 +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 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 ede9f90a79 ENH: support tpu for multi_extruder
jira: none
Change-Id: I556804aadac00406e7214b86f7925170a90c55ce
2025-03-22 20:53:54 +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 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 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
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
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
xun.zhang f1b0805ed1 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
2025-03-22 20:32:25 +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
lane.wei bbc4d701bf ENH: add check logic of filament_map when Print::Apply
Change-Id: Ibab353c4b16183611d63d75bcdf5f370cb578f21
2025-03-22 20:31:43 +08:00
Mack abb8e6ed11 FIX:No brim ears generated if brim width is set to 0
GITHUB: #5431
Change-Id: Ia5911b1e24f09e385a66c3a0cdb3fe83fb090f57
(cherry picked from commit 1f419489f76209e47babe6b378c436178fcb3264)
2025-03-22 20:18:04 +08:00
xun.zhang db1bbc967a FIX: export 3mf fail in creality machine
1. Add place holder support

github:#5557,#5614,#5471

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I65e1d116b7af64ab15c3338f713fc3329b3e877d
2025-01-09 19:32:26 +08:00
qing.zhang 872978d61b ENH: Revert z smoothing function
Jira: none

Change-Id: I067033c3beb4b29b8da11ff0c9f12b126bcf61dc
2024-10-15 15:50:26 +08:00
qing.zhang b52a9de509 ENH: smooth z dir speed and layer time
Jira: none

generate continuitious outer wall speed in z dir
generate continuitious layer time in z dir

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I0ade543d2f9ee40f5cd65c533eb261d85e5eaa34
2024-10-15 15:50:26 +08:00
Arthur 68625a6e60 ENH: add vertical support enforcer
Previously painting support enforces on vertical faces doesn't work, as projecting the facets downwards will give empty polygons.
Now we use a different mechanism to enable vertical paint-on enforces, by directly adding contact nodes.
Note: this feature only works with tree support as only tree support has contact nodes.

jira: none
Change-Id: Id171b1665566d142a6427285baccb40c0aa00949
(cherry picked from commit 9c882f61eb37350a4486df58de48f0ae489f2d15)
2024-10-15 15:50:26 +08:00
Arthur d2daa4bd16 FIX: do not use organic tree with height ranger modifier
jira: STUDIO-7351
github: #4313
Change-Id: I5a99f88883ec68ab424613fd8b5fdd0d09ef829b
(cherry picked from commit 0b0c3fcd5bec5ee7f4519d936b31f3fb2926919c)
2024-08-26 17:23:33 +08:00
BBL\chuan.he f9bc421651 feat:add more slice time details to json file
Change-Id: I6c29658a051144dda772b42603db6585ea58816b
jira: none
(cherry picked from commit d1e4b98db6ed0f8e1e29d7e8bdcdda96948d10dd)
(cherry picked from commit 76e3e210e0d22592172e236609f83fcbebea65ea)
2024-08-26 17:23:33 +08:00
xun.zhang 3d75210ad1 ENH: port of new infill algorithm from prusa
1. initial port of new ensure vertical thickness algorithm from prusa
2. initial port of new internal bridge algorithm from prusa
3. readd interface shell

Based on prusa commit 11c0e567a68979e96085b3763a76464cb793ea12
and commit f8e7d1b01c114b4d45f9e221c6b5bb935065d650
Thanks prusa.

original author:
PavelMikus <pavel.mikus.mail@seznam.cz>
Vojtech Bubnik <bubnikv@gmail.com>

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I0d36be065a29cf87315918d720f726975a43ef9f
2024-04-08 19:50:03 +08:00
Arthur 3658c97a94 FIX: sequential_print_clearance_valid not working
not working  correctly with short objects

jira: STUDIO-6489
Change-Id: I33e1a165f448e1c3e272d4045934c63ad345db2f
(cherry picked from commit 9348eaa22a056db5384a38ea966cec9ba4a533a7)
2024-03-25 15:29:19 +08:00
lane.wei 07f965313a FIX: seq_print: fix an invalid warning caused by sinking
github: https://github.com/bambulab/BambuStudio/issues/3007
Change-Id: I1111910f2c625d5a871ea01b37dbfa7b04a849ee
(cherry picked from commit a3db95bb0940d5afe07ef0bb07113cc2acd7cd0a)
2024-03-25 15:29:19 +08:00
Arthur 0589348c32 FIX: raft_first_layer_expansion not working with tree support
jira: STUDIO-6043
github: #3355
Change-Id: Idf2a0053026a6f232a5239c3f504191321feb6ee
(cherry picked from commit 3eb35f5b1a53990d215ae4d3527917611f5083c6)
2024-03-25 15:29:19 +08:00
Arthur 3ef065a4ed FIX: auto arranging short objects gives overlapping results
jira: STUDIO-5778
Change-Id: I6761875d653fbed1beadd6480d37b97f71dfdf24
2024-03-25 10:42:29 +08:00
Arthur 472640c1f1 NEW: add nozzle_height to machine profile and do not detect conflict
Jira: request from 1.9

1. add nozzle_height to machine profile
2. auto arranging and sequential_print_clearance_valid don't consider objects conflicting if they are all shorter than nozzle_height and close.
3. do not detect conflict when all models are short.

Change-Id: I8d1eebb15d5bfa8c40d7491e033149e360531b89
(cherry picked from commit 6b4b52653db5f08d724a556c5c766c0bfa00f34d)
2024-03-25 10:42:29 +08:00
Arthur 3d5aa9479c ENH: auto-arranging allows more filaments together
Auto-arranging allows more filaments to be printed on the same plate

Only HighTemp and LowTemp filaments are not allowed on the same plate.

Jira: https://jira.bambooolab.com/browse/STUDIO-4682
Change-Id: I1bd4966e6aaa55a6dd9dff05f0bd94f2795a62b0
(cherry picked from commit 965040912af0555ca190702e7c7ac92e177a2922)
2023-11-01 09:33:21 +08:00
lane.wei 5f5fde3651 ENH: CLI: add time estimation for non-cache slicing
JIRA: XXXX
Change-Id: Ifed2d70e8d6355087694df96e413cdbcf792d6d9
2023-11-01 09:33:21 +08:00
salt.wei 560c33c452 ENH: save overhang polygons in cache data
JIRA: none

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I6887774f986843b094c05da48de3e2d6234a2c9e
2023-11-01 09:33:21 +08:00
Arthur c5db5551bf FIX: skip gcode path conflict check for adaptive layer height
adaptive layer height won't work with conflict checker because m_fake_wipe_tower's path is generated using fixed layer height.

Jira: STUDIO-4442
Change-Id: I964a69af2fa0be8224ffc11e4c86f8ccf6dbf152
(cherry picked from commit e8c915f9e0b8c8f6cb549259b20d6d850a06d7d3)
2023-11-01 09:33:21 +08:00
wintergua 5160c8c4f6 FIX: brim generation with extruder overridding in by layer slicing
in brim generation, object's first layer extruders are obtained from regions.
If the extruders are changed at certain layers in by layer slicing mode,
the extruders from layer regions are not right.

this patch fix that issue by updating the extruder overridding in
a new member "object_first_layer_wall_extruders" in "print_object" class during
constructing "Tool_ordering" class. then using the new member directly when generating brim.

besides, support contour, which should be no_brim_area, is obtained from "support_infills" instead of "lslices" of "support_layers"

JIRA-ID: https://jira.bambooolab.com/browse/STUDIO-4332

Change-Id: I271d0ea0d8c01c412d4fb9ade5296c6a6471aed6
(cherry picked from commit 9919ce9d1b9105b859273eee4fe9481c4dff6189)
2023-11-01 09:33:21 +08:00
xun.zhang 0eb9ac856b ENH: use json to store filament & nozzle info
1.Use json to store nozzle hrc
2.Use json to store filament temp type

jira: STUDIO-3488

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I8eb226e26352a41418f4e46d8cda403dc22ecff4
2023-11-01 09:33:21 +08:00
Arthur fcda0e5f2c FIX: mesh boolean may take forever with CGAL
Only use MCut to do boolean, with a little modification to allow input
mesh to have multiple components.

Jira: STUDIO-3167

Change-Id: I4f53010f76fbcacfe966c2ef48e465f97d6516fe
(cherry picked from commit 92d0eb11744820466ee2f67c02d4764e496b7e60)
2023-07-07 17:52:43 +08:00
salt.wei bc0273d734 ENH: should apply instance shift in is_through_overhang
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I07ca04d459c3e98650c8e5a33f56dac20f99b9a2
2023-07-07 17:52:43 +08:00
lane.wei 8b42a8b7e9 ENH: refine the skip_object&&cached_object logic
when the cached object is skipped
we need to reslicing it;

also do overhang detect for all objects

Change-Id: Ic842fd5a441426983a760145aeff9285e398d430
2023-07-07 17:52:43 +08:00
salt.wei 73059c79af ENH: move filament compatibility checking to public
As title. This function need to be used in calibration
page.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ia4228cbd195d87f433b59bc14129bd4acdd9df68
2023-07-07 17:52:43 +08:00
lane.wei d385384907 ENH: skip_objects: optimize the label_id logic in ModelInstance
Change-Id: Id20fe9b084426036d6cf4f54859655579bec7197
(cherry picked from commit ebb5343eef6aea9e54d11f3d6b98cf11ff941aa5)
2023-07-07 17:52:43 +08:00
lane.wei ef06dfc931 ENH: object_skip: use identify_id for cli when skipping object
Change-Id: Ibbe3262b4817f82b7ac824ba6d4b3efd7f0ed886
2023-07-07 17:52:43 +08:00
Arthur 0cad88309c FIX: fitst layer bbox was wrong for multiple plates
brim bounding box is now shifted w.r.t. plate origin, need to modify the
no-brim shift the same way.

Change-Id: Iefa7287e2848aadbfc4a468bca394ecec48a1e7c
2023-07-07 17:52:43 +08:00
salt.wei 2fe7629388 ENH: normalize comment from OrcaSlicer
Mark code from OrcaSlicer with same comment tag for follow easily

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: If4db502a1b0e6d0648c73f2f383b6d1cc8e1aa01
2023-07-07 17:29:08 +08:00
salt.wei e567afdcb5 ENH: support exclude objects for klipper printer
Thanks OrcaSlicer.

This is just function for klipper printer.
NEVER used for BBL printer.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I910abceb67f4dcb4260f74f5dd1b4fb614812670
2023-07-07 17:29:08 +08:00