Commit Graph

106 Commits

Author SHA1 Message Date
xun.zhang 459671dcb6 ENH: enhance unprintable filament check in height
1. Detect unprintable filament for each extruder by printable height

jira:STUDIO-9630

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I7731196d96745af935d0a34961f035b458b27ec5
2025-03-23 20:21:25 +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
zhimin.zeng 7d44a8bdca ENH: support circle speed compensation
Jira: none

Change-Id: I05f31ff26463cdf6fd900f8f1ca6cf0e0b283925
2025-03-22 22:13:31 +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
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
zhimin.zeng 0917202733 FIX: crash when opening makerworld model
jira: none
Change-Id: Ib0b04584748181cce8b23dc44b247f2ade225a26
2025-03-22 20:40:25 +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
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
Arthur 82c72b19bd FIX: enable circle fitting of tree support with larger threshold
jira: STUDIO-8588
Change-Id: Ia566fa14f7f786ff905fc3484885634811a6d686
2024-11-12 15:35:32 +08:00
Arthur 7697eb3dc8 ENH: improve tree supports
1. speedup organic tree support by using parallel for intersection of bed area
jira: STUDIO-8451
2. add extra wall for hybrid tree support's tall branches
3. disable circle fitting for tree support. This feature produces inconsistent
   circles for tree supports.
4. expose the option tree_support_branch_diameter_angle. Tree supports'
   strength can be improved by increasing this value.

Change-Id: If3688ca895df98a77f6ca538077daf8fe94e53f1
2024-10-28 20:51:35 +08:00
Arthur 20784d845f ENH: speedup brim generation
Use support_islands for all types of suports to avoid gaps between
support regions of the first layer.

jira: STUDIO-8443
Change-Id: Ic65b47640d8352d406bb11eeff7390532631712b
2024-10-15 15:50:26 +08:00
xun.zhang 4fc54affdf FIX: fail to use tbb
1.this cause slice become very slow

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ied3ffe74533c1f822780fdc3a20af4ff657c1853
2024-10-15 15:50:26 +08:00
qing.zhang f1d774f6c0 ENH: apply filament scarf seam
Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ia565da8d280c0f7e51097f1d601240376c1e380e
2024-10-15 15:50: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 f82b599bd4 FIX: z speed smoothing crash while by object print
Jira: none

and add protect for calculating loop connection

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ie74280403d8afc55e699a30f3d1e69afdc41a86d
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 f2fc996652 ENH: improve hybrid tree support
1. do not add interface for small overhangs so supports are easier to
   remove
2. calculate avoidance more accurately using real layer height
  jira: STUDIO-6285
3. hybrid nodes won't collide with lower layers
4. calculate max move more accurately
5. do not increase radius if next layer has collision
  jira: STUDIO-2296, STUDIO-7883
6. rewrite plan_layer_heights to prevent support layers overlap.
  Now the tree support layers are completely independent to object layers.
6. increase collision areas for interface. The top layers may be too
close to interface with adaptive layer heights and very small overhang angle

Change-Id: I052c3f66e68afb7663e2d70c846dd09ed7086071
(cherry picked from commit aca511caebfdeec270d4fc0ec6bbbadde77cddc9)
2024-10-15 15:50:26 +08:00
qing.zhang 04beaae9e3 ENH: imprve scarf seam
Jira: none

fix missing wipe while avoid acrossing wall on

set wipe speeed base on previou path
first implement by orca

add slope gap params

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I45655f087f5a165b52b1007ef5afe0b20d0b13a4
2024-10-15 15:50:26 +08:00
xun.zhang 791abec8e1 FIX: wrong bridge area
1.Caused by removing the hole stored in polygon

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I36c776dd6466b09ae8627eea59a93656f14d297d
2024-10-15 15:50:26 +08:00
Arthur 65a87ed03b FIX: bottom surface type was incorrect with soluable support
jira: STUDIO-6200
github: #3507
Change-Id: Ia5aee1a0a9e54674588b949428e993d1c0c5efac
2024-10-15 15:50:26 +08:00
qing.zhang 0efa2db823 ENH: imprve overhang quality
Jira: none

