Commit Graph

102 Commits

Author SHA1 Message Date
jiaxi.chen 0bbf795400 FIX: sharptail missing when topz=0
jira: none
Change-Id: I627ab5503e47dafb32a548ae1123b6a50610c9a8
2025-04-15 08:22:34 +08:00
jiaxi.chen b35c05e1c2 FIX: SHARPTAIL missing or discontinuous
jira: STUDIO-10792
Change-Id: Idfc1f17c4daacc8687c96e5efc3cf6427fec1e6f
2025-04-15 08:20:28 +08:00
jiaxi.chen 7ac6cedff8 FIX: crash when xy_dist=0 in organic tree
jira: STUDIO-11158
Change-Id: Id98a196daf5fdc128e0c10de7d0a8f19c9014c3b
2025-03-28 21:13:34 +08:00
jiaxi.chen 8dd8979201 FIX: bottom layer of erSupportTransition dont overlap with base_support
It's because the angle pramater is initialized outside of parallel computing

jira: STUDIO-11015
Change-Id: I2746880683f705cedc5eaca8a41d7b385e22368f
2025-03-24 11:06:42 +08:00
jiaxi.chen 1864b22478 FIX: gen floating areas when holes of support_area propagate
jira: STUDIO-10271
Change-Id: Ib45d78c6f920613ba29cb97cead9192813cbb4fe
2025-03-24 09:12:13 +08:00
Arthur d77848fa9f ENH: don't generate bottom interfaces for tree support
Previously we set bottom_z = 0 when soluble_interface is true and generate
bottom interfaces for tree support. This may cause tree supports unstable.
Now all tree supports will have no bottom interfaces.

jira: STUDIO-10505
Change-Id: I3c74f98fc171d28ff24ace3fd594ef5c925ff34d
2025-03-24 09:11:29 +08:00
jiaxi.chen 3366b13fd6 FIX: wrong number of outer_walls
1. when some area is need_extra_wall, the whole layer has double walls.
2. set circles above soluble interface with double walls

jira: STUDIO-10505
Change-Id: I5846c712a36e2e5bfc5018013b44e2712229b6ad
(cherry picked from commit 5675d9c14e57c4615249ec665603dd662a9a7ee3)
2025-03-24 09:04:49 +08:00
jiaxi.chen 5728474378 FIX: dont need roof1stlayer if there is no roof above
jira: STUDIO-10573
Change-Id: Ie6ef6e3321f076511f0caf24b906f75761aacfc8
2025-03-24 09:04:23 +08:00
jiaxi.chen 1a58c3f1c8 FIX: when params change, clear detected overhangs
jira: STUDIO-10575
Change-Id: If38fc21a97657980b4dfae17699f3fb41a46fa0a
2025-03-24 09:04:23 +08:00
jiaxi.chen f61beec992 FIX: fix for the previous changes
1. keep growing when collison do not contain the circle of the node.
2. when contact_node is nullptr,  cannot assign it a type.

jira: none
Change-Id: I6168a3a19ceec087e93c919625c0c3b654fc7d7e
2025-03-24 09:04:22 +08:00
jiaxi.chen 6266a987d4 FIX: first layer overlaps
still need to check if layers' bottom_z is under initial_layer_height since z_heights[0] is fixed to it.

jira: STUDIO-10282
Change-Id: Ia2d0565039389c8eb7edbb6b5403996b5ee412c2
2025-03-24 09:03:27 +08:00
Arthur f65f5fc208 FIX: Rectilinear Interlaced pattern not working
Rectilinear Interlaced interface pattern not working for normal support.

jira: STUDIO-8847
github: #5307
Change-Id: Ia17c9a0f8f20e3ac7a98ce13b1ea5065c200ac3a
2025-03-24 09:03:27 +08:00
jiaxi.chen adb3fbcfcf Fix: only one overlapping area can be added to cluster
1. Wrong generation of cluster when there are multiple overlapping areas in one layer.
2. set interface_bottom_spacing = interface(_top)_spacing.

