Commit Graph

591 Commits

Author SHA1 Message Date
zhimin.zeng 518cd4ce27 ENH: recover CutToParts for cut
Change-Id: I5d7fb089c5d2ea9d36fce3d70ec4da896d601940
(cherry picked from commit e0232b21ebf5a37bedee1c213d1c21890634c563)
2023-04-17 15:39:02 +08:00
zhimin.zeng b1041a5de8 FIX: Cutting a sphere, the parts need repaired
STUDIO-1192 & STUDIO-2505

Change-Id: I2ad1d1ef7c279a7307654ba453a0d8323316904e
(cherry picked from commit cb6d9ed2074763b4f7f92e45219d942317adf402)
2023-04-17 15:39:02 +08:00
zhimin.zeng 872a54303c FIX: generate a wipe tower when add filament
STUDIO-2538

Change-Id: I8cca134eb9302b2ff30252ef36ed8c24c834b22c
(cherry picked from commit aeb5408c9eee844970bbef94e49978568c1de541)
2023-04-17 15:39:02 +08:00
zhimin.zeng 8ebd6cfc9e FIX: the text gap is not correct. STUDIO-2518
Change-Id: I27dc8b62962ebe1aa2b4d54e50d68cf173eecd54
2023-04-17 15:39:02 +08:00
miaoxin d43c7d5c92 NEW: add gcode conflict checker
1. add gcode conflict checker
2. add a new command line option: --no_check. When it's provided, gcode
   conflict check is skipped.

Change-Id: I6feafca8c5fa6c3c5eae1f0e541ce59d2f03dedf
(cherry picked from commit 5a39afb64e826a960d9673dcada89d02d62b3911)
2023-04-17 15:39:02 +08:00
lane.wei 9e077b2e65 ENH: refine some logic when loading 3mf
1. old 3mf judge logic improvement
2. some 3mf doesn't include gcode and geometry, treat it as empty
   project

Change-Id: I9b3f3d04e32ae6ff273ec1ae04c04ac6329487f0
2023-04-17 15:39:02 +08:00
wintergua 0b1ccb8708 ENH: improve the efficiency of grouping volumes during brim generation
the processes are parallized via tbb
the patch 12311 ENH: remove trim_overlap should be used

Change-Id: I226dc171daadebd81b8d3ae013b08c71b91fb392
(cherry picked from commit eaa2e7997a59f43175d5af430269127471e40cbb)
2023-04-17 15:39:02 +08:00
zhimin.zeng 96d2882b8d FIX: wipe tower is not generate when insert custom gcode
Change-Id: I2e21955e4a29b0ee1aa3150f26ccef4db5850413
(cherry picked from commit 677151a26c9724993bad6d802015e76a700555f4)
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
Arthur Tang 617cb5490b ENH: tree support style default to Tree Hybrid
1. tree support style default to Tree Hybrid
2. fix an assert bug with MedialAxis::build:
    assert(polyline.width.size() == polyline.points.size() * 2 - 2)
  This is caused by the incorrect clear function of ThickPolyline.

Change-Id: I8d6507ad366d253493e2749e0cbac8d3d837ee8a
(cherry picked from commit bd31e962c11e82005944bef40b17471075e79898)
2023-04-17 15:39:02 +08:00
lane.wei d7364900dd ENH: log: reduce the status log level to reduce log under cli
Change-Id: I7ab839ce02c22fb48c32b52184649fb951efbe95
(cherry picked from commit 2f1f2bedaf5420ceda3d2f29b7e44a1cc863ccac)
2023-04-17 15:39:02 +08:00
manch1n 797c211203 ENH:allow more same color objects arrange together
Change-Id: I87a9de3c5ed540c87fdebfe4e69ffa539d78ce40

STUDIO-2462