add speed transition between discontinuity speed
detect bridge-wall and only use bride speed on bridge wall
fix the bug that not use overhang speed while support z
distance is 0 on arachne mode

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I72a1504544fe1ed7bd184ca073bd1b52cd2dcd75
2024-08-26 17:23:33 +08:00
Arthur 4bebe9eb6a ENH: remove tree_support_brim_width
This option is duplicated with raft_first_layer_expansion. Now we
use raft_first_layer_expansion for all support types. Note: the name starts with raft, but it actually controls first layer expansion of both raft and support.

jira: none
Change-Id: I3d2bfc86d36c87d75f0bc1d077c6855f668b19b6
(cherry picked from commit 241a77bd6371330aff58b92b63d066054d4920ce)
2024-08-26 17:23:33 +08:00
zhimin.zeng bce7bc9a97 FIX: modify top_shell_layer should reslice
jira: none
Change-Id: Ied85b87ea4e036a60024977c50ac926c7293a5e1
2024-06-11 18:17:08 +08:00
zhimin.zeng 96365a517b FIX: the height range is not valid in assemble object
github: 3876
Change-Id: Id38672bbf0c01bc9b9f0a3e2bf1052d945b45131
2024-05-13 09:20:46 +08:00
xun.zhang dab3f24553 FIX: surfaces wrong detection
1. Top surfaces are detected as internal bridge. Can be seen in FDMTest
2. Fix bridge line overlap wall line

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I73c47e8b3aba862f46c8438fc69e3fcc382d16cc
2024-05-13 09:20:46 +08:00
jianjia.ma 6540855ff7 ENH: Improve CrossHatch transation layers
jira: 6701

Change name from Flippingline to CrossHatch.

Reduce noise, improve speed by 6.5%. Improve transation layers by
gradually increasing rotation angle and overshoot the transation
layer while direction changed.

Change-Id: I17fcc45b409074d121bf5bb5702e15553d925b51
2024-04-23 20:07:49 +08:00
xun.zhang 95106f3523 FIX: wrong chain sequence caused by narrow bridge
1.Add filtration for bridge area

github:#3873

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I03f7c1ef5bfb86aafdc15065008f0eedfb1a0036
2024-04-23 20:07:49 +08:00
jianjia.ma 427deda14e FIX: Top surface bridging fail on 3DHC & FL infill
Add 45 degree angle offset when processing the bridge.
Need to raise infill_direction to invalidate posPrepareInfill

jira: 6774
Change-Id: I5e6bef3aa814b01c5f30398ac745937a67e3ef4c
(cherry picked from commit 7b12cab10b88f432a11414f8caa1c6427777a1ba)
2024-04-23 20:07:49 +08:00
xun.zhang 0e1eafecbe FIX: redo prepare_infill when change infill dir
As title

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I1f59ea5ab44835ea14e690d836e76b5c1ef7340e
2024-04-23 20:07:49 +08:00
xun.zhang 385e7ffe3e FIX: crash when change infill pattern
1. Fix crash when change infill pattern. Now change infill pattern will
influence prepare infill
2. Remove with loop param, no longer use now

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ibee8808e462bd418d83b7e5781dd2bc5cc772eb1
2024-04-08 19:50:03 +08:00
xun.zhang 609a133336 ENH: disable internal_bridge_support_thickness
1.In the new algorithm,we no longer use this param

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie7660c0f9744cb1f33bce4fa1ccbfef06b3df712
2024-04-08 19:50:03 +08:00
xun.zhang 081ac40f38 ENH: readd ensure vertical thickness option
1.The new algorithm still generate unnessary infill some time.
So we readd the option

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I65fdd58e19db85582d89facb5038adf8e87f299a
2024-04-08 19:50:03 +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
Noisyfox ad89f63fce ENH: Merge Scarf seam method from orca
Jira:none

BBL:Merged scarf seam and
add imorovemnt to improve seam on defalue setting
--as default setting wipe before rectract get good seam on end
--clip slope at start and end
--clip more on inner wall slope start than outer wall
--slowdown slope speed to get better sea
--todo-slope path had error double dE
  reduce it could improve seam,but slope could not stick well.
--check slope path overhang and avoid it while on conditional scarf mode

Co-authored-by: qing.zhang <qing.zhang@BambuLab.com>

Change-Id: I583a1c25e534b2aa5c9d710dcf207aefbea64347
2024-03-25 15:29:19 +08:00
XunZhangBambu c96d472af5 ENH: recover the origin order of prepare infill
1.Change small sparse infill to solid infill after doing expand
introduces too much solid infill.