jira: STUDIO-10241, STUDIO-10506, STUDIO-10507
Change-Id: Ic7a0d61e43c5cd8d8094cb75ac257f83bc2952b6
2025-03-24 09:03:26 +08:00
jiaxi.chen ab018130d7 FIX: support_on_buildplate_only is not working
jira: STUDIO-10473
Change-Id: I58839e4281089d477087f9cad3db8027ea71cd9e
2025-03-24 08:37:52 +08:00
jiaxi.chen 2e3edc4518 FIX: wall count fixed && overlapping of interface filling path
jira: STUDIO-10419, STUDIO-10420
Change-Id: Ib7274420ceb8149a02e82d896757ce5ace908fb9
2025-03-24 08:35:26 +08:00
jiaxi.chen aeba1ebfa2 ENH: set filler_angle of roof layers to interlace with bottom bridge
jira: STUDIO-10239
Change-Id: I8dfebb289b30293a39f9737073e992e97b4b46d4
2025-03-24 08:34:32 +08:00
Arthur 93d98a6a69 FIX: crash when raft = 1 && has wipe tower
jira: STUDIO-10265
Change-Id: I2f932b2cffad6b16075adda95ebd8c453beea753
(cherry picked from commit 27c18dca4130f872ea96dbb3b321b9dcee1f1068)
2025-03-24 08:34:30 +08:00
Arthur 2debc31c4d ENH: fixed crash issue of lightning infill of tree support
Use clipper2 and remove colinear points.
Later on we can try to set lightning infill as the default infill pattern of tree support.

jira: none
Change-Id: Id545b15d778071cec6e56d212ab68db1ab90ad2a
2025-03-24 08:34:30 +08:00
jiaxi.chen 05365a7a3f FIX: wrong cantilever check of circular ring overhangs
jira: STUDIO-10240
Change-Id: Ic4ff176a017e0aa7333404e1f5eec6cac6700484
2025-03-24 08:34:00 +08:00
jiaxi.chen f2cb4f747c ENH: improve quality of interface
1. change type of transition layers below interface to erSupportTransition,
2. fix the number of transition layer above tree branches,
3. change the default setting of support_interface_pattern to smipRectilinearInterlaced,
4. change the default support_style to HybridTree when interface is soluble
5. FIX: conflict between xy_expansion && split_hole

jira: STUDIO-10239, STUDIO-10314, STUDIO-10319
Change-Id: I3eb392ccd005acedb001aa862d5bf3eb104c5293
2025-03-24 08:34:00 +08:00
jiaxi.chen 4f9f1bbba0 FIX: useless expand for tree nodes
jira: STUDIO-10235
Change-Id: I2a6780b4d010253452249c426437aba2bcc6ff60
2025-03-24 08:29:27 +08:00
jiaxi.chen 7745c29c51 FIX: useless expansion of top_interface && hybrid tree may collide with model
1. only expand 2mm for BigFlat/ThinPlate overhangs, unnecessary for tree node overhangs without big areas.
2. avoid the situation that some overhangs are extended to fall on models when smoothing.

jira: STUDIO-10177
Change-Id: Icec0bb59627bb85332ad1435cbe29a07f57f922e
2025-03-23 20:31:58 +08:00
jiaxi.chen 90d8a136f9 FIX: wrong number of interface_layer && add brim to ePolygon nodes
Change-Id: I4842dec3534713f48dad07637ff31b045599f67c
2025-03-23 20:30:30 +08:00
jiaxi.chen f9a4581e42 FIX: Alternating change of wall layers
must be double walls between a double wall and another double wall, or it's easy to break with low strength filament