STUDIO-2463
2023-04-17 15:39:02 +08:00
arthur.tang 6c489808a7 ENH: boost is_support_necessary's performance
1. Parallelize the majority of overhang detection, leaving only a small
part of sharp tail detection as sequential. This strategy makes
is_support_necessary 10 times faster.
2. Use the overlaps function to detect overlapping, instead of using
intersection().empty()
3. Control the max recursion depth to prevent crashing due to too deep
recursion.

Jira: STUDIO-2445, STUDIO-2458
Change-Id: I35283da3e4a22d7afe251b804ce30b90a9d754df
(cherry picked from commit 1a6fedd1a0c82906f1807234ea1b816247ca6fd7)
2023-04-17 15:39:02 +08:00
yifan.wu c582e64e0d FIX: remove trim_overlap to avoid perf issue in some cases
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: Id6f54b0421cfdd070971d69a2ed110b7b6430dee
2023-04-17 15:39:02 +08:00
salt.wei 0b126dbed6 ENH: fix the floating layer issue
Fix for floating layer under multi-color
printing while z_hop is zero.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I8cc96bd18020cac8424fe4c3e62fb87da118b826
2023-04-17 15:39:02 +08:00
zhimin.zeng c8729bec8f FIX: First layer nozzle temperature not working
STUDIO-2409

Change-Id: I4a31be809bbf677d0e029c6cdca6b21fd04d066a
2023-04-17 15:39:02 +08:00
zhimin.zeng dda90b1810 ENH: get start_gcode filament
Change-Id: Ia511f758d5c59ddc38c79f251e8c95511de4a235
2023-04-17 15:39:02 +08:00
zhimin.zeng 81daebb5a5 FIX: the first layer is not printed in the correct order
Change-Id: Ia8ad49417e6b59fa10b763cb0e207f5f79b9a4d2
2023-04-17 15:39:02 +08:00
zhimin.zeng cd4cddfca4 ENH: Cut optimization, support for custom connectors
Change-Id: I65163314374fb74f0b16df47dacae82caa6fab0d
(cherry picked from commit 7bacc2c2a89be471f6fee51dd07a42222a28b55a)
2023-04-17 15:39:02 +08:00
salt.wei 03e031fe5c ENH: fix hang issue for archimedean chords pattern
This is fix for STUDIO-2079 that slicer may hang
when generated archimedean chords pattern lines.
Thanks prusa.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I923c1ef48f093b2ab9576cb04beb4787c903ca00
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
qing.zhang 0cc953ad41 ENH: speed up one wall top generate
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I141565bea3ca4d3fbcc9569b175af5d4f5cdd40e
2023-04-17 15:39:02 +08:00
Arthur 246ff2653d ENH: improve bridge direction detection
Thanks to Prusa.
Jira: STUDIO-2453

Change-Id: Iadcc59df44d5abc552f5d558a500fd9bcd66d43f
(cherry picked from commit c19156fd037df4231f3e0cb1e9a899c9b7525372)
2023-04-17 15:39:02 +08:00
chunmao.guo 00a815e507 FIX: use ppath tag in main 3mf model
Change-Id: I9a91eaa80f4fe5640aec0c954b6b22b144a1812c
2023-04-17 15:39:02 +08:00
Arthur f227a8f8da FIX: sequential_print_clearance_valid may crash due to clipper's bug
offset may give empty results.

Jira: STUDIO-2452
Change-Id: I4da9689dc3e22afcb2340ce0f9956237e4aab434
(cherry picked from commit 3f33979a79c720fcaddb5b850ec278b3deaf2417)
2023-04-17 15:39:02 +08:00
salt.wei ad43a54e3d ENH: fix compiling issue
Don't know why this file is missing when cherry-pick...

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Iddfba50ef885fa08078bb9723a6ae2d5d5d0289d
2023-04-17 15:39:02 +08:00
lane.wei c65a5f8bf5 ENH: thumbnail: add top_view thumbnails and picking thumbnails
1. add top view thumbnail for each plate
2. add picking thumbnails for each plate
3. save model object id for picking

