Commit Graph

367 Commits

Author SHA1 Message Date
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
salt.wei de6ba75f40 ENH: add layer progress into gcode file
As title

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I7b083e15e0f9030d7822494c4d6fc9cc72335ec2
2023-01-10 19:08:26 +08:00
SoftFever 357fa2bfe1 refactor and improve layer time display 2023-01-10 19:08:26 +08:00
SoftFever f42ae3239e Add Layer Time/Layer time(Log).
Main logic is ported from SuperSlicer

Signed-off-by: SoftFever <103989404+SoftFever@users.noreply.github.com>
2023-01-10 19:08:26 +08:00
Stone Li 9bc46daf40 ENH: optimize the copy description format
remove "\n" from _L macro

Change-Id: If1beda4a77f1c2b42945657b7386e155b8bc7a20
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-01-10 19:08:26 +08:00
salt.wei ebaae57b01 ENH: disable slow down for overhang when fuzzy skin is used
When fuzzy skin is used, it's unmeaning to calculate
the overhang degree of extrusion line, because there
are a lot of random fuzzy point which change the line.

Disable in this case. This can also speed slicing up
when fuzzy skin is used.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ia65e20e24fd7a5cd224635fd69a272387135ba12
2023-01-10 19:08:26 +08:00
wintergua 49eb40b711 FIX: brim croping in mulit-plate case
Brim will be croped to ensure it does not exceed the bed area. However,
plate offsets are not considered and thus the croping does not work in
multi-plate cases. This can be fixed by this patch.

Change-Id: Iffcce6cba23a82de1fdd9fffe8c48c4e303e9e15
(cherry picked from commit 9c53fb12153cc8a31448ae4a670171c495243dae)
2023-01-10 19:08:26 +08:00
salt.wei 4b63bf453c ENH: fix z hop error issue
This is fix for z hop issue that z hop of
layer change is always spiral list even when set
to normal lift

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I7b235a640b0538bedfe4cef61ca24108c1ba7246
2023-01-10 19:08:26 +08:00
yifan.wu 5d9bb61f8e ENH: use spiral lift only when it is needed
If a travel path goes through an overhang expolygons, and their distance
is shorter than threshold, lift type will be set to SpiralLift.

Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: I345788711755dd8611ecf385818e6052cd8abe9e
2023-01-10 19:08:26 +08:00
Stone Li a163d4fa02 NEW: add build time in about dialog
Change-Id: Ibb27223568f19f39ec57c01af23376c325d3972b
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-01-10 19:08:26 +08:00
zhimin.zeng 93b1a335d2 ENH: allow generate wipe tower when print ByObject
allow generate wipe tower when print ByObject if there is only one object

Change-Id: I199e9cab7bd7c963edf58e829c663bb91c12f4f8
(cherry picked from commit 7153c30800022f3afb9811c67f88ba28c9b25d20)
2023-01-10 19:08:26 +08:00
zhimin.zeng 1c5c9bd3d2 ENH: support text modify
Change-Id: Ide5a3c7df5f3ea4395821a65807d79b459f3e46e
(cherry picked from commit 55de44d4c80c545de14466aa039a7b0ac144f395)
2023-01-10 19:08:26 +08:00
lane.wei f0908f2a63 FIX: repair: fix the state not correct issue after repair
Change-Id: Ic4aaeaeeee921294e0a5ab6d82517dc28f8822c8
2023-01-10 19:08:26 +08:00
qing.zhang 9fcb67e6c7 FIX: add plate offset of placeholder
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Id16559e112b6db2759b95f97465d49ab85206e83
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
qing.zhang c4ec0ddae9 ENH: put the seam on invisible line of modifier
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ib16de93b26e96902ce2e0d844b78d0cc680638a4
2023-01-10 19:08:26 +08:00
zhimin.zeng a6e3d63576 FIX: a part with new color change to negative part
even though there is only one color, the wipe tower is still exist

