Commit Graph
86 Commits
Author SHA1 Message Date
Arthur 2616479489 FIX: fix possible toolhead shake by adding 300ms delay
1. It seems there are a lot of buffered frames in IP CAM. Have to
   wait enough time untill all buffers are flushed.
2. From watermellon's suggestion, increase travel speed duing layer
   change, to save time and reduce oozing.

JIRA: STUDIO-2167
Change-Id: Ia2ec0bde216e90207897c00c395f7e02ea2fe342
(cherry picked from commit 9c85a7c68617b1628e1698912da20f1ebc69ec16)
2023-02-24 09:23:57 +08:00
Arthur a981d3ac2c ENH: reduce possible toolhead shake in smooth timelapse
It's not necessary to pause before photo-shooting, but after it.
Pausng by 50ms should be enough.

Jira: STUDIO-2167

Change-Id: I88ba5db1d6cce390ae5e26ac03533b0ee277b5bd
(cherry picked from commit ae34c0b9e875d1e52798a5359b0cce2151942fb8)
2023-02-22 20:09:17 +08:00
Arthur bf8f163b5a ENH: improve tree support and fix a bug
1. use tree slim's merge strategy in hybrid support
2. do not break bridge in hybrid support
3. fix "support on buildplate only" not working. The cause is: with
   independent support layer height, contact_nodes are not synced with
   object layers, so the previous way of accessing contact nodes in
   unsupported_branch_leaves no longer works. To fix that, we add
   obj_layer_nr.
   Jira: STUDIO-2250

Change-Id: Idfc9b0bb10425de6414f7eae2cf5467cedf1d669
(cherry picked from commit 8780d5a7e92e298cbbccbb3bd1825197d387a340)
2023-02-22 20:09:17 +08:00
Arthur 3a14acba99 FIX: support styles were not translated
Field labels are translated when being appended to combo box, so need to
add _ symbol.

Change-Id: Ib5207c4d357c3b9cd797264f872e2f6fb8859e6e
2023-02-22 20:09:17 +08:00
Arthur 92022bd809 ENH: translate "No layers" and others
Change-Id: I654490a5e4049dbeb61ef7499adfddfe94bcbcf6
2023-02-22 20:09:17 +08:00
Arthur 5cbea66058 ENH: add translation macro to "No layers"
Jira: STUDIO-1876

Change-Id: I7a6fdf64b27d2eb40346a0025fd9afe5944dd7b7
(cherry picked from commit 71f580b34434d1a6582a20429c38ea3f6d1875fd)
2023-02-22 20:09:17 +08:00
Arthur 088668994c FIX: bottom bridge was not correctly detected
A bottome surface is detected as stBottom only if:
 1. has support, top z distance=0 (soluble material), auto support
 2. for normal(auto), bridge_no_support is off
 3. for tree(auto), interface top layers=0, max bridge length=0, support_critical_regions_only=false (only in this way the bridge is fully supported)

 Note:
 Since now the surface type depends on more parameters, changing them will trigger re-slicing and making the whole process slower.

github issues: 1253

Change-Id: I0fe719e0dbf7147206008c8726dd9c7be2b19226
(cherry picked from commit d4490afa6b9e4fbb583033a125bbebb50dc5f0bb)
2023-02-22 20:09:17 +08:00
Arthur 59f7c4595c FIX: arranging multi-color objects not correct
Arranging multi-color objects with disabled
multi_materials_on_same_plate option was not currect.

Previously we only consider the first extruder id for multi-color
objects. Now we consider all extruders.

Jira: STUDIO-2164
Change-Id: If64ff4f88f0fe4f6c31ebf657b3449b19bf063f0
(cherry picked from commit f4f6bdd00a0c3d3e13406b69be9b5b0468b27d44)
2023-02-22 20:09:17 +08:00
Arthur 63222d50de FIX: unsupported cantilever was not warned
1. fix unsupported cantilever was not warned. We need to set support
  type to stTreeAuto in is_support_necessary() to fully utilize the
  power of feature detection.
2. fix tree support not generated on non-first plate.