Change-Id: I1d7f6ade22726ff12c282cb12e4a78e6b444a070
2023-04-17 15:39:02 +08:00
chunmao.guo 89fc178dd0 FIX: [STUDIO-2425] default filament color
Change-Id: I85871885e5e6976e6479410a93a5f14ccd61a8cd
2023-04-17 15:39:02 +08:00
chunmao.guo 670114c1b3 FIX: [STUDIO-2289] impl processname on linux
Change-Id: I0acb5e002b5c945bb8ca6272ad95d602fde17cfb
2023-04-17 15:39:02 +08:00
salt.wei 0c00243cbf ENH: remove useless code
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I1dca5e366c2c681a4137c2187ecc7d59663e3b86
2023-04-17 15:39:02 +08:00
salt.wei 31f8034422 ENH: force to use . as decimal point
"std::cout << float number" is unsafe which
may use , as decimal point when switch language.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I8a379117168eab0111dc93987b1d6130a741ade6
2023-04-17 15:39:02 +08:00
salt.wei 1278cbf461 ENH: remove tbb simplify in gcode export
Useless after importing AABB tree.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Iaec9bef4a2a6bc4d097c6fd75720cb69d9cf314f
2023-04-17 15:39:02 +08:00
salt.wei 4c4b274408 ENH: speed gcode export up again
thanks prusa

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ifbe5e2ea55b16a7fe281b54ca16c37695c15f5b1
2023-04-17 15:39:02 +08:00
chunmao.guo c945c47383 FIX: [STUDIO-2150] export config not work
Change-Id: I05915a9dc5e767273e09ecdebaf5a679435c080f
2023-04-17 15:39:02 +08:00
chunmao.guo 68c9cb0a8c FIX: some config param range
Change-Id: Ia19f51e121bd1966e35efef1127d685b07ca676f
2023-04-17 15:39:02 +08:00
Stone Li 65db26a27d NEW: remember use options when printing
JIRA: STUDIO-2396

Change-Id: I21e6f91e3da53adf8dc28d9be223e03a4a275fca
Signed-off-by: Stone Li <stone.li@bambulab.com>
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
qing.zhang fdd659cefe ENH: speed up the wall generator process by using bounding box
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ifccbb33bc6df28136746f98020ef2cad002b5868
2023-04-17 15:39:02 +08:00
tao wang a86d94f2c9 NEW:update the content of the project page
Change-Id: Idb7f8a2564c78a1f062580f6b388ee033238cedf
2023-04-17 15:39:02 +08:00
MusangKing 4cb8b1e125 ENH: Re-open support independent layer height
Allow user to disable support independent layer height when prime tower closed.
Fix wrong WIKI link jumping.

JIRA: STUDIO-1685
JIRA: STUDIO-2308
Change-Id: I894fdd37b707c53e17fd4ad7d1518897f307e557
(cherry picked from commit e10d31e123306a0893087ea03693303768a2daf6)
2023-04-17 15:39:02 +08:00
wintergua ee3e8fc515 ENH: restore inner and outerinner brim modes
1) the function is not released to public

Change-Id: Ia1b5a31db3b1b1864997b57fe875c01f3ea9fb08
(cherry picked from commit a816cc313659f87978e1275b98f43172cb416a59)
2023-04-17 15:39:02 +08:00
zhimin.zeng ebaf87f033 FIX: The paint on the top surface is embedded in the sparse fill
Change-Id: I5e95bd22684d79413322fce2924fa4ff8f668c0e
2023-04-17 15:39:02 +08:00
salt.wei 8669291aad ENH: optimize speed of gcode export
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ic641352623f26c7241ae5720ad1baa202a1b00c7
2023-04-17 15:39:02 +08:00
wintergua 4c93d6e59d FIX: Brim may not generate with a large positive xy compensation value
studio-2344

