Vojtech Bubnik
e0b0a2cdcf
Fix of previous commit.
2020-09-24 20:32:52 +02:00
Vojtech Bubnik
7a799be426
DynamicPrintConfig::normalize() renamed to normalize_fdm(),
...
optimization of Print::apply()
2020-09-24 19:03:33 +02:00
Vojtech Bubnik
54976e29bb
New class ModelConfig wrapping DynamicPrintConfig and a timestamp
...
to help with detecting "not changed" event when taking
Undo/Redo snapshot or synchronizing with the back-end.
Converted layer height profile and supports / seam painted areas
to the same timestamp controlled structure.
2020-09-24 15:34:13 +02:00
Vojtech Bubnik
230dbb7394
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
Vojtech Bubnik
7e756b20e6
Adaptive infill: Reshuffled the namespaces.
2020-09-18 10:53:50 +02:00
Vojtech Bubnik
37c5fe9923
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
Vojtech Bubnik
1eadb6a1a9
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
Vojtech Bubnik
067cde85f1
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
Lukáš Hejl
137e7a0712
Fix compiler warnings and failing compilation on macOS
2020-09-10 22:57:58 +02:00
Lukáš Hejl
e9a325c9ca
Fix rotation in support cubic infill
2020-09-10 22:30:49 +02:00
Lukáš Hejl
f49144a9ef
Move support cubic infill to separate class.
...
Support infill is enabled in the GUI.
2020-09-10 16:53:08 +02:00
Lukáš Hejl
8fb9b290b2
A prototype of adaptive support infill
2020-09-10 14:55:48 +02:00
Lukáš Hejl
c261624999
A simple version of adaptive cubic support, for testing purposes
2020-09-10 14:52:26 +02:00
Lukáš Hejl
70cb67430c
Move rotation from building octree to infill generating
2020-09-10 14:52:21 +02:00
Vojtech Bubnik
6a11e7996e
Merge branch 'lh_adaptive_infill'
2020-09-09 16:46:43 +02:00
Vojtech Bubnik
7b318e1698
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
Lukáš Hejl
5633526ecf
Enable changing adaptive infill density for different objects
2020-09-09 14:40:14 +02:00
Lukáš Hejl
acedb66cdc
Change to using raw_mesh instead of mesh
2020-09-09 14:40:14 +02:00
Lukáš Hejl
d09ac41d2c
Octree's first cube depends on model size.
2020-09-09 14:40:14 +02:00
Lukáš Hejl
33121b705a
Change in passing octree struct
2020-09-09 14:40:08 +02:00
Lukáš Hejl
9eeb5e4364
Fix wrong data type
2020-09-09 14:37:20 +02:00
Lukáš Hejl
65ba40f044
Fix crash on inconsistent input
2020-09-09 14:37:20 +02:00
Lukáš Hejl
34f38c4a79
Building octree based on distance from mesh
2020-09-09 14:34:04 +02:00
Lukáš Hejl
6c01d537e4
Enable changing adaptive infill density for different objects
2020-09-03 23:15:46 +02:00
Lukáš Hejl
c2af265df8
Change to using raw_mesh instead of mesh
2020-09-03 16:08:40 +02:00
Lukáš Hejl
fd3a31651c
Octree's first cube depends on model size.
2020-09-03 08:04:05 +02:00
Lukáš Hejl
5997f2759c
Change in passing octree struct
2020-09-02 22:53:10 +02:00
Lukas Matena
9c59b4f930
Custom seam: Model integration, backend invalidation, 3MF loading/saving
2020-09-01 22:35:01 +02:00
Lukáš Hejl
423d1f2f40
Fix wrong data type
2020-08-31 08:49:17 +02:00
Lukáš Hejl
8e6760e033
Fix crash on inconsistent input
2020-08-30 20:38:07 +02:00
Lukáš Hejl
3ac16d9c9c
Building octree based on distance from mesh
2020-08-26 18:15:59 +02:00
Lukas Matena
97bc092cce
Renamed FacetSupportType to EnforcerBlockerType
...
So it's not misleading if we use it for seam painting
2020-08-18 12:00:26 +02:00
Lukas Matena
6d4bb10ec5
Fix of custom supports: object offset for Clipper was incorrectly accounted for
2020-08-12 11:28:30 +02:00
Lukas Matena
fd93d9768d
Fixes of two crashes in paint-on supports
2020-08-12 11:08:10 +02:00
Lukas Matena
74a1aeff8e
TriangleSelector: bugfix - backend did not correctly account for mirrorring
2020-07-24 17:47:16 +02:00
Lukas Matena
3b91d11ddf
TriangleSelector: backend is aware of divided triangles
2020-07-24 17:47:16 +02:00
enricoturri1966
f5215cac44
Attempt to fix crash on Mac when rotating an object while layer editing is active
2020-07-13 13:16:18 +02:00
Vojtech Bubnik
b101a8e266
Fixes of the offset curves from Voronoi diagram.
...
The offset curve extractor is already quite usable,
though singular cases are still not covered yet
when the offset curve intersects or nearly intersects
a Voronoi vertex.
Removal of the PRINTF_ZU "%zu" Visual Studio printf compatibility macro.
Fixes of a contours self intersection test for collinear segments.
SVG exporter now exports white background, so that the GNOME Eye viewer is usable.
2020-06-16 13:15:48 +02:00
Lukas Matena
c2cd430941
Few more include chains broken
2020-05-26 13:46:59 +02:00
bubnikv
4de4d765ee
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2020-04-28 19:31:18 +02:00
Lukas Matena
2bd524849a
Custom support blockers are now working
2020-04-27 17:45:55 +02:00
Lukas Matena
bf2a10803e
Fixing debug build broken after recent merge
2020-04-27 12:15:45 +02:00
bubnikv
033548a568
Introduction of Monotonous infill type. Fill no-sort only for monotonous
...
and ironing infills.
2020-04-25 08:15:04 +02:00
Lukas Matena
5a80f0442f
Optimization of the custom support projection algorithm
...
- transformation matrix is precalculated for each volume
- number of heap allocations was reduced
2020-04-24 01:26:13 +02:00
Lukas Matena
61e5eab35d
Custom supports projection now runs in parallel
2020-04-22 16:08:36 +02:00
Lukas Matena
a40d60ce08
Custom support generation now ignores triangles with upward-pointing normal
2020-04-22 14:01:29 +02:00
Lukas Matena
8d95345ede
Fixed a logic error in the algorithm
...
The error created extremely large projections of triangles that were close to horizontal
2020-04-22 10:11:42 +02:00
Lukas Matena
7fc4a71715
Moved the projection function into PrintObject.cpp
2020-04-21 13:50:47 +02:00
bubnikv
10110ed307
WIP: Ironing over top surfaces.
2020-04-14 11:53:28 +02:00
bubnikv
7f376fa927
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