Commit Graph

88 Commits

Author SHA1 Message Date
Arthur 5cc08e3398 FIX: tree support first layer defects
Tree support didn't fill the first layer when the tree is too short

udesk: 0284
Change-Id: I2702b26733e7360445e19847abb48f75f173da4e
(cherry picked from commit e317f9e19fbbfe21efb495e23a8ff78661bfee79)
2023-02-01 16:24:44 +08:00
Arthur fa9a530184 FIX: raft density in tree support was wrong
Jira: STUDIO-2005
Change-Id: Ic2e9a3824ea943f101737270382c63cfaea656a1
(cherry picked from commit e10e17863a40638329ff43c8fa12b88c79e7b76b)
2023-02-01 16:24:44 +08:00
Arthur d16dee04af ENH: [tree support] use layer_nr_next for calculate_avoidance
Previously we used layer_nr-1 as the next support layer below layer_nr,
which was not right when we used independent support layer heights.
And this would make it difficult for the tree branche to avoid the object.

Change-Id: Ic705fbd093e4bd555470646044380703ca259904
(cherry picked from commit 245e1cf4fd071b1f1fea4c5d616ff87432a76911)
2023-01-10 19:08:26 +08:00
Arthur 646b259972 ENH: merge tree support layers to support layers
Will greately reduce repeated codes.

Change-Id: I506a97a907b5b393fe41e13ae53e2f7c9247c4c5
2023-01-10 19:08:26 +08:00
Arthur 38ce4b94f4 ENH: improve sharp tail detection
1. When sharp tail region suddenly grows a lot, it means it connects to
   a well supported region and is no longer a sharp tail.
   Jira: STUDIO-1862