Change-Id: I74e91ccae8465ab747f2ed7e95e3d2694238c407
(cherry picked from commit a076c0541e88c68b11cf3b91725da6f8421c405b)
2023-04-17 15:39:02 +08:00
lane.wei 662453f419 ENH: add the time limit and triangle limit for cli slicing
Change-Id: I80d6e58dca6648427dbe4cfbc01eabdedfa79f52
2023-04-17 15:39:02 +08:00
lane.wei 6fab32c98b ENH: backup: add logic to cleanup directory under cli
Change-Id: I7a846e362f45d1c7e34bef59be3b2c312799d0d2
2023-04-17 15:39:02 +08:00
salt.wei e094af7040 ENH: add PETG-CF type
Add new filament type before new filament preset.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I404880668a3cec566e0b35e38a6b467936f50bb7
2023-02-28 18:44:28 +08:00
qing.zhang 6a391de290 FIX: speed 0 on macOS 13.2 STUDIO-2265
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ia8d92f6a0f7d84c1216d9403793e5fa7671ee8de
2023-02-24 17:44:15 +08:00
chunmao.guo 06daf3bc45 FIX: [STUDIO-2323] force colors the same number as filaments
Change-Id: Ib57fccc0961cb680502aad6ef039c637cffe0f6b
2023-02-24 17:44:15 +08:00
chunmao.guo 25bcd9a517 FIX: update compatible after remove user presets
Change-Id: Ib989501429d4faf767bd59ea13a458b2367998ef
2023-02-24 17:44:15 +08:00
zhimin.zeng 0846c6b9fe FIX: re-slice when modify "top_shell_layers"
STUDIO-2293 re-slice when change top_shell_layers form 0 to other, or from other to 0.

Change-Id: I57545b9d84a618e9a37a8169111916af3e524898
2023-02-24 17:44:15 +08:00
wintergua 4abaad0244 FIX: typos in the tooltip of brim tpye
The tooltip of brim type contain messages of inner brim,
which is not enabled in the current version

Change-Id: I155a16cc4331cb0b5b54d29f6be1de6c82819e0c
(cherry picked from commit 1fe773438e1697b8a0b9817a885b13e7e4fae097)
2023-02-24 09:23:57 +08:00
zhimin.zeng 2fe0930777 FIX: Modify translation
Change-Id: I5c29e805dd8b93fbc3d8a59ef146e2fd16ce9ea0
2023-02-24 09:23:57 +08:00
zhimin.zeng 3e3728f0a7 FIX: add a warning for XY size compensation with multi-color
Change-Id: I11000600f49fc1b0a8869d09a69fb37167ded22a
2023-02-24 09:23:57 +08:00
zhimin.zeng e03f4ff67e FIX: enhance the path when change filament
If the three points are in a straight line, let the middle point coincide with the first point.

Change-Id: I32e5a1e1f5f217f9db9766d698590e758f334ca1
(cherry picked from commit d8771943bddf80e23dab5e9fa841acb7e24e873d)
2023-02-22 20:09:17 +08:00
zhimin.zeng 1041b8b026 NEW: Support attaching 3D text to a surface
Change-Id: I13f234cf5f189b594a6277d623dfa9dee489d19f
(cherry picked from commit 88ec90226aecb8203c105569a613d33c68a0602b)
2023-02-22 20:09:17 +08:00
qing.zhang 350adb6176 FIX: revert "FIX: fix adjust of cooling time"
This reverts commit 9e026a289542545d5f63cd72fb9416be1521ecc2.

This Revert "ENH: STUDIO-2221 adjust cooling time for each layer"

This reverts commit eb1fa5975eb7dc3ff832539e9bec5a04515ff2f9.

Change-Id: Iba8d0a1492b81922aad0d64df81c74cff5eabbb3
2023-02-22 20:09:17 +08:00
tao.jin f5e8d70989 FIX: cancel loading .step without warning
Change-Id: I5274b744c223fbd92dbca669f3d57c01b5558f88
2023-02-22 20:09:17 +08:00
MusangKing 1d92895456 FIX: withdraw support enforcers on vertical faces
JIRA: studio-2274