Change-Id: I5b8aa827c9d62df0119db4e8e9212f33ce75ddaa
(cherry picked from commit 60f21b6fcb45fe56f7fc867a7fcad433282bc055)
2023-02-02 16:53:45 +08:00
Arthur Tang c07dcffe16 ENH: use print volume to clip tree support
So tree supports won't go outside the bed.

Known issue:
1. moving won't trigger support re-calculating, so if you want to
  clip the supports in a different way after moving, you need to change
  the support settings (eg change threshold angle to 31 degrees).
2. clipping with the occlusion region is not complete, and an error
  message of "outside toolpath" will still be popped because we use
  convex hull to detection confliction.

Jira: STUDIO-2036

Change-Id: I643b14618eb18ffa9825072c44f677e51b0ff937
(cherry picked from commit a6217824dc0f490027e16f80f810d176dec6004b)
2023-02-01 16:24:44 +08:00
Arthur 30bb96aa47 FIX: spiral mode couldn't be enabled
Support layers should be released in is_support_necessary.

Jira: STUDIO-2120
Change-Id: Id1c6fa2d8635e55be745095408dfbac38a25efa6
(cherry picked from commit f911e8d084c4fa273f8c9211112fa2f83515cfb1)
2023-02-01 16:24:44 +08:00
Arthur aa36d376ec ENH: translate "is too close to others" and so on
Jira: STUDIO-2020
Change-Id: I73a4cd47bafc32ff580b7970a37f808f78cffc3e
2023-02-01 16:24:44 +08:00
Arthur 81ee7bb99b ENH: improve is_support_necessary
Use tree support to detect if there are sharp tails and so on.

Jira: STUDIO-1898

Change-Id: I148e14ca4024849875133a646a8fdd36c265b2fb
(cherry picked from commit bc74015d45e96e409d34d611876e3a24e289e029)
2023-02-01 16:24:44 +08:00
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 18366df5d0 ENH: only allow setting height when cut plane is horizontal
Jira: STUDIO-1819
Change-Id: I04d258949cbf98a59f7313d714430f361bb2c4a9
(cherry picked from commit 2ffa8430b819cfffe20f4c7734125a3aabd33202)
2023-02-01 16:24:44 +08:00
Arthur 2800c97165 ENH: add gcode command for void printing detection
1. add gcode command for void printing detection
2. fix the issue that the toolhead is not at excess chute position when
  smooth timelapse ends, by adding 2s pause after M991 command.
  Jira: STUDIO-1996

Change-Id: I40cf16116e742744cea9bd90969e556a9ea2b2f1
(cherry picked from commit 2fbf7ffe6b1bd8850a76e229ff91750c689721b9)
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 9dd1cabef6 ENH: translate support setting suggestions
Change-Id: Iabaf85589cd99d3364edeb4c3f2847156657e05a
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 e7e26b4b1a FIX: fix typos
Change-Id: Iba3727626d9102aa6c87d336ee1d49bbfbb7c479
(cherry picked from commit bf58651fffb94f9aeb4e85ff6c8a7b9feb3cab83)
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 7596b3fed9 ENH: improve auto arranging and by-object printing
1. In auto arranging bed temp can be higher than vitrify temp by no more than 15 degrees.
2. In by-object printing we use max radius for clearance
3. Add P1P max radius

