Commit Graph

2419 Commits

Author SHA1 Message Date
8a329ebfea "There is an object with no extrusions on the first layer."
should throw SlicingError, not RuntimeError.
2020-09-23 12:58:58 +02:00
4abb613ead Undo/Redo serialization extension:
If an object indicates a valid timestamp, then the timestamp
is relied upon to not serialize the object data if the timestamp
of the same object on the undo/redo stack matches.
2020-09-23 12:18:39 +02:00
56e6d10a86 Adaptive Cubic infill:
1) Fixed a wrong offset when extracting infill lines from the octree.
2) Added a variant for testing triangle in a bounding sphere
   when buildind the octree. Currently not used as the box test
   is more tight.
3) "Bridging infill" regions are now triangulated and used to densify
   the octree as well to support the bridging infill correctly.
2020-09-22 08:53:45 +02:00
876e5bc897 Fixed crash in Adaptive Cubic infill if just a single line was extracted.
New function to chain lines, however not used by the Adaptive Cubic infill.
2020-09-21 11:10:57 +02:00
2992c71798 Fix build on Linux 2020-09-18 13:37:37 +02:00
0d4308538b Adaptive infill:
Fixing compilation on Linux,
WIP: Better chainining of infill lines.
2020-09-18 13:35:35 +02:00
1e9a3cab55 Adaptive infill: Reshuffled the namespaces. 2020-09-18 10:53:50 +02:00
b3e936bda3 Refactoring of adaptive cubic / support cubic:
1) Octree is built directly from the triangle mesh by checking
   overlap of a triangle with an octree cell. This shall produce
   a tighter octree with less dense cells.
2) The same method is used for both the adaptive / support cubic infill,
   where for the support cubic infill the non-overhang triangles are
   ignored.
The AABB tree is no more used.
3) Optimized extraction of continuous infill lines in O(1) instead of O(n^2)
2020-09-17 18:39:28 +02:00
b80c658816 Restore estimated time lines in sidebar info 2020-09-17 11:42:58 +02:00
273fb2febe Fix hollowing crash when splitting broken object has zero parts. 2020-09-16 11:08:58 +02:00
c814c16e4a Replaced some of Slic3r::RuntimeError exceptions with Slic3r::SlicingError.
Only Slic3r::SlicingError are now displayed by a notification, other
exceptions are shown by a pop-up dialog.
2020-09-14 18:03:22 +02:00
f58ee46687 WIP Refactoring of exceptions:
1) All slicer's exceptions are now derived from Slic3r::Exception.
2) New exceptions are defined for slicing errors.
3) Exceptions are propagated to the Plater to show.
It remains to modify the slicing back-end to throw the new SlicingError
exceptions instead of std::runtime_error and to show the other exceptions
by a message dialog instead of a notification.
2020-09-14 18:03:22 +02:00
bbbe2c138b Do not include (incorrect!) seconds in get_time_dhm 2020-09-12 18:20:22 +02:00
fc3b470ded Add missing forward declarations 2020-09-11 16:51:05 +02:00
0f684cb947 Logging of memory used by the gcode processor and viewer 2020-09-11 15:19:23 +02:00
693aac1f3f Fix compiler warnings and failing compilation on macOS 2020-09-10 22:57:58 +02:00
7a37279307 Fix typo in function build_octree 2020-09-10 22:38:37 +02:00
bfe47c1af0 Fix rotation in support cubic infill 2020-09-10 22:30:49 +02:00
59ed04de37 Merge branch 'tm_rotfinder' 2020-09-10 20:06:18 +02:00
fd0c06d38c Significant performance improvements for elevated and non-elevated case
Apply bruteforce for elevated models
2020-09-10 19:35:45 +02:00
c4f2560205 SplashScreen:
* Show it on the display same as an Application
 * Code refactoring : All related functions moved to the SplashScreen class
 * Add a possibility o hide/show splash scree in Preferences
2020-09-10 18:54:29 +02:00
d3c7175f5c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-09-10 17:02:54 +02:00
dc698c2bb1 Move support cubic infill to separate class.
Support infill is enabled in the GUI.
2020-09-10 16:53:08 +02:00
dfd1351c9a A prototype of adaptive support infill 2020-09-10 14:55:48 +02:00
dd2fe22f05 Construct octree based on inserted points 2020-09-10 14:52:26 +02:00
e4c32a85de A simple version of adaptive cubic support, for testing purposes 2020-09-10 14:52:26 +02:00
0f45ffbeef Fix missing initialization in TriangleMesh constructor 2020-09-10 14:52:26 +02:00
bddca650a9 Move rotation from building octree to infill generating 2020-09-10 14:52:21 +02:00
603fc859eb Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-09-10 14:35:40 +02:00
b56b719575 Updated titlebar and splash screen + hidden statusbar for gcode viewer 2020-09-10 14:33:55 +02:00
531502746e Performance optimizations and bugfix 2020-09-10 14:03:30 +02:00
9e4e297b33 Fix build on win 2020-09-10 14:03:30 +02:00
90462b34e9 Mostly working, inefficiencies remain, status indication partly broken 2020-09-10 14:03:30 +02:00
40608bfd67 cosmethics
Comments and cosmethics
2020-09-10 14:03:30 +02:00
b1c3c8a5d0 fixing optimizer and concurrency::reduce 2020-09-10 14:03:30 +02:00
3c4d3fadfe Brute force optimization code, buggy yet
wip


wip


wip refactor
2020-09-10 14:03:30 +02:00
dce0053631 rotation finder experiments
wip
2020-09-10 14:03:30 +02:00
6fde9b985a Do a mesh split before openvdb conversion, unify each part's grid
Do a mesh redistance after the part splitting and openvdb csgUnion
2020-09-10 13:39:43 +02:00
1091049d0b Calibration changes to address new algorithm behavior. 2020-09-10 13:37:58 +02:00
dbd5304bc2 Fix failing test due to changes in support point genertion 2020-09-10 13:19:17 +02:00
7917b63089 Improvements to support point generator
- Separate the 3 bands -- dangling, sloping and full overhanging -- regions and handle them with different support force deficits.

- Use a heuristic for overhanging edges to increase the number of support points generated for them


- Try to make overhangs and slopes deficit depend on stable area.
2020-09-10 13:19:17 +02:00
28409d1b6c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-09-10 08:50:00 +02:00
77787e36ad Tech ENABLE_GCODE_VIEWER_AS_STANDALONE_APPLICATION set as default 2020-09-10 08:49:50 +02:00
a52c26f59e Merge branch 'lh_adaptive_infill' 2020-09-09 16:46:43 +02:00
b7ebee01aa Refactoring of adaptive cubic infill:
Don't create an octree for the infill if it is not needed.
2020-09-09 15:55:06 +02:00
90c5a8bf2c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-09-09 15:04:40 +02:00
4add81eb28 Completed implementation of 'File->GCode preview...' command 2020-09-09 15:03:51 +02:00
49b978c30d Check if exist any boundary polyline 2020-09-09 14:40:14 +02:00
5673bb9e5b Enable changing adaptive infill density for different objects 2020-09-09 14:40:14 +02:00
347914004b Octree representation rework 2020-09-09 14:40:14 +02:00