Change-Id: I2bb3a3b77e7ea964d2e94aaf7407449b86df84b2
2025-03-23 20:29:17 +08:00
Arthur 8fcd627087 FIX: tree support missing in some case
jira: none
Change-Id: Idf0e6de7b395930423eca084c971b53db6c98e54
2025-03-23 20:29:09 +08:00
Arthur b5e3b96764 ENH: add Clipper2::Union and fix a command line hang issue
jira: STUDIO-9623

Change-Id: I8b40f66fed0fc9e5b13f0f10337267065fef1056
2025-03-23 20:25:13 +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
jiaxi.chen 0f98abde37 FIX: misreport warning message caused by float region when slicing relief
Unnecessary warning messages are called when slicing reliefs, because some small overhangs with only one gap layer are set as SHARPTAIL.

jira: none
Change-Id: I9abcebbcfa41d75e32f86efa64ac3bb8848247d7
2025-03-22 21:57:15 +08:00
lane.wei 43773d7701 ENH: buildvolume: add logic to support extruder_printable_height
jira: no-jira
Change-Id: I962c4aed8c536c0fd8b89ae090cd0463c5d645db
2025-03-22 21:11:22 +08:00
lane.wei e5be69dedd ENH: dual_extruder: add logic to process extruder_printable_area
JIRA: STUDIO-7498
Change-Id: I1cf53db93acf41b06cb1b9569a0679487c9f1e41
2025-03-22 20:53:19 +08:00
jiaxi.chen da8474882b FIX: no infill in raft layers
jira: STUDIO-10175
Change-Id: I96cd7b0ae5a5f030cda3e3ea71c7c56b1752357a
(cherry picked from commit efa4114715f162c8e6714fbe2804620da7aaa1bd)
2025-02-18 17:19:01 +08:00
Arthur 97de4e87cf ENH: reduce organic tree support log level
jira: none
Change-Id: I17b876d88974e632c592bd36f3fea700a51f86be
2025-01-09 19:32:26 +08:00
jiaxi.chen 0d1bdab97d FIX: fix the bug of missing layers in SlimTree and HybridTree
jira: STUDIO-8756
Change-Id: I12c09ec2e3c1a2ee138472ff7c63675d0ee26ba0
(cherry picked from commit 36d80e7b24a4bdcce2d3957e0fd3ea61c8dc6bdc)
2025-01-09 19:32:26 +08:00
Arthur 849d41576c FIX: top z distance disappears in some cases
jira: STUDIO-8883
github: #5334
Change-Id: Ie70f6dada19cc17cd74fa6aa116d1ca4fb4a07d7
2025-01-09 19:32:26 +08:00
Arthur 7665aeb69c FIX: sharp tail miss detection
jira: STUDIO-7973
Change-Id: I76b0dc56fe6cf44bacad4c35874695efee29c2f9
(cherry picked from commit 3fe1728f40e2a09340b061681895e4691bd1a8f7)
2025-01-09 19:32:26 +08:00
Arthur c331b61cab FIX: merge support interfaces into a continuous large one
jira: STUDIO-8611
github: #5132
Change-Id: I12ee4a9f88a78304a98f354bfaa92e2a05f19ec2
(cherry picked from commit b7c8c7e8feb199b01f52e1fbfbba4469657db3b7)
2025-01-09 19:32:26 +08:00
Arthur f774fda6e6 FIX: inconsistent infill in hybrid tree support
jira: STUDIO-9058
Change-Id: I62f6225d33708e8a161600930c6e0dff229f5995
2025-01-09 19:32:26 +08:00
Arthur 5e476a1385 FIX: apply xy_expansion after support blocker
jira: STUDIO-9040
Change-Id: I30e09a67047f651a547082bff737524aba940f19
2025-01-09 19:32:26 +08:00
jiaxi.chen d4bc450af6 FIX: protect when support_style doesnt match type
jira: STUDIO-8800
Change-Id: I7d42f95ba43b4b3a47a83ae59afaaf9bc94baa5d
2025-01-09 19:32:26 +08:00
Arthur 4655ec449b FIX: normal support missing base interface layers
jira: STUDIO-8642
Change-Id: Ib104fdb195f8766d452138eb85d8b86cbac96981
2024-11-12 15:35:32 +08:00
Arthur 4d219266a1 FIX: 0 top z distance of hybrid tree support not working
1. fix the issue that setting top z distance=0 not working
2. remove too small extrusions of tree support