Change-Id: If595f3e19fd74f6f36d2f394edbb835c413cc800
(cherry picked from commit 2af42420ad3770f0728adb583082600544519a58)
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
Arthur Tang 9ca84ba948 FIX: sync with master on TreeSupport.hpp
Change-Id: I5a7eab9fcf1d46ac4a3748c66eb163fb5cc289da
2022-12-17 03:21:09 -05:00
Arthur a7ff17d99c FIX: add support type normal and tree in handle_legacy
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
2022-12-15 04:49:14 -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 3ad732bd93 ENH: translate "Slicing Canceled" and others
Change-Id: I034445d285a86e732abb9bd1dddd6cb5aabcead6
2022-12-15 04:38:15 -05:00
Arthur ab96238a69 FIX: timelapse type was wrong in end gcode
Change-Id: I4b73e74cebb36f540fd27c71584d4b4a4cff94e9
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 4419703f41 ENH: do not add L prefix to empty string
Change-Id: I0fc7f57baf256452645be497020d75ffaf9c20f4
2022-12-15 04:38:15 -05:00
Arthur fd3dee6a6d FIX: remove tree_support_with_infill in 3rd party profiles
Change-Id: Ie42a45b90ce14bc27308d66474db074e8bf380da
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 4eba8a2a2d FIX: auto-arrange may crash due to clipper
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)
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
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
Arthur 86631eab47 ENH: translate print options and so on
Change-Id: I23f2720442efb4491fe7854cc080f644a8bed414
2022-12-15 04:38:15 -05:00
Arthur f6fed97b9d FIX: auto-arrange unable to arrage a large number of small items
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)
2022-12-15 04:38:15 -05:00
Arthur 869b93e270 ENH: improve auto-arrange compactness around wipe tower
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)
2022-12-15 04:38:15 -05:00
Arthur 9f96c8adec FIX: auto-arrange ignores wipe tower due to supports
Wipe tower is needed if support base and interface use different materials.
Jira: STUDIO-1336

Change-Id: I006ece952aac1a0f0a57721c2cd1b52b2ceee28a
(cherry picked from commit 1a387e4b1607dee36f5abe499892f027e244fbeb)
2022-12-15 04:38:15 -05:00
Arthur b6a54103b8 ENH: translate normal(manual), tree(manual) and others
Change-Id: I3615da23d19c05bfcabb52bd808cb1f3dec702e8
2022-12-15 04:33:48 -05:00
Arthur a330429af7 ENH: change manual support names
Add (manual) to normal and tree for better understanding.

Change-Id: I6d39764a16510707912dfdeb80787d63a6e5ad96
(cherry picked from commit 46a0e9a1bb5da747f7d8c90a9235ae59ddf68bc4)
2022-12-15 04:33:48 -05:00
Arthur 7bdba58b98 ENH: save bed type in 3mf for first layer scan
Change-Id: Id3d83a58f0cca4899e3247b5854500af79cf1b34
(cherry picked from commit d192ae2d8c7d404048e980cfaa0846be48c5fbad)
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 5fa771c6cb ENH: improve auto-arrange in several ways
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)
2022-12-15 04:33:48 -05:00
Arthur b95959b8b2 ENH: translate several tooltips and daily tips
Change-Id: Icdb211d4ed199b781067cbf4abc7d835cde3d4c5
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
Arthur 867a5c982c ENH: modify some words to simplify translation
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)
2022-12-15 04:33:48 -05:00
Arthur cb34f5ef6a ENH: add translation for supports and others
Change-Id: Ic742519cf32fd21726302ace90649e8b695d125d
2022-11-07 19:59:23 +08:00
Arthur 8dd401d35f FIX: auto-arrange reads wrongs first_bed_temp
Also change words for extruder clearance parameters.

Change-Id: I736fd9049d184c140b33078d78f764b4fe172765
(cherry picked from commit e70c0c0ea133cffa5788efbfc9633332b196e8df)
2022-11-01 20:52:23 +08:00
Arthur 703f93d8e2 FIX: reduce height_to_lid to 90mm
Towline may be even lower than the upper rod. Let's
take away 10mm tolerance.

Change-Id: I13972fc4ecb0671e1af4b2c6d102e319417e532f
(cherry picked from commit cedcb862556c8c9014a91ef2aad8f39fc118d925)
2022-11-01 20:52:23 +08:00
Arthur f16f5afec5 FIX: 2 auto-arrange bugss with per-object printing
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)
2022-11-01 20:52:23 +08:00
Arthur c8c073a199 FIX: print ordering didn't consider object height
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)
2022-11-01 20:52:23 +08:00
Arthur Tang 5544e9602c FIX: rewrite per-object printing order logic
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
2022-11-01 20:52:23 +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 13b5e589cb ENH: reduce extruder_clearance_radius to 32
to improve per-object auto-arrange

