If don't do this, laoding old 3mf generated by version 1.3 or lower will
have problem, e.g. normal support will be replaced with normal(auto).
Change-Id: Iaa8e1f8badaacc74479d99a6e4153d8850945279
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)
Default infill pattern is lightning now, which has
a crash bug when no overhang is provided.
Change-Id: I1e70b8458d1eef670a78d698c68b21d7f48bc3eb
(cherry picked from commit 777af3aa1dbb9869209945f3a6dbcc07cba0b84a)
1. Use nlopt and clipper offset togather seems not stable, very easy to
crash. We do the offset outside nlopt now.
2. Fix a bug with finalAlign where objects may be translated to overlap
with excluded region.
3. change the words of support_expansion
Change-Id: I22e37b20e4ae16f47bde206de90845616e4cefad
(cherry picked from commit 1c26e5d2862fd3f3292971b5c749420bfb2cdf0e)
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)
Always draw a wall before infill for 1st interface.
Jira: STUDIO-1402
Change-Id: I9cba46f9bcacbe6c78a82bbb7099cc1d1182cb97
(cherry picked from commit d7381adb78c99414f538db82f0ac1f2de2e968cf)
support_critical_regions_only may generate wrong supports on sharp tails
Test case: calicat.stl
Change-Id: I73671d9bf0f9c27ef70efa5765cd291761c4d18d
(cherry picked from commit 8ff2ac7ce437dc2f9eee6068d596294c054dee1b)
1. Should start from bottom left if there is excluded regions
2. avoid exclusion regions in fixed_overfit_topright_sliding
Jira: STUDIO-1422
Change-Id: If88ecf86a0485bd478a77df8cfd4942df8ca27ac
(cherry picked from commit a8393de51bd178b731ef4c7201a5fe3247d97a1f)
1. improve auto-arrange compactness around wipe tower
2. do not show "Avoid extrusion calibration region" for P1P
3. encourage objects with similar height to be arranged together
Jira: STUDIO-1364
Change-Id: I5efa61a676c453618cdb3915fb98928d07138deb
(cherry picked from commit 571ee0c6d91d8a5f6a60838052f09d49d85f12ed)
Wipe tower is needed if support base and interface use different materials.
Jira: STUDIO-1336
Change-Id: I006ece952aac1a0f0a57721c2cd1b52b2ceee28a
(cherry picked from commit 1a387e4b1607dee36f5abe499892f027e244fbeb)
Add (manual) to normal and tree for better understanding.
Change-Id: I6d39764a16510707912dfdeb80787d63a6e5ad96
(cherry picked from commit 46a0e9a1bb5da747f7d8c90a9235ae59ddf68bc4)
1. reduce expansion of exclusion regions
2. expand extrusion calib regions to let them touch bed boundary, to
greately simplify auto-arranging with avoidance option on
3. improve dist_for_BOTTOM_LEFT to allow objects be put left to
exclusion regions temporarily
4. improve on_preload for better handling objects around exclusion regions.
5. improve debug tools
6. fix a bug with wipe tower estimation (don't estimate if wipe tower is
explicitly disabled)
7. use larger y-overlap threshold to estimate rod height confliction
better in per-object print ordering (now we use half the clearance
radius)
Change-Id: Iab29d47a072d8515f28a09855432f92fcffa8c5f
(cherry picked from commit 3a4f242a3a6fd2f82dcc8306cde4d1cb107a5099)
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)
Some sentenses are only slightly different which is
unnecessary. Making them the same can save a
translation and also keep consistency.
Change-Id: Ie59c0bf788a31ee0c6a0d792af7b3d532fe34f75
(cherry picked from commit eb69195569518e3be61e5a8887ea317fbe3e7302)
Also change words for extruder clearance parameters.
Change-Id: I736fd9049d184c140b33078d78f764b4fe172765
(cherry picked from commit e70c0c0ea133cffa5788efbfc9633332b196e8df)
Towline may be even lower than the upper rod. Let's
take away 10mm tolerance.
Change-Id: I13972fc4ecb0671e1af4b2c6d102e319417e532f
(cherry picked from commit cedcb862556c8c9014a91ef2aad8f39fc118d925)
1. use strict ordering to ensure the printing order is right
2. reduce height-to-lid to 100mm considering towline is lower than lid
and may collid with objects
TODO: printing brim may still collide, need to subtract inflated boundary of
others during brim generation
Change-Id: Icf0cba10c579d28fabd97764c1b3abec267ebd9b
(cherry picked from commit 46c6f5ff94488b2f4481bf1d34555f4a7c45e135)
This may cause tall objects be printed before short ones. There are two
possible solutions:
1. do strict ordering only when y-overlap is large enough (the one
chosen in this commit)
2. when considering vertical collision with rod, the actual expansion
can be much smaller (because the rod is only slightly off extruder).
But this solution requires an extra parameter. Let's hold it for a
while.
Change-Id: Icc9a4796d49dad93cbcc20d4103e641a48886e5e
(cherry picked from commit 6a958b1fa9e58e4ca3be63b4918da77bcdc53314)
(cherry picked from commit ceff67789c27ea576afd663a2e5bae9a10241728)
1. Previous logic can't guarantee left-to-right printing order, so
toolhead may crash on the right side. In the new algorithm printing
order is guaranteed.
2. Clearance radius should be the max of 3 directions (left, bottom,
up), not including right, otherwise collision may happen on bottom or
up directions.
3. Add is_extrusion_cali_object property to handle extrusion brim
overlap better.
Change-Id: I44868b9925d983f5cca0c31d35dfa28d895fadbf
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
1. do not consider extrusion calibration region if no micro lidar on the
printer
2. do not inflate extrusion calibration region by brim width, just let
them overlap
Change-Id: I62228d85e8a55d40e22a6ae7f5f065f281936429
(cherry picked from commit 4c456e1f3e675a2ea1358d2983f85a95e58eb49c)
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)
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
1. unsupported sharp tails and large overhang have different messages
2. do not popup warning for total area (only warning for one single
large overhang)
Change-Id: I153e559915a92c6676468539cf619dafe915f997
(cherry picked from commit 67b593150f8de847d9b1999bf0d7a549eb1ef154)
1. fix sequential printing tall objects. Now the print order is not determined by auto-arrange,
so wee need to add a new rule: lower objects should not exceed height_to_rod.
2. sequential printing is better centered.
Change-Id: Ic320722654f0335d2589060fa14c71a5aaa3f571
0. disable arranging selected
1. fix bug where brim is not correct.
2. fix bug where big circle objects are not arranged properly
3. disable default enable_rotation
Change-Id: Ifc69f35d900ff63ec1e9ec8bf8638afc6ea7d54b
(cherry picked from commit 2ed1b0dd8573a1e10aaf77f0d9f8896cef304427)