jira: STUDIO-8578
Change-Id: I8c3face9d6a756698a6fab876fdb1acc0686647c
2024-11-12 15:35:32 +08:00
Bastien Nocera a63070bd4c libslic3r: Fix BOOST_LOG_TRIVIAL declaration
/run/build/BambuStudio/src/libslic3r/Support/SupportParameters.hpp: In constructor ‘Slic3r::SupportParameters::SupportParameters(const Slic3r::PrintObject&)’:
/run/build/BambuStudio/src/libslic3r/Support/SupportParameters.hpp:172:39: error: ‘warning’ was not declared in this scope
  172 |                     BOOST_LOG_TRIVIAL(warning) << "tree support default to organic support";
      |                                       ^~~~~~~
/run/build/BambuStudio/src/libslic3r/Support/SupportParameters.hpp:172:21: error: ‘BOOST_LOG_TRIVIAL’ was not declared in this scope
  172 |                     BOOST_LOG_TRIVIAL(warning) << "tree support default to organic support";
      |                     ^~~~~~~~~~~~~~~~~
/run/build/BambuStudio/src/libslic3r/Support/SupportParameters.hpp:175:39: error: ‘warning’ was not declared in this scope
  175 |                     BOOST_LOG_TRIVIAL(warning) << "tree support default to hybrid tree due to adaptive layer height";
      |                                       ^~~~~~~
/run/build/BambuStudio/src/libslic3r/Support/SupportParameters.hpp:175:21: error: ‘BOOST_LOG_TRIVIAL’ was not declared in this scope
  175 |                     BOOST_LOG_TRIVIAL(warning) << "tree support default to hybrid tree due to adaptive layer height";
      |                     ^~~~~~~~~~~~~~~~~
2024-10-30 14:43:27 +08:00
Arthur 64ab78298b FIX: hybrid tree support may crash due to empty extrusion entities
jira: none
Change-Id: I521e27e7a4d12189efc77768d10d264d0d6db111
2024-10-28 20:51:35 +08:00
Arthur e773e3a5ef FIX: normal support crash
jira: STUDIO-8531
Change-Id: Ic4b13b253b8e2647f3bec78b5e9c698a18519285
2024-10-28 20:51:35 +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 d5b14e5c09 FIX: solve tree support crash
jira: STUDIO-8509
Change-Id: I8658538d7919136efbbf0d48cbf3d366e0621ded
2024-10-28 20:51:35 +08:00
Bastien Nocera c64ab8c08a libslic3r: Fix format calls
src/libslic3r/Support/TreeSupport.cpp:3204:41: error: ‘format’ was not declared in this scope; did you mean ‘boost::format’?
 3204 |             BOOST_LOG_TRIVIAL(trace) << format("plan_layer_heights0 (%.2f,%.2f)->(%.2f,%.2f): ", z1, h1, z2, h2);
      |                                         ^~~~~~
      |                                         boost::format
2024-10-28 08:33:48 +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
Arthur 05174d0706 ENH: improve shar tail detection of tree support
The expansion was too large and may miss sharp tails near the object.

jira: STUDIO-8400
Change-Id: Iee5bd15cc7c23f16d30365d5f1c9fbcc0a632c19
2024-10-15 15:50:26 +08:00
Arthur 35bf682f79 FIX: hybrid tree support crash in some case
jira: STUDIO-8313
Change-Id: Ide03d8f666232f457305f3dd298bf8151ba9c57b
2024-10-15 15:50:26 +08:00