Change-Id: I682c5405ef1aebdb3a9c32a0314e83bf9f116653
(cherry picked from commit 2c3d6b657694aa4826bb80526d160163bb673a33)
2022-10-20 19:34:37 +08:00
Arthur 74a76e026a ENH: improve extrusion calibration region in auto-arrange
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)
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
Arthur 8614d24932 FIX: nozzle_volume should not be array
Change-Id: Ib6de4bda64fb0a8620caf56c18f9fd6ac86f0171
2022-10-20 19:34:37 +08:00
Arthur efec8fef2f ENH: move extruder clearance settings to machine setting
Change-Id: Id6d550548f8fb8639349450a4b12c6eef4f441cd
(cherry picked from commit bd4420e4af9626772c90d553bf1f3bb7fd2e20c4)
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 92f1236128 FIX: height not synced when inputing cut movement
Change-Id: I0640f9a21e1d700806ade79e4e1637338aef963a
(cherry picked from commit 8bacb887da19a9bed6451d2aaa1ebc149c20359d)
2022-09-29 11:16:43 +08:00
Arthur 3d55647895 ENH: increase auto-arranging spacing to 5mm
Change-Id: Iebf4d31f2f869f11ddb6d9e903dfd446082802d1
2022-09-29 11:16:43 +08:00
Arthur 9edc90704a ENH: unify multi-object copy with single copy
Also adapt empty cell stride with object size plus 1mm.

Change-Id: I47ac98bede196d636ebb3da549c16e393756de0a
2022-09-29 11:16:43 +08:00
Arthur Tang cd315d0888 FIX: empty reference image of first layer
This is caused by the new layer 0 of custom extrusions.

Change-Id: Ie1fe5aac65f908b90a7505db6ae3deb279247007
2022-09-13 19:42:32 +08:00
Arthur e7c977f86b ENH: move first layer inspection before 2nd layer
So an object with a single layer won't do first layer inspection.

Change-Id: I43d8d41b64215b13573c517e6350f7feff5f2e33
2022-09-08 21:49:36 +08:00
Arthur b8846f675f ENH: do not change relative pos for multi object copy
Change-Id: Id54e119ebb72ca90989c13b221b9be72e4ac2f86
2022-09-08 21:49:36 +08:00
arthur 35d6e048ff FIX: auto-arrange fails in several cases
Jira: STUDIO-644, STUDIO-661

Change-Id: I3cd1fcd4e1fabf9a401c9fd536e8f55592775fbd
2022-09-02 12:52:18 +08:00
arthur 1e0301dbde FIX: fix slicing error of more than 1 empty first layers
Jira: STUDIO-656
Change-Id: I582e432ac14b823656780147ec585ae7a7499517
2022-09-02 12:52:18 +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
Arthur 4ef43af2dd ENH: popup different warning message for unsupported sharp tails
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)
2022-09-02 12:52:18 +08:00
Arthur 663df48a95 FIX: cut_to_parts+keep_lower crashes
Change-Id: I65eb51952a2062e6726e12e6cdb42f09f7816bc3
(cherry picked from commit cf9873717c756ddfe7e584ccb74f29763f529883)
2022-09-02 12:52:18 +08:00
Arthur d95e85851c FIX: auto-arrange fails for multi-color objects
The cost for switching extruders was too big.

Change-Id: Ic9de6b6aabb7e69db79a0201f0dbb9d039097df9
2022-08-26 09:25:59 +08:00
Arthur 06f878f13b FIX: auto-arrange may fail for sequentially printing tall objects
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
2022-08-26 09:25:59 +08:00
Arthur 3b6eb13357 FIX: change Timelapse without toolhead to Timelapse
Change-Id: Ic32a4a5280bbb5063dc5335463efee35edfbbd6a
(cherry picked from commit 05b4c91fb72d14753f223e9f141fcd21888b92a4)
2022-08-05 16:11:42 +08:00
Arthur 07ae246e5f ENH: disable arranging selected items
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)
2022-08-05 16:11:42 +08:00
Arthur ace3c2a231 FIX: auto arranging has stauts report
Jira: STUDIO-305

Change-Id: Ib13ccf4037cd1144177935c1184eaf203aa0eb7f
2022-07-25 22:43:21 +08:00