jira:NEW

Signed-off-by: XunZhangBambu <xun.zhang@bambulab.com>
Change-Id: If8ac07356185729c192d42bae8d9325ebe5fee87
2024-03-25 15:29:19 +08:00
Arthur 29da3bc441 NEW: add support_object_first_layer_gap option
jira: STUDIO-6202
github: #3521

Change-Id: I6f1ce9f5312e9482c0f5bf6ac3215861c501106c
(cherry picked from commit 83027d923a6e67fa0013e5d9f627283c68e996de)
2024-03-25 15:29:19 +08:00
XunZhangBambu 117a2aa2d9 ENH: do not split top/bottom when shell param is 0
1. When detect surface type,do not detect top/bottom
surface if top/bottom shell layers is zero

jira:STUDIO-5843

Signed-off-by: XunZhangBambu <xun.zhang@bambulab.com>
Change-Id: I844b24d061f3fc9aef56dab941140c567340eeae
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 fa61ee6abd FIX: Checking support necessity not working
Only early stop detect_overhangs if support is disabled AND not checking support necessity.

jira: STUDIO-6158
Change-Id: I2d9662231d941827d6392d57344f7d911f641e09
(cherry picked from commit b811a6031d1afe0e7b1cb73050fe6391a65411ef)
2024-03-25 15:29:19 +08:00
Bastien Nocera 4c836314a6 libslic3r: Fix Slic3r::format declaration 2024-01-02 17:42:37 +08:00
SoftFever bdaba79455 ENH: add small perimeter speed and threshold
The original param is added by Prusa. Thanks orca for adding threshold.

1. Re add small perimeter speed and threhold.

github: #2221

Change-Id: I35b269b26f085d80f0edca28650bb21fc04898d7
2023-11-22 08:23:38 +08:00
Arthur a006286465 FIX: organic support doesn't work with raft
Fix organic support issues by syncing with Prusa's changes. Thanks to Prusa.

Jira: none

Change-Id: I96fa1a939767bb0b0d2e8a5fd72966bb10a2042e
(cherry picked from commit 89607dc73313e1b5d389674ed2d8f4f358bcb8b9)
2023-11-09 10:09:10 +08:00
xun.zhang 9719fa81ef ENH:support interface filament not for body option
1. Add a option to prevent support interface filament being used in
support body

jira:STUDIO-4847

Change-Id: Ic6e9f663b71a7e4d9cd1bca399c0da2ce22bb5b5
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
2023-11-09 10:09:10 +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 ad9fa81b01 ENH: add a new support style "Tree Organic"
Add a new suport style "Tree Organic" from Prusa, as organic support is
faster and seems more strong in some cases. Thanks to Prusa.

Feature detection including sharp tail, small overhang, long cantilever,
are still kept.

Known issue: first layer support path may go outside build plate.

Jira: STUDIO-2358
Github: #2420

Change-Id: I4cec149bf4fa9eb733ae720ac1a7f65098e3b951
(cherry picked from commit d977bc5d3b4609f4fec0aa68152a33cacf184c4a)
2023-11-01 09:33:21 +08:00
lane.wei 80e1b74703 ENH: Support: set the float air warning also to non-critical
JIRA: STUDIO-4217
Change-Id: Ic587acde0a566e4ea5217a5dc4f1ab8b6b155f5c
2023-11-01 09:33:21 +08:00
Lukáš Hejl 11b55ccd73 ENH: Added option for enabling interlocking between segmented regions
by the multimaterial painting.
This commit is cherry pick from Prusa, the commit number is
9bce0fcf9bb479c289c396e7e23ce95841a61628
Thanks to Prusa.
Jira: XXXX

Change-Id: I29ad1fa9ab3ccc393a1e2affde1ae869d0a33afa
2023-11-01 09:33:21 +08:00
lane.wei 60333adc96 ENH: CLI: optimize the logic for message
1. treat the critical slicing warnings as error
2. save more information into result
including the triangle counts and the non-critical warnings

JIRA: STUDIO-4217

Change-Id: I25b746d06c9a1ef2d642c67852577982a2986322
2023-11-01 09:11:19 +08:00
qing.zhang 7a7a9f4296 ENH: add top_area_threshold param
Jira: 4136

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ic8a3d05cea769ae92dd5f2f2fcd685d660075c95
2023-11-01 09:11:19 +08:00