59 Commits

Author SHA1 Message Date
Ioannis Giannakas
cf846195cc
Porting of Pressure Equalizer feature from Prusa Slicer 2.6.x (#2161)
* Overhang perimeter handling

Updated code to handle overhang perimeters as an overhang and not as a bridge.

* Preparing to add curled extrusions identification

* Porting curling calculations from Prusa Slier 2.6.1

* Prototype 1 - slowdown extended to detect curled edges and further reduce speed

First prototype of the code submitted.

* Working prototype - 2

Code is now finally working - external perimeters are slowed down as needed when there is likelyhood of curling up.

ToDo:
1. Reslicing the model causes the algorithm not to run - need to find where this fails to trigger the call for this.
2. Slowdown of internal perimeters not working yet.

* Updated to use overhang wall speed instead of bridging speed for this algorithm

* Fixed bug in speed calculation and tweaked parameters for high speed printer

Fixed bug in speed calculation and tweaked parameters for high speed printer

* Attempting to fix "set started" not being set

* Parameter tweak after print tests

* Fixed estimation not running when model is re-sliced.

* Removing debug printf statements and fixed threading flag.

* Fixed threading

* Parameter tweaks following print tests

* Made this as an option in the GUI

* Reintroduced handling of bridges as per original design

* UI line toggling when option makes sense to be visible.

* Fixed bug in field visibility & made it default to off

* Code optimisation

* Initial commit of code from Prusa Slicer 2.6.1

* Ported ExtrusionRole from Prusa Slicer 2.6.1

* fix compile errors

* Update GCode.hpp

* code changes to invoke pressure equalizer

* attempting to trigger pressure equalizer

(Not compiling)

* Update Fill.cpp

* Update Fill.cpp

* Pressure equaliser layer result update

* Further commits

* Merged PR https://github.com/prusa3d/PrusaSlicer/pull/9622

* First complete working version

* Update PressureEqualizer.cpp

* Implemented parameter in GUI

* Toggle fields according to compatibility

* Updated UI toggles between extrusion rate slope and arc fitting.

* Updated tooltip

* Introduced parameter smoothing segment length

This parameter influences the number of division a line will undergo in response to the requirement to adhere to the extrusion rate flow adjustment.

* Internal parameter and tool tip tweaking

* Parameter and tool tip tweaking

* Updated parameters and tooltip following testing.

* Sync PressureEq with latest PrusaSlicer

* Revert "Sync PressureEq with latest PrusaSlicer"

This reverts commit 131fb94c6bebe0a6abb3ca28d4a162aacbe75f40.

---------

Co-authored-by: MGunlogson <MGunlogson@users.noreply.github.com>
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
2023-09-27 21:44:45 +08:00
Noisyfox
7ef43f6849
Various support improvements and bugfixes (#2202)
* Organic supports: Added check for variable layer height, with which
Organic supports are not compatible.
Fixes prusa3d/PrusaSlicer#9528 and similar.
Check the object max Z against build volume Z in Print::validate().

Cherry-picked from prusa3d/PrusaSlicer@5b94971

* Fix crash with default tree support

* Show "support_critical_regions_only" only when using auto normal tree supports (#2195)

* Fix organic tree check

---------

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
2023-09-24 22:58:04 +08:00
igiannakas
61437b2c76
Detection of curled edges to enhance slowdown for overhangs algorithm (#2056)
* Overhang perimeter handling

Updated code to handle overhang perimeters as an overhang and not as a bridge.

* Preparing to add curled extrusions identification

* Porting curling calculations from Prusa Slier 2.6.1

* Prototype 1 - slowdown extended to detect curled edges and further reduce speed

First prototype of the code submitted.

* Working prototype - 2

Code is now finally working - external perimeters are slowed down as needed when there is likelyhood of curling up.

ToDo:
1. Reslicing the model causes the algorithm not to run - need to find where this fails to trigger the call for this.
2. Slowdown of internal perimeters not working yet.

* Updated to use overhang wall speed instead of bridging speed for this algorithm

* Fixed bug in speed calculation and tweaked parameters for high speed printer

Fixed bug in speed calculation and tweaked parameters for high speed printer

* Attempting to fix "set started" not being set

* Parameter tweak after print tests

* Fixed estimation not running when model is re-sliced.

* Removing debug printf statements and fixed threading flag.

* Fixed threading

* Parameter tweaks following print tests

* Made this as an option in the GUI

* Reintroduced handling of bridges as per original design

* UI line toggling when option makes sense to be visible.

* Fixed bug in field visibility & made it default to off

* Code optimisation

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2023-09-16 22:24:18 +08:00
SoftFever
e6269dd852 tweak default organic tree settings. 2023-09-13 20:10:33 +08:00
SoftFever
e624632969 semm 2023-09-09 13:19:59 +08:00
SoftFever
6ff9ff03db wip 2023-09-09 13:19:43 +08:00
xxxcq
9e0dbd91ff
Add option to enforce first layer min wall width (#1974)
Add option to set first layer min wall width
2023-09-04 00:07:40 +08:00
Noisyfox
1fdfc2fa45
Fix raft size when non-organic tree support is enabled (#1973) 2023-09-03 00:43:28 +08:00
Noisyfox
a1464735ce
Initial port of organic tree support from PrusaSlicer (#1938)
* Initial port of organic tree support from PrusaSlicer

* Port missing Organic support parameters from PrusaSlicer

* Update parameter naming

* Reorganize the `raft_first_layer_expansion` and `raft_first_layer_density` parameters as they are not only used by rafts

* Reset support style only in simple mode

* Sync latest update from PrusaSlicer & copyrights

* Fix organic tree support crash with invalid parameters

---------

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
2023-09-02 17:29:43 +08:00
Noisyfox
b9ca1c8720
Port overhang extra perimeters from PrusaSlicer (#1939)
* Port overhang extra perimeters from PrusaSlicer

* Reduce duplicated code

* Add credits

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
Co-authored-by: PavelMikus <pavel.mikus.mail@seznam.cz>
2023-08-28 19:56:09 +08:00
SoftFever
2a478ab4f9 post changes after merging BS1.7.4
Remove tracking etc..
2023-08-26 18:45:43 +08:00
qing.zhang
0aa638c729 ENH: top one wall for arachne
split to 3 mode
not apply
all top surface
topmost surface

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Id9bb1a6ded7414b2f093ac01e4ecb4b93057d022
2023-08-04 18:15:25 +08:00
Arthur
44fdfe8fff FIX: tree(manual) didn't support well
1. We have a logic to add supports at corners for tree(auto), now I extend
it to tree(manual) also.
2. Only show support_critical_regions_only option to tree(auto).

Github: #2008
Change-Id: I161444da93464fd2ef0e0f3b40a0c5852beba351
(cherry picked from commit af4efb4aadc2a4d16de3eea881c6610955985fff)
2023-07-31 14:29:15 +08:00
manch1n
19525b6564 FIX: let independent support layer height option show all time.
STUDIO-3703

Change-Id: Ib67f9a9894cca8cb391bcceae087f026c0060f4d
(cherry picked from commit 6c4bdcf1b7dbf8f55ec7bf5186ba3ccdde75e611)
2023-07-31 14:29:15 +08:00
salt.wei
2fe7629388 ENH: normalize comment from OrcaSlicer
Mark code from OrcaSlicer with same comment tag for follow easily

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: If4db502a1b0e6d0648c73f2f383b6d1cc8e1aa01
2023-07-07 17:29:08 +08:00
qing.zhang
546322d1cc ENH: add solid infill pattern
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I8878c8d5f0024c9cbde6040f317d0783dfc5eccd
2023-07-07 17:29:08 +08:00
salt.wei
e567afdcb5 ENH: support exclude objects for klipper printer
Thanks OrcaSlicer.

This is just function for klipper printer.
NEVER used for BBL printer.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I910abceb67f4dcb4260f74f5dd1b4fb614812670
2023-07-07 17:29:08 +08:00
qing.zhang
ec756bc2df ENH: add acceleration para
thanks SoftFever

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ie82934e2fb5cdb4ec77246e2d5cd6be36fdc7d5a
2023-07-07 17:29:08 +08:00
qing.zhang
346321379a ENH: add decel para
thanks SoftFever

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I95a1240c8d6ce7365055e840e526f279a55939e4
2023-07-07 17:29:08 +08:00
qing.zhang
aa62c6e870 ENH: add jerk parameter
thanks SoftFever

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I6aadbffebc069167a460c991aa8fb711b754ff37
2023-07-07 17:29:08 +08:00
qing.zhang
4f4516357f ENH: add seam parameters and increase wall loops
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Id5c6cd6e97493f8912ce1857aed56eecace66cee
2023-07-07 17:29:08 +08:00
Arthur
0ce835dcd4 ENH: add option "remove_small_overhang"
Let the user choose remove or not.

Github issue: #1810
Jira: STUDIO-2992

Change-Id: I9c5e087d171d16d8d7318b36efe825a6cbc29c33
2023-07-07 17:29:08 +08:00
salt.wei
3ea602091e ENH: add back infill anchor for special case
These two settings is necessary for some
specific user case.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I9d70679932ac90c34296393d0e8bb8aebd8ebe48
2023-07-07 17:25:51 +08:00
Arthur
3d1f61c7ed NEW: add tree_support_brim_width option
Jira: STUDIO-2921

Change-Id: Id5fddc0b6f5ffe3beb9afb0be5f81a766fc5b21e
(cherry picked from commit 86d7b6016e48143aad03744a58d44042ff0a0b4c)
2023-07-07 17:25:51 +08:00
qing.zhang
7b12dcb6ea NEW: add concentric infill pattern for ironing
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Icd9f9fe0e39d86725faa98dd3eae82a4189130e0
2023-07-07 17:25:51 +08:00
qing.zhang
97179d1378 ENH: arachne + overhang slow down
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ic015c1c6d369edabaa1195416942881c0756f839
2023-04-17 15:39:02 +08:00
tao wang
bf08a0b2e2 FIX:fixed some ui issues
Change-Id: I96f3e3ec56a07a7b5ca4723c92715df58e0baaf6
2023-04-17 15:39:02 +08:00
yifan.wu
fc25754c2c ENH: support smooth timelapse for C11
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: Id9da6654fe26c0bda6a9a7dae1e5601e2d944a57
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
qing.zhang
bb53da59e7 ENH: warning when skirt layer bigger than 1 in by Object mode
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I16ff3d2a88f02d106cfe58d345f92e26728e4157
2023-02-22 20:09:17 +08:00
chunmao.guo
54e47bba33 ENH: support styles to sets
Change-Id: I18d4add12907d4d4a10980c1f1244e287934c34c
(cherry picked from commit 8ead53319222a2ab4bd76b434afcd657e5045fc7)
2023-02-22 20:09:17 +08:00
lane.wei
7335f5d015 FIX: fix the crash issue when switch timelapse_mode or spiral mode
previous commit only fix the crash when switch spiral_mode
and will cause crash when switch timelapse_mode

Change-Id: If21acf3701e9519de55a08e183620678378f61b9
2023-02-01 16:24:44 +08:00
salt.wei
fca338582b ENH: add raft contact distance
For github issue #975

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I3b2c4f105374fccf4fb0cdbfba5bb6181da6dd93
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
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
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
salt.wei
1e5c746429 ENH: disable smooth timelapse in vase mode
Smooth timelaps has wipe tower and cause seam in vase
mode. Don't support

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I7aef1fc1ec2f5d57713fcc01e45ce99f385471c1
(cherry picked from commit 671203ada7c5d48a4eabad156d68d7cb1bb37b54)
2022-12-17 03:21:09 -05:00
chunmao.guo
31ff48ccca FIX: [STUDIO-1694] change support filament to default if out of range
Change-Id: Ie67b1832ec92cd66c14461d01363bbf2c2069185
2022-12-15 04:38:15 -05:00
Stone Li
00dfd1e765 ENH: modify diff for github
Change-Id: I3a441dbfa3167de3cee9fdafe62f7860fcb6891c
Signed-off-by: Stone Li <stone.li@bambulab.com>
2022-12-15 04:38:15 -05:00
salt.wei
6551b86230 ENH: enable arachne for wall
Refer to prusa and enable arachne for wall.

Arachne also has corner case and cause strange
slicing result and bad quality when print, while
class engine is much better for these cases.

Provide option for user to choose.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ieb3a1c6a457ca610561f8734de4a122d74165afd
2022-12-15 04:38:15 -05:00
zhimin.zeng
7dddb17d8a FIX: the P1P printer is not support smooth timelapse
Change-Id: I0e9faf9d9c63d6541189724813fd803c8522a26b
(cherry picked from commit 84edf0b3eeb84c65990926ab8fc69b0f51ce6f3d)
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
MusangKing
d1e4cb430c NEW: Add "Support xy expansion distance" setting
Open the "Support xy expansion distance" setting for users who can set
expanding and shrinking distance along xy to change normal supports' overhang area.

Jira: STUDIO-1297
Change-Id: If3a1efe99acaced12216966a6f8abd0dc3734757
(cherry picked from commit c1fd588a181b17403109b64a0019818f428252da)
2022-12-15 04:38:15 -05:00
MusangKing
2a8fe9ec54 NEW: Open "Bottom Z distance" setting for users
Users can set distance between support bottom contacts and object
once enable normal/tree support.

Jira: STUDIO-1383

TODO:Func seems good though, some details (e.g., bottom_interface
detection) need to be optimized furthur. Will keep follow-up.

Change-Id: I85815e7aa6cf1a5d0249633cd8ab995873461e8a
(cherry picked from commit eab39e89c94d749ebe6266ab745cbb70a068277d)
2022-12-15 04:38:15 -05:00
zhimin.zeng
118a13200b FIX: variable layer height prompt an error when enable the prime tower
Change-Id: I80b3965d25a9e1faaff1298f42b171660974463e
(cherry picked from commit a519f82ce7c1b169ad995d10a28e873e133f2373)
2022-12-15 04:33:48 -05:00
salt.wei
35edf03eca ENH: add "ensure_vertical_shell_thickness" back
See the new requirement of the latest update at
github issue #317

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I68c9922a272b1d426126a531bfdee7a4f7e53620
2022-12-15 04:33:48 -05:00
salt.wei
11f74c21d3 ENH: add bridge direction option
In some complicated cases or irregular shape, the direction
of external bridge is not good when calculated automaticlly.
So user may use modifier to change bridge direction.

This is handling for github issue #340

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I3baf313f47925fa7e6aa087f5896b0af560f902d
2022-12-15 04:33:48 -05:00
zhimin.zeng
09c4a08cb5 FIX: Prompting flush options not take effect when disable wipe tower
Change-Id: Id1195880ebe6021136446dc02ea46224aff4e801
(cherry picked from commit 7edd7f389c97acad8baa0bb809914d3aeeb75fd8)
2022-12-15 04:33:48 -05:00
salt.wei
569f76ecf1 ENH: provide settings for fuzzy skin
When fuzzy skin is enabled, show more related settings
so that user can tune.

This is enhancement for github issue #44

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I35e3883983b62117c4306dd894a04edd40c70f8e
2022-12-15 04:33:48 -05:00
salt.wei
5e024f75b9 ENH: support specific acceleration for outer wall
So we can set lower acceleration for outer wall now.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ib4728bf16f6c540afca62f423c8aab4c9e0c4d02
2022-12-15 04:33:48 -05:00