Commit Graph

34 Commits

Author SHA1 Message Date
Arthur 6612086816 ENH: do not leave a gap for top interface if the top z distance is 0
Previously when the overhang is a slop, it's controled by the xy
distance. Now we control it with top z distance as long as it's an
interface.

Note: Not working with Snug support, which has a different mechanism of
support interface.

Jira: STUDIO-3991

Change-Id: I1b7c4cf892b4c4ec2f3e668bd966ab0971212364
(cherry picked from commit c094b5ec83dc98dca7a8b8c0438b8f1994134db6)
2023-11-01 09:33:21 +08:00
Arthur 2b593ce378 FIX: adaptive layer height may mess up support layers
We must ensure when independent support layer height is enabled, the
support layers are strictly synced with object layers. Otherwise, the
wipe tower toolchange may be messed up.

Jira: STUDIO-4097
Change-Id: I6208653f9665b15d028940d5e130c9e895629fc2
(cherry picked from commit 41d35c8af152c91cb356a68d88a879a115b44778)
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
Arthur 4e15942ba8 FIX: differnt_support_interface_filament was wrong
This bug will cause a gap between support base and interface in Snug mode.

Jira: STUDIO-4067

Change-Id: Ife4d1fc3652803e9d41bb49fddf126cb05798ae5
2023-11-01 09:11:19 +08:00
Arthur 04bfe7e405 ENH: ease removal of tree supports
Previously tree supports are harder to remove than normal
supports. We learn from normal supports and improve the gap between
object and supports.

Jira: STUDIO-3530

Change-Id: I229a7b869b334bdf4c5aba96c9450213b83457f2
2023-07-07 17:52:43 +08:00
Arthur 0ce835dcd4 ENH: add option "remove_small_overhang"
Let the user choose remove or not.

Github issue: #1810
Jira: STUDIO-2992

Change-Id: I9c5e087d171d16d8d7318b36efe825a6cbc29c33
2023-07-07 17:29:08 +08:00
yifan.wu f97261bca9 ENH: optimize support top intface fill direction
Optimize support top interface fill direction for bridge.
The direction is set orthogonal to the biggest bridges's infill
direction.
Currently, it only works when thick bridge is off.

Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: I7bd894ae6f5ae24bc597c609e27a16b6d45a9797
2023-07-07 17:25:51 +08:00
Arthur 3c1f7f9e16 ENH: improve small overhang detection
Small overhang diameter threshold is reduced,
and use bounding box size instead of area for final decision.

Github: issue 1681
Change-Id: Iabbb49dfc47345bb609214749104c808608c4d65
2023-07-07 17:25:51 +08:00
Arthur 55a1141e67 FIX: sharp tail detection misses some sharp tails
1. Previously if there are multiple sharp tails in a layer, some will be
 missed. To fix this, we should not skip if the current layer is already
 detected as sharp tails.
2. Do not mistakenly detect sharp horns as sharp tails by only detecting
 the overhang areas larger than half of the extrusion line width.

Github: #1578
Jira: STUDIO-2659
Change-Id: If7ba5c9ae547d3051551aa6fa34eb6214d01a46d
2023-07-07 17:25:51 +08:00
Arthur 81319b6a9e FIX: normal support crashes when only raft enabled
Github: #1786
Change-Id: I349fab71953b6eb77fbb1f70b00f37c1e450a562
(cherry picked from commit e961e05c5cc8644398d5bba7eac8527b34759354)
2023-07-07 17:25:51 +08:00
Arthur da7353dd6b FIX: contact_polygons were not accurate and interface missing
In normal support, contact_polygons were slightly larger than allowed region, so sampling to the wrong points, which were then removed when "on buildplate only" was turned on.

Jira: STUDIO-2742
Github: issue 1352
Change-Id: I2f131bac48eb30997f37818f312da3386516a5ea
(cherry picked from commit ed25a89c0e8c5358ea803344fbce482be172d2ee)
2023-07-07 17:25:51 +08:00
Arthur 87abd65ea4 FIX: do not allow support thresh angle to be 90 degrees
tan(90\degrees) is too large and will make detect_overhangs very slow.

Jira: STUDIO-2620
Change-Id: I55901a6bc1b56216549f66e1a7e77c0da680997b
(cherry picked from commit e58cc8a4665808580e84107f54661447000d64f3)
2023-04-17 15:39:02 +08:00
Arthur 3d710609d9 ENH: improve cantilever detection's speed and accuracy
Cantilever detection should be done layer by layer, instead of using
merged_poly of clusters.

Jira: STUDIO-2198