Now support enforcer on vertical faces function is invalid. Previous
enhancement of support enforcer on vertical faces brounght more conficts
than benefits.

Change-Id: Icbb0df3995d8ac8b3c22dda1bd4615da78af963b
(cherry picked from commit bca003cbc35791838484afe4032276be8fa91db0)
2023-02-22 20:09:17 +08:00
lane.wei 0a730e9c2e FIX: return true instead of false to represent success
Change-Id: Ib4bf8b5f5db50cfa98d578dad763174ec6d8ad4d
(cherry picked from commit bd7890c32e9bee9cc2316f11c5964a592d58c2d2)
2023-02-22 20:09:17 +08:00
tao.jin 240d106d58 NEW: check privacy update
Change-Id: I260fbc20cdddbdadd38f1470a2e7050ee1ed14cd
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-02-22 20:09:17 +08:00
lane.wei 385854ff2a ENH: refine the logic of shared mesh
when the original shared_mesh can not be found
we will insert the first one as shared

Change-Id: Iea2f505584fcc8fc1f9bbd3882209b042b007a92
2023-02-22 20:09:17 +08:00
salt.wei 10432abf27 ENH: generate placeholder of first non-support filament
This placeholder will be used by start gcode
to avoid calibrate support filament which is
the first filament.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I7c8d206346bf3d3a5325c06abb24c58834f7f505
2023-02-22 20:09:17 +08:00
lane.wei 945d43c8b8 ENH: change the log level of 3mf writing
use a wrong level previously

Change-Id: I8e0269b893b029a3eea72999ffe05006b5c5e4c7
(cherry picked from commit 0a7a6bb49fbf496870ac7f6c3b4d0e84280cfecd)
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
lane.wei 5df5cb9ff4 FIX: smooth_nodes may crash due to broken parent-child chain
Change-Id: I770df691b41c6f18a0cb97e49e9e2251afe02e1a
(cherry picked from commit 2b5cdf0337fff277f7b949da568d6cdaa28a0d35)
2023-02-22 20:09:17 +08:00
chunmao.guo 5c61c834b0 FIX: [STUDIO-2207] update_compatible on load user presets
Change-Id: Id410c9e0ec68031c0517285daf8a24b998ba2eda
2023-02-22 20:09:17 +08:00
liz.li e7ea07944f ENH: custom gcode info should be owned by every plate
Change-Id: I5e5b000b7d04354d3c3cc311d089cb591a37501e
2023-02-22 20:09:17 +08:00
tao.jin 688084c475 NEW: add print sequence setting to plate
Change-Id: Ic4acb68743442a49dee04702e7a8073b6641bc39
2023-02-22 20:09:17 +08:00
lane.wei a2431d7965 ENH: add logic to convert hybrid(auto) to tree(auto) for old 3mf
Change-Id: Id35e28b295be0a4b4398b438d5e6237e05f387e5
2023-02-22 20:09:17 +08:00
lane.wei 9dceb42ba3 ENH: validate the config from 3mf and give some hints when there are errors
Change-Id: Ic25e5426e4e85a35a6a2413109f47b653955ec78
2023-02-22 20:09:17 +08:00
qing.zhang 0b0a1a3d48 FIX: fix adjust of cooling time
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I5eae0ed7e53fddb18c99f510373ba5a687fd2c8e
2023-02-22 20:09:17 +08:00
qing.zhang 4b86b978d1 ENH: STUDIO-2221 adjust cooling time for each layer
sub filament change time from layer time to adjust
layer speed

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I2f1c41a36946765b74ecad58ce102abe98e00dac
2023-02-22 20:09:17 +08:00
salt.wei 209c50f50d ENH: fix for collision when print by object of multi color
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I3d8b285dedb13ecbb5df38d46293680d9a0c1a61
2023-02-22 20:09:17 +08:00
qing.zhang e69c0ed7f6 ENH: STUDIO-2113 fix spiral lift in crossing wall mode
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I73f0d7fd6679d4e9645de4e7212e1b364cb7ea31
2023-02-22 20:09:17 +08:00
wintergua 4536ed9ae2 FIX: brim generation error in XY compensation and first layer fixing
now, when XY compensation with negative value is assigned, the brim can be
generated correctly (Studio-2222). In addition, one can add brim to a model whose
first layer is empty while second layer is not empty (studio-1286).