Change-Id: I5c68a4ca7239cfc74aba452a6588d74f6d622f47
(cherry picked from commit 032c2e6718c65aa4c5b18eecd0ccce27f3f489bb)
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
zhimin.zeng 4284d2ddb0 ENH: generate wipe tower when custom change gcode filament
Change-Id: Ia0c81453f09457a9d1d56fbcdce79112953c0208
2023-01-10 19:08:26 +08:00
salt.wei 030d97bf78 ENH: optimize area of top surface
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ia3d1be6ad3b9f55ee1acda14d0be955055f6dfcb
(cherry picked from commit 448fd3043950613a4d91df256fa9ee52a57fcaca)
2023-01-10 19:08:26 +08:00
salt.wei 9f4a54d280 ENH: don't generate detour travel when position is unclear
Detour travel is wrong in multi color printing when
current position is unclear.

Don't generate detour travel in this case to avoid
colour mixture.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I2d24b04d99b8a0b34a46c9f88e522e97cb0fe354
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
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
Arthur Tang 9ca84ba948 FIX: sync with master on TreeSupport.hpp
Change-Id: I5a7eab9fcf1d46ac4a3748c66eb163fb5cc289da
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
Zhaofeng Li 0c83c2884b 3mf: Correctly include expat.h 2022-12-16 22:51:07 -05:00
Zhaofeng Li 9b1429144b GCodeProcessor: Add missing mutex include 2022-12-16 22:51:07 -05:00
Zhaofeng Li 99043bbb02 Add missing includes for boost::filesystem::load_string_file
Deprecated in Boost 1.79.0 and no longer included by
filesystem.hpp.
2022-12-16 22:51:07 -05:00
Zhaofeng Li f4f871c906 Use fstream from boost::nowide
Fixes build on Boost 1.79.0.
2022-12-16 22:51:07 -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
miaoxin f84402bc0e FIX: dont arrange when bed temp is greater than object's vitrify temp
Add large cost when bed temp is greater than object's vitrify temp
STUDIO-1623
Change-Id: Ib73d312fce7b80999f11d1f6c172a9c1575937b4
(cherry picked from commit aed896d44776c9cd2fd55202420a3811bc117896)
2022-12-15 04:38:15 -05:00
yifan.wu f438c2dfcb ENH: remove bbs namespace in 3mf
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: Ib9db7bbfb8ebb9c1b29b50f5743c927250f58bef
(cherry picked from commit d7a131b97c72c01b8fc256e179309cfde4f1f8b4)
2022-12-15 04:38:15 -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
chunmao.guo dcb105c605 FIX: update po/mo
Change-Id: Ib2234356f9a17eec4f26791327151dde64f4e4bb
2022-12-15 04:38:15 -05:00
liz.li 110d81f6f7 ENH: font preview
Change-Id: I8151036cedcba9c57183414a9d134741bb2166a5
Signed-off-by: Stone Li <stone.li@bambulab.com>
2022-12-15 04:38:15 -05:00
shuai.liu ccd333e248 FIX: Fix the benchy orientation bug
[STUDIO-1717]:
1. Add area filter during finding the orientation vectors.
The vector with largest area will be selected.
2. Area_accumulation function return the accurate normals.

Change-Id: I917e29a0def4904a82d30cf0a92524bbb0da14c1
(cherry picked from commit a79cf2fa89c7247cab37ebd36974529df79f0990)
2022-12-15 04:38:15 -05:00
lane.wei 545fdbf96b ENH: remove 'repair' from cli which is not supported
Change-Id: I9ef1ef2e9971643ce9367e5ebf4417eb5c599c80
2022-12-15 04:38:15 -05:00
yifan.wu 56e6ecaa95 ENH: refine the tips of support filament
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: Ieaf17127612d7186590f52dbf060b3eefe3b09e3
2022-12-15 04:38:15 -05:00
‘shuai.liu’ 24160244b7 FIX: The flat plate orientation bug
[STUDIO-1676]:Auto-orientation not OK but manually OK.
When accumulating overhang, the bottom condition should select 0.5* layer
height rather than previous 1 * layer height.

Change-Id: Ide96817b8f98827388b7cb73ca33518b3ff25235
(cherry picked from commit 9f90151236340d3a10790112be65c816dcc3ae30)
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
lane.wei f2aaddebb8 FIX: fix the assemble view display issue when enter firstly
Change-Id: Idf432df9d3bb8eef1d57b08b6d345bc1867fe955
2022-12-15 04:38:15 -05:00
chunmao.guo 41b1ad6f2f ENH: [STUDIO-1608] select support filament by combobox
Change-Id: I26543530202a53ef5753c38404617458a6d4a1ef
2022-12-15 04:38:15 -05:00