Change-Id: Ifea017fc4c13425a944ee80f7dedb603a8e14cc2
(cherry picked from commit 0803a439a458ffeb9c6d91e90344a5b78794a6bd)
2023-04-17 15:39:02 +08:00
Arthur 6facd65530 FIX: sharp tail detection in normal support was wrong
1. Fix sharp tail detection in normal support.
The not operator in front of overlaps was missing.
2. Fix bridge removal.
After adopting Prusa's smart bridge direction detection, the bridge
angle may be pi, so our previous method (comparing angle to 0 and pi/2)
was not right. Now we simply check if the bridge direction normal vector
is aligned to x-axis or y-axis.

Change-Id: I4e1fd937e432aca97cdd374ba66a0d869794126e
(cherry picked from commit c0d82003a5e4c44345219294072c54051fc5711a)
2023-04-17 15:39:02 +08:00
Arthur 0c2ba2b0a2 ENH: improve sharp detection for small regions
1. improve sharp detection for small regions.
   When the region is around 1 extrsion width, previous method may miss some sharp tails.
Now we reduce the width threshold to 0.1*extrusion_width for sharp
tails.
   When checking "nothing below", need to expand the poly a little. Example:
benchy.
2. improve is_support_necessary.
   Only popup warning for sharp tail and large cantilever (longer than 6mm).

Jira: STUDIO-2567
Change-Id: I5e977e7766b35409891d1b41e36278e3f07fa372
(cherry picked from commit c9d8a7c1c3bbd4367c7fc44408c67e5c534167f4)
2023-04-17 15:39:02 +08:00
MusangKing ee6bf4d4de NEW: Allow Top/Bottom_z_distance under variable layer height
Allow user to set top/Bottom_z_distance under variable layer height.

Fix the bug STUDIO-2454

Change-Id: I026098a4df7cfa01f87a6802e2c787fcfd6df3ee
(cherry picked from commit 6e933acec7cde705f176937038ce307bc276cf5f)
2023-04-17 15:39:02 +08:00
Arthur af0fca211b ENH: add grid & rectilinear_interlaced interface pattern
Github: #1018, #1221
Jira: STUDIO-2534

Change-Id: I8c766b5b934364253c0344e39f474e4ac3b81add
(cherry picked from commit e7d46fe60856ab511905b46799943bfde8a71826)
2023-04-17 15:39:02 +08:00
Arthur 1ac8013fa5 ENH: improve normal support's efficiency
Similar to tree support, make as many steps parallel as possible.
Jira: STUDIO-2525

Change-Id: Iee310bbf6911d8d3e4262ee8ed6bd133d09670a9
(cherry picked from commit 3798f1a3ecb85bbfb81925b3702fb4384e18994d)
2023-04-17 15:39:02 +08:00
salt.wei 61b271f379 ENH: fix for STUDIO-881
Thanks prusa

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I2e1c1088d29dd5401016ca41d3ed6dec87e0acd1
2023-04-17 15:39:02 +08:00
Arthur 017707e575 FIX: sharp tail detection may fail
1. In small overhang detection, some sharp tail cases are missed because
  the max_layer was not compared.
2. In normal support, previously the lower layer's expolys were not right,
  should only keep the ones that won't vanish when extruding.

Jira: STUDIO-1977, STUDIO-2200
Change-Id: Ia09ff1ab4870b7e3c199a827932536867644c76c
(cherry picked from commit e3ba3a3114821e951d6eb00b4c95e6e63ffe00d4)
2023-04-17 15:39:02 +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 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 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 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
lane.wei 13a1dc03c1 ENH: sync the different codes
especially for the translation files

Change-Id: I940578ff6e22b0939d42eeed2209bfeddb0eb191
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
MusangKing d1e4cb430c NEW: Add "Support xy expansion distance" setting
Open the "Support xy expansion distance" setting for users who can set
expanding and shrinking distance along xy to change normal supports' overhang area.

Jira: STUDIO-1297
Change-Id: If3a1efe99acaced12216966a6f8abd0dc3734757
(cherry picked from commit c1fd588a181b17403109b64a0019818f428252da)
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
qing.zhang 1167225348 ENH: fix extrusion of interface on the first layer
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I08a3599e349f2137a53737010220209dc2a54d6a
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
wintergua 132d551794 FIX: first layer of common support may be apart from object
In auto brim mode, first layer of common support may be apart from object island, which is controled by support object distance.
if support object distance is lower than "flow width + brim_object_gap", the brim will not work.
Therefore, if first layer of common support is interesected with object island, the distance will be brim_object_gap in auto brim mode.

Change-Id: Icbb98af8fd9e84e3ac1977794ca2b60629dd53dd
2022-08-05 16:11:42 +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