2. First layer of sharp tail can not be reducible (must have extrusion,
   i.e. won't disappear after slicing), otherwise thin spikes at the
   top of the object are also treated as sharp tails.
   Model: knight_seadra
3. Increase sharp_tail_max_support_height to 16mm
   Model: Crane_reversed

Jira: STUDIO-1859 (for this issue I don't what is the exact cause,
   but adding these three improvements solves the problem)

Change-Id: I3cd57b184d78dba8862ab3c214057ae78fe49d1f
(cherry picked from commit 9242c6a6d1f23f11ebc43a9049ce10229a15c60e)
2023-01-10 19:08:26 +08:00
Arthur bb48983e91 ENH: improve generate_contact_points tree support
1. Previously we used integer Point type to detect corner, which was wrong.
2. Delete duplicate points more aggressively to prevent too many points
   around curved overhangs.
3. Do not generate roof_1st_layers if there is no interface at all.

Change-Id: I1167ac04c533ec8f29dc9e656ba7072d1b54197f
(cherry picked from commit 1329347c4bf9c8207cf21e591a6ad113bb565673)
2022-12-26 05:31:54 -05:00
Arthur f4519a45e9 FIX: tree hybrid may hang duing lightning infill
auto select grid infill for tree hybrid, and set default wall count to
1.

Change-Id: Icbecd540d06f353da2e63533f8f7cf7d7f20fbdb
(cherry picked from commit 246335cc195c88a4101dddd1eeda42d9ca16589f)
2022-12-26 05:31:54 -05:00
Arthur 58aaa94fc7 FIX: empty layers and dangling hybrid support
1. fix possible empty layers (caused by continues walls)
2. fix normal node may be absorbed in drop_nodes in "tree hybrid"
3. popup message to ask the user to select best parameters for tree strong
   and tree hybrid.
4. auto select lightning infill for tree hybrid.

Change-Id: I7d172887a9b0e4f268267684e83fc02dc7ec6a0c
(cherry picked from commit bc6d130e86c252d7fc1f84c4df7da95050dd5d51)
2022-12-26 05:31:54 -05:00
Arthur 854eb0af95 ENH: change base pattern "None" to "Hollow"
1. change base pattern "None" to "Hollow", and add an icon image
2. fix a bug of not initializing m_highest_overhang_layer
3. fix a bug where normal(auto) with Tree* styles won't generate any
   supports.
4. add popup message when selecting support material for interface.
5. draw connected loops when wall count is larger than 1

Change-Id: I7ea211d2971b25c65724bb10d0f6cf6e0b68c6a1
(cherry picked from commit 4c1ae7f937239fc3e1397ec2cb3b290d886bb0f0)
2022-12-26 05:31:54 -05:00
Arthur 3e7b5e7657 ENH: [Tree Support] smooth_nodes and draw ellipse works
1. smooth nodes' positions
2. draw ellipse along movement direction
3. fix a bug of radius not smooth
4. fix a bug of Tree Strong having too large radius
5. fix a bug in plan_layer_heights: when wipe tower is
   enabled, independent_support_layer_height is false, and all support
   layers should be exactly the same as the object.
   Jira: STUDIO-1785
6. move support style popup message to on_value_change, so only show the
   popup when the user changes support type or style.

Change-Id: Ibced7a28f436d96000ee35a7194b68bb5a20a32d
(cherry picked from commit 0d814b07e433533c8de1b7a04bf52b577de0778d)
2022-12-26 05:31:54 -05:00
Arthur 29dbc77e91 NEW: add new tree support style "Tree Slim"
1. Add a new style "Tree Slim". If enabled, tree
support branches are merged more aggressively, and the support volume
is minimized.
2. Enable support style, add back Snug for normal support.
3. Remove hybrid(auto) type and use "Tree Hybrid" style to represent it.
4. Fix a bug in plan_layer_heights that may generate empty layers when
   layer height is set to 0.3mm.
5. Fix a bug where no raft is generated if there is no overhang.
6. Fix the bug where no bottom interface or bottom gap is generated when
   tree slim is selected.
7. Use physical distance to calc radius

Change-Id: Iacd57018ae5496cdc9acd28551c44d1c88c53fe0
2022-12-26 05:31:54 -05:00
MusangKing 6096de0020 FIX: Solve cracked layers of tree support under adaptive slicing
fix bug of empty layers when meeting similar large layer height of tree support

TODO: hybrid(auto) still has dangling layers at the botttom.

Github#826

Change-Id: I6d5dfa9a610403e51ea82c1d86444f8645dc3210
(cherry picked from commit ea38988f0b5ba22c5b7c3b212d510f649dd23301)
2022-12-17 03:21:09 -05:00
MusangKing 18f794e4fa ENH: Optimize TreeSupport
New function plan_layer_heights added for pre-planning maximum layer heights

Previous adjust_layer_heights function has been commentted out.

Change-Id: I8ec5bb7b7e700ed7655d18a17d0b15de5f026592
(cherry picked from commit 55995c138e0375b8055f31768eea1392cd64168d)
2022-12-17 03:21:09 -05:00
Zhaofeng Li 73679f6f2e TreeSupport: Fix UTF-8 errors
Let's just translate the comments into English while we are at it.
2022-12-16 22:51:07 -05:00
lane.wei 13a1dc03c1 ENH: sync the different codes
especially for the translation files

Change-Id: I940578ff6e22b0939d42eeed2209bfeddb0eb191
2022-12-15 04:38:15 -05:00
salt.wei 402e03f763 ENH: control local extrusiuon order of tree support
As title

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I82a17cd8f82a87a898f933b5437836667136d834
(cherry picked from commit aedfffc4565113f186a55efa0e89366880a22fc6)
2022-12-15 04:38:15 -05:00
Arthur 4bab300e18 ENH: sync with master on sharp tail and cantilever detection
Change-Id: Id514d47d868fd02a8ac02ef85ef33ef48a2bd7c7
2022-12-15 04:38:15 -05:00
Arthur 6a644c271c FIX: lightning infill may fail for some cases
Change-Id: Ibc6e4e4262ef9fc0b36a936acc52a3b60dca2cb4
(cherry picked from commit e3b7c5c3404aa200c4b852b3963a7a0aae8837d2)
2022-12-15 04:38:15 -05:00
Arthur 8cfee69015 FIX: undef SUPPORT_TREE_DEBUG_TO_SVG and tree support enhance
1. undef SUPPORT_TREE_DEBUG_TO_SVG
2. change default tree branch angle to 45 degrees
3. encourage tree neighbors merge faster
4. draw more loops at the top of trees for stronger support

Change-Id: I2edf6a2dddb3b6165c2519ee15e9a7ffaba9de94
(cherry picked from commit 3a9723b2e88a033b3298cd68daf9400265e984a1)
2022-12-15 04:38:15 -05:00
Arthur 65766ba30a FIX: tree support crashes when there is no overhang
Default infill pattern is lightning now, which has
a crash bug when no overhang is provided.

Change-Id: I1e70b8458d1eef670a78d698c68b21d7f48bc3eb
(cherry picked from commit 777af3aa1dbb9869209945f3a6dbcc07cba0b84a)
2022-12-15 04:38:15 -05:00
Arthur 95ed039879 ENH: simplify support options and fix a tree sup bug
1. add default support base pattern (lightning for tree support,
   rectilinear for normal)
2. change default support interface pattern to "Default" (concentric for
   absoluble material, rectilinear for others)
3. delete tree_support_with_infill, replace no-infill optio with "None" infill type
4. delete HAS_LIGHTNING_INFILL macro (lightning is impossible to be
   removed now)
5. fix the issue that tree support base may grow above interface by
   adding virtual nodes (distance_to_top<0).

Change-Id: I5affa44e1f72d0dc54052927f2b315de83702870
(cherry picked from commit a2b41b1dfd9227e68ac6d971312133ec3382baa7)
2022-12-15 04:38:15 -05:00
Arthur e61e6c3c95 ENH: improve tree support interface quality
Always draw a wall before infill for 1st interface.

Jira: STUDIO-1402

Change-Id: I9cba46f9bcacbe6c78a82bbb7099cc1d1182cb97
(cherry picked from commit d7381adb78c99414f538db82f0ac1f2de2e968cf)
2022-12-15 04:38:15 -05:00
MusangKing 2a8fe9ec54 NEW: Open "Bottom Z distance" setting for users
Users can set distance between support bottom contacts and object
once enable normal/tree support.

Jira: STUDIO-1383

TODO:Func seems good though, some details (e.g., bottom_interface
detection) need to be optimized furthur. Will keep follow-up.

Change-Id: I85815e7aa6cf1a5d0249633cd8ab995873461e8a
(cherry picked from commit eab39e89c94d749ebe6266ab745cbb70a068277d)
2022-12-15 04:38:15 -05:00
Arthur 5df1317f40 FIX: tree suppoort generates wrong sharp tails
support_critical_regions_only may generate wrong supports on sharp tails

Test case: calicat.stl

Change-Id: I73671d9bf0f9c27ef70efa5765cd291761c4d18d
(cherry picked from commit 8ff2ac7ce437dc2f9eee6068d596294c054dee1b)
2022-12-15 04:38:15 -05:00
zhimin.zeng aa1bd63d61 FIX: WipeTowerIntegration::append_tcr error when slicing
Change-Id: I8055c7c8586fec3dbdc757daf18b740835ce4b13
(cherry picked from commit 5bf6f1b9d5c1ce376bee149df0110d1e44f1d343)
2022-12-15 04:33:48 -05:00
Arthur 4b7ad20159 FIX: tree support may crash for faulty models
Root cause: overhang offset may be empty
Jira: STUDIO-1197

Change-Id: If472be8ed6d209366f118f1f0e5e14b41ce26b3c
(cherry picked from commit 663e7f29f01395bf335b6bccc91f192b64be69ae)
2022-12-15 04:33:48 -05:00
Arthur f8fc565dd8 ENH: ease tree support removal
We discover a good quaility interface can help remove support. When
enabling interface, directly generating circles from overhang polygons
gives fairly good quality.

Change-Id: I5d347fa7abaacea839650b6fd3a8c2c73abd5e56
(cherry picked from commit 474cbf7d59beda63e9ef1ec8b52636f2674811c7)
2022-12-15 04:33:48 -05:00
猫山王 c21c84c62f remove: "ENH: add paint-on support on vertical faces"
This reverts commit ccf1746530a6f68d38a9b6714e70a0acdbec5b8c.

Reason for revert: multi color printing has problem

Change-Id: Ibc53b99a715b987ee447d7c3b03407de2790abaf
2022-11-07 19:59:23 +08:00
MusangKing 6f13d5cbf4 ENH: add paint-on support on vertical faces
Add paint-on support on vertical faces of slender rods

Jira: Studio/STIDIO-970

Change-Id: If280b570a8076059b5583f385ba6517bf305723b
(cherry picked from commit 6832ee98ac146421c061fa90840c2751c3b3d875)
2022-10-20 19:34:37 +08:00
Arthur 3fecdd6e7d FIX: tree support has empty layers for some models
Root cause:
support_floor_layers_above is not properly set,
so adjust_layer_height() fails to detect extremes,
and then deletes the middle layers.

Also reduce max_bridge_length to 10mm.

Jira: STUDIO-1084

Change-Id: I1e72a0600ec7e2b812705e45b47b76189152daac
2022-10-20 19:34:37 +08:00
Arthur d402e302f3 FIX: hybrid support is too slow
Change-Id: I5c0d0432a0ce4010de044816780fbfbd9aabe30c
(cherry picked from commit 6be3b9cd71ac5708ba03fe6678966c31b73c90eb)
2022-10-20 19:34:37 +08:00
xiang.zeng 9cf95696a4 NEW: enable lightning infill pattern for model and tree support
Change-Id: I6e2cbfdd30f8d222f88301ed0c8cc89e21cfdc24
(cherry picked from commit ddfee7c069cfc42685be509d48b8c609e1dc0cfc)
2022-10-20 19:34:37 +08:00
Arthur c9e8ef3f93 FIX: fix two tree support bugs
1. hybrid(auto) on_buildplate_only option not working correctly because
parent is not set.
2. tree(auto) on_buildplate_only not working correctly because unsupported
branch isn't deleted completely. I add child to track the dangling nodes
and then delete nodes with no child.

Change-Id: I24c69a7cf400d2961b22a720a6069cf95db6c1a5
(cherry picked from commit bce77c16128d35c668b175e7135b9fe9acd71d13)
2022-10-09 10:37:45 +08:00
Arthur abddb1edc3 NEW: add support_critical_regions_only for tree support
When this option enabled, only generate supports for sharp tail, cantilever,
thin pillar (not well supported). So holes are safe from unnessary supports.

Currently only works for tree supports, will need to copied to normal
supports if it works fine.

Change-Id: I5eb86484a5b503149e3bfdee8ce73f76a0a849e4
2022-09-29 11:16:43 +08:00
Arthur fae9036f01 FIX: tree support floating branches
Change-Id: Id28324e7676b28a315b03055d941b9876b2b3b5b
(cherry picked from commit 8b5d3fae4a476b91caf854cc75d5de36ff984790)
2022-09-29 11:16:43 +08:00
arthur 7e01006db7 FIX: cocentric interface in tree support may be floating
1. fix floating cocentric interface
2. fix missing 1st roof layer with 0.12 & 0.08 layer height

Change-Id: I6cdbe99dabb711c650900d35aead7f7aa0fdb8f7
2022-09-02 12:52:18 +08:00
lane.wei e9e4d75877 Update the codes to 01.01.00.10 for the formal release
1. first formal version of macos
2. add the bambu networking plugin install logic
3. auto compute the wipe volume when filament change
4. add the logic of wiping into support
5. refine the GUI layout and icons, improve the gui apperance in lots of
   small places
6. serveral improve to support
7. support AMS auto-mapping
8. disable lots of unstable features: such as params table, media file download, HMS
9. fix serveral kinds of bugs
10. update the document of building
11. ...
2022-07-22 20:35:34 +08:00
lane.wei 1555904bef Add the full source of BambuStudio
using version 1.0.10
2022-07-15 23:42:08 +08:00