Change-Id: I28443dc6e28bc6fff8c92d3cc35ab7a416d43138
(cherry picked from commit cb62afcfd295ca93962d99350d1dfaf3441c4759)
2023-02-22 20:09:17 +08:00
chunmao.guo cbb84d2fb6 ENH: support filament_z_hop_types
Support override z top type in filament

This is handling for STUDIO-2082

Change-Id: I885d1d5e44d626e28b260ff569d0359e462a5f8d
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
liz.li b3c4447191 FIX: spiral vase mode layer number
Change-Id: Iac96f790e4030d2eac5666517d37919926cd85c3
2023-02-22 20:09:17 +08:00
qing.zhang a726628657 ENH: cut travel before wipe
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I3b5dfc19c601e0cd72a4fd7fe320791f1d10c87b
2023-02-22 20:09:17 +08:00
salt.wei df84229adb ENH: promote the precision when transfer step to mesh
Previous precision is not enough, and some mesh is not
of good quality.

This is handling for github issue #825

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I68901b41c1a3279c61678dbbcc93c887020f18a7
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
chunmao.guo d0f2f0b28d FIX: [STUDIO-2183] presets/filaments unorderd in BambuStudio.conf
Change-Id: I3a286c356cc23f970462e6f24d99b4b038e321e7
2023-02-22 20:09:17 +08:00
chunmao.guo 881e25e2a2 FIX: [STUDIO-2150] not save remain configs on no-to-all
Change-Id: I7174a0639599919e43c9110016911db179178d7c
2023-02-22 20:09:17 +08:00
chunmao.guo b3a4384aec ENH: save ams list to compare with last sync
Change-Id: I44db0b0a61cf366929aed6ab703407e5d9b170b7
2023-02-22 20:09:17 +08:00
qing.zhang 8e50744d2a ENH: add ANYCUIC profile which based on SoftFever
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I85fc64a25dbb761377c63574b3d3ec10fda9dfd6
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
zhimin.zeng 8887bc3af9 FIX: Incorrect results for multi-color object slicing
Change-Id: Ia2f96d3afb128faa72b6872bcbe2914ddcbe71fe
2023-02-02 12:14:41 +08:00
zhimin.zeng 217234c8d3 FIX: Support Filament is being "Flush into objects' infill"
When using "Flush into objects' infill" with support filament, it also get's flushed into the object's infill which shouldn't be happening.

Change-Id: I0f1cb3d5ee3cf5489ccab957989c6c24336f8845
(cherry picked from commit f83e63feb3ad5a14b0f4304e2e6fb1c5828270ec)
2023-02-02 12:14:41 +08:00
zhimin.zeng c0ee8d4f0f FIX: remove duplicate flush_volumes
Change-Id: I86e3cc1ccd997e5c61915052e70c426bead289b1
(cherry picked from commit 1a615790fe0ac39d9ce0776079c34cf7f2c6217b)
2023-02-02 12:14:41 +08:00
Joshua Wise 040af5fa98 slic3r: address sanitizer cleanup in TreeSupport::generate_contact_points
In generate_contact_points, the rotated_dims don't actually generate a
Point, but generate an abstract expression that holds a reference to
bounding_box_size.  Unfortunately, this goes wrong because bounding_box_size
ages out instantly; GCC's Address Sanitizer complains that this is a
"stack-use-after-scope" issue.

