Commit Graph

92 Commits

Author SHA1 Message Date
05d388483c Renamed monotonous infill to monotonic. 2020-10-05 16:38:28 +02:00
4b02e888ee Fix crash in adaptive infill when an extrusion line width is zero.
When an extrusion line width is set to zero, then an extrusion line width is calculated from nozzle diameter.
2020-09-25 09:54:27 +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
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
fc3b470ded Add missing forward declarations 2020-09-11 16:51:05 +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
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
bddca650a9 Move rotation from building octree to infill generating 2020-09-10 14:52:21 +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
3ddeac598a Check if exist any boundary polyline 2020-09-07 09:14:06 +02:00
1c0a4aaa9b Octree representation rework 2020-09-03 19:21:55 +02:00
1e73ab0202 Fix bug in lines merging 2020-09-03 14:28:25 +02:00
e245c7e787 Connect infill to perimeters 2020-09-03 13:05:28 +02:00
f0a8f736e3 Code cleanup 2020-09-03 11:56:41 +02:00
fb7cf3dc48 Octree's first cube depends on model size. 2020-09-03 08:04:05 +02:00
f43b8b1c0f Change in passing octree struct 2020-09-02 22:53:10 +02:00
7363156063 Fix crash on inconsistent input 2020-08-30 20:38:07 +02:00
49830f2212 Fix discontinuous extrusion lines for adaptive infill 2020-08-27 13:04:53 +02:00
87244c6b81 Switch to smart pointers 2020-08-27 07:28:43 +02:00
f014afb08c Polylines merging 2020-08-27 01:59:35 +02:00
0b6841264c Add function for check existence of triangle in define radius 2020-08-26 23:28:52 +02:00
923687e06f Generating polylines from octree 2020-08-26 22:18:51 +02:00
e4aea124cf Building octree based on distance from mesh 2020-08-26 18:15:59 +02:00
f1a59060a3 Preparation for new infill 2020-08-26 16:51:34 +02:00
edcaab8b0a Includes cleanup:
GUI_App.hpp      (should not include) MainFrame.hpp
MainFrame.hpp    Plater.hpp
ModelArrange.hpp Model.hpp
Slicing.hpp      PrintConfig.hpp
FillBase.hpp     PrintConfig.hpp
GUI_App.hpp      PrintConfig.hpp
OptionsGroup.hpp GUI_App.hpp
2020-05-27 14:01:47 +02:00
e8e004ab5e Fixed few warnings 2020-05-26 16:06:11 +02:00
4fa702c570 Slight include cleanup 2020-05-26 13:45:36 +02:00
5703f31d96 Improvements of the monotonous infill ordering:
Calculate the initial path length and set the initial pheromone level
accordingly.
Implemented a stopping criterion to ant colony optimization.
Fixed some compilation warnings.
2020-05-06 18:28:23 +02:00
7325be0e7d fixing a compilation issue on a buggy GCC on R-PI 2020-04-28 18:28:11 +02:00
8156379ec1 Ironing and Monotonous infill - first working implementation. 2020-04-28 17:19:11 +02:00
805cc03894 Introduction of Monotonous infill type. Fill no-sort only for monotonous
and ironing infills.
2020-04-25 08:15:04 +02:00
775ceb6037 WIP: Monotonous infill 2020-04-24 09:41:48 +02:00
109b95bb19 WIP: Reworking of FillRectilinear2 to support monotonous infill
with ant colony optimization and 3-opt flips.
2020-04-22 10:54:11 +02:00
9db59a3cd7 WIP: Ironing over top surfaces. 2020-04-14 11:53:28 +02:00
ac501bdf8b Merge branch 'master' into dev 2020-03-24 21:51:05 +01:00
0841ef6ee8 Fix of infill type update with vase mode enabled after change
of the number of bottom layers.
related to [2.2.1-RC] Vase mode prints base no matter what #3823
2020-03-14 11:59:50 +01:00
bffd07baa6 Fixed some more warnings 2020-03-03 15:53:26 +01:00
f26de2e1ac Fixed several warnings
The biggest difference is changing PresetCollection::m_idx_selected from int to size_t, which fixed many warnings at once.
2020-03-03 15:47:02 +01:00
756d3e4da1 Fix of infill connecting along perimeter lines,
new 3-opt iterative improvement of infill path (currently disabled,
it is extremely slow)
2019-12-02 15:01:52 +01:00