Interestingly, the Eigen documentation says that this is a known problem
with using C++11 "auto" to generate matrices (which a Point is)!  It is
buried here: https://eigen.tuxfamily.org/dox/TopicPitfalls.html

This is probably an extremely theoretical correctness improvement, and also
an extremely theoretical performance improvement.  But it is an improvement
nonetheless, and, more importantly, it enables me to continue to run the
slicer with Address Sanitizer turned on to find other potential issues.
2023-02-01 16:24:44 +08:00
lane.wei 64173b3fa3 FIX: fix the duplicate model issue after open recent project in some corner cases
github issue-1185

Change-Id: I3be5be473cfe7328c4781b1533093cd860e64387
2023-02-01 16:24:44 +08:00
lane.wei 7102a1e235 FIX: fix the slicing result different issue
when move volume in objects copied from other object
the result is not correct

Change-Id: Ieebc586f11c42429902d653e871c038d096783e8
2023-02-01 16:24:44 +08:00
MusangKing 92f594ea4a FIX: support blocker not work on vertical+horizontal faces
Jira: STUDIO-2088

Change-Id: I6803e8e90ebcc4c67d81473f60fdf97929011e12
(cherry picked from commit 738800c5af48ab8a2cde40b6f2b3c48a88bfee8b)
2023-02-01 16:24:44 +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
qing.zhang 3d378563b5 ENH: modify start gcode
fix the text errot of density of PolyTerra
z_hop_type change to auto

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I7f59d2620b42d2f2092ebb4c01ac3a5455c40a4f
2023-02-01 16:24:44 +08:00
qing.zhang 6ea24dfd89 ENH: open skirt height
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ie709c2f2987a7c351e03cb1e3c5a06817f43df19
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
salt.wei 431eabd464 ENH: use gcode processer to get precise layer number
Using layer z to calculate total layer number is not
precision, because for some models with sharp top
layer, the top layer may be empty.

Check the final layer change in final gcode file.
This must be same with total layer number.

Jira: Studio-2123

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I5d001a8bb9548c3fb5f67fda966051ac3bb16502
2023-02-01 16:24:44 +08:00
salt.wei 7dcb5c0e64 ENH: layer height 5.99999 should be same with 6.0
Merge numerically very close Z values when calculate
total layer number

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I4e60ca69fe5b06b66283d6a763d0b231c3d11b5a
2023-02-01 16:24:44 +08:00
Stone Li b1fbdaf61c NEW: pass design info to PrintJob
Change-Id: Ic24462324b389e20647620366a5fe2b53bb4c1ce
Signed-off-by: Stone Li <stone.li@bambulab.com>
2023-02-01 16:24:44 +08:00
yifan.wu d833ab1546 ENH: remove redundant log
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: Id18e366e05ca49740b781ccb5e5f88af61debf56
(cherry picked from commit 269e617faa20f47b2e27e9c24376c7c9c04e0cd0)
2023-02-01 16:24:44 +08:00
salt.wei 170a24a43f ENH: show travel time in gcode viewer
Seperate travel time from extrusion role time and
show it seperately.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Icf0aaf63c4d4ed7d1407037e5ae051d61938f973
2023-02-01 16:24:44 +08:00
qing.zhang db873eb99b ENH: inner-out-inner wal seq
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Idd2205f2b72a8f471927c9e3a38415013548f09e
2023-02-01 16:24:44 +08:00
zhimin.zeng 1015b7bca9 ENH: enhance the travel path of change filament
Change-Id: I720b833fc203f7ece63487e00290f4d91423c9f9
(cherry picked from commit 55e5fd8df1576d2b9252b2bd9e3e494db76218bf)
2023-02-01 16:24:44 +08:00
zhimin.zeng a52e423416 FIX: crush when slicer multi-color model
the root cause is a mismatch between the dimensions of flush matrix and the number of extruders

Change-Id: I3a4ca706cb24d9e5d33969b9e6f5b288e71bb8f2
(cherry picked from commit 7399037eaacdfd7d8407667a2e5a097757265254)
2023-02-01 16:24:44 +08:00
salt.wei 9828101fa8 ENH: total layer number is wrong when enable support
This is fix for jira 2061

Layer height is double and may has small difference, which
influence total layer number when support is enabled.

Should use int data and consider EPSION when calculate total
layer number.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I1bb6c89f2afd162d2d7e7dcff4a9d6a00b94dab3
2023-02-01 16:24:44 +08:00
四季奶青七分甜 b7b9029548 fix: Revert "ENH: avoid overhang area when set the seam position"
This reverts commit 1e95803df3733021e80241ecf7b88976708f0cf7.

Reason for revert: some model test not good, need to update curve function

Change-Id: I6afd6115d21198f60453d4f507905b6684a65cff
2023-02-01 16:24:44 +08:00
salt.wei 4a3a4645f0 ENH: fix issue that sommetimes no wipe path is generated
This is handling for github issue #1072

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I253be46b07054eb69ddbad3889e31dfca57b2a52
2023-02-01 16:24:44 +08:00
qing.zhang c56d0d8041 ENH:limit max nozzle diameter
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Id87a83f1ad5d6d0033bd25eb456dd1204320ae80
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
salt.wei 43ba4b0712 ENH: fix the issue about forcing cooling of pa-cf
For pa-cf, the default setting of cooling is
forcing cooling for all outer wall.

And internal tester found that the slowing down by
layer time does not work for outer wall under
this situation.

This is fix for this issue.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I05aaa16d246f5ea6dc1ae9808050e1281646e184
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
SoftFever 9b3ed8e4e6 fix crashes when switch timelapse and vase mode
Signed-off-by: SoftFever <softfeverever@gmail.com>
2023-01-28 16:14:15 +08:00
salt.wei 70a0f09ea2 ENH: disable clipper2 in perimeter generator
Clipper2 doesn't solve wrong line issue for some
specific model and sometimes has performance issue.

Return to clipper1.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I906f8b81083ac8c03ecc9fe3e8d2ade20be95c04
2023-01-10 19:08:26 +08:00
salt.wei ba064d44a1 fix: revert "ENH: aligned the z-seam"
This reverts commit 2d0805d4aabbc4e8f25aa93c8f01870c256a0b17.
2023-01-10 19:08:26 +08:00
salt.wei b13928b615 fix: revert "FIX: fix the out range of array of seam algining"
This reverts commit f100c10fa8aa0460d3ff11723c6a2504b6b69bba.

Change-Id: Ice36f6f41d5a50a7244d8f09960876d9539802d8
2023-01-10 19:08:26 +08:00
qing.zhang d42d6bec87 FIX: fix the out range of array of seam algining
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I655e7a0a5cdac6c05ddd8a6c7f38e1f97a7d0f96
2023-01-10 19:08:26 +08:00
chunmao.guo ae959b7400 ENH: [STUDIO-1871] merge changes of user presets from other sessions
Change-Id: I2841ff4e23b18ebe7cdf374b69a494a4c05a49ee
2023-01-10 19:08:26 +08:00
chunmao.guo a4cf284c3d ENH: adjust user preset handling
1. async fetch user presets from server (in thread)
2. always load default user presets
3. load user presets from cache immediately
4. not remove user presets cache
5. hide some loading ui

Change-Id: I1d29ed18e09606d0b2f69a69eea2eb5042c26223
2023-01-10 19:08:26 +08:00
qing.zhang ad6257ca84 ENH: aligned the z-seam
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I60e1a046fb236d588a5e83b602fabd39580228fb
2023-01-10 19:08:26 +08:00
qing.zhang 3a6f033794 ENH: avoid overhang area when set the seam position
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I58eb8c091b68b8c64f44d21db88d2f9155e42e42
2023-01-10 19:08:26 +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
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