Vojtech Bubnik
e53d1e63cb
Fix of previous commit.
2020-09-24 20:32:52 +02:00
Vojtech Bubnik
175cb54df9
DynamicPrintConfig::normalize() renamed to normalize_fdm(),
...
optimization of Print::apply()
2020-09-24 19:03:33 +02:00
Vojtech Bubnik
4e0a0c5c51
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
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
Vojtech Bubnik
1e9a3cab55
Adaptive infill: Reshuffled the namespaces.
2020-09-18 10:53:50 +02:00
Vojtech Bubnik
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
Vojtech Bubnik
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
Vojtech Bubnik
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
Lukáš Hejl
693aac1f3f
Fix compiler warnings and failing compilation on macOS
2020-09-10 22:57:58 +02:00
Lukáš Hejl
bfe47c1af0
Fix rotation in support cubic infill
2020-09-10 22:30:49 +02:00
Lukáš Hejl
dc698c2bb1
Move support cubic infill to separate class.
...
Support infill is enabled in the GUI.
2020-09-10 16:53:08 +02:00
Lukáš Hejl
dfd1351c9a
A prototype of adaptive support infill
2020-09-10 14:55:48 +02:00
Lukáš Hejl
e4c32a85de
A simple version of adaptive cubic support, for testing purposes
2020-09-10 14:52:26 +02:00
Lukáš Hejl
bddca650a9
Move rotation from building octree to infill generating
2020-09-10 14:52:21 +02:00
Vojtech Bubnik
a52c26f59e
Merge branch 'lh_adaptive_infill'
2020-09-09 16:46:43 +02:00
Vojtech Bubnik
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
Lukáš Hejl
5673bb9e5b
Enable changing adaptive infill density for different objects
2020-09-09 14:40:14 +02:00
Lukáš Hejl
969e733d2e
Change to using raw_mesh instead of mesh
2020-09-09 14:40:14 +02:00
Lukáš Hejl
67bfb246ec
Octree's first cube depends on model size.
2020-09-09 14:40:14 +02:00
Lukáš Hejl
544cd82fe8
Change in passing octree struct
2020-09-09 14:40:08 +02:00
Lukáš Hejl
4aed6bc332
Fix wrong data type
2020-09-09 14:37:20 +02:00
Lukáš Hejl
42e524de6c
Fix crash on inconsistent input
2020-09-09 14:37:20 +02:00
Lukáš Hejl
3238eb59be
Building octree based on distance from mesh
2020-09-09 14:34:04 +02:00
Lukáš Hejl
9883850bc6
Enable changing adaptive infill density for different objects
2020-09-03 23:15:46 +02:00
Lukáš Hejl
bd95963b64
Change to using raw_mesh instead of mesh
2020-09-03 16:08:40 +02:00
Lukáš Hejl
fb7cf3dc48
Octree's first cube depends on model size.
2020-09-03 08:04:05 +02:00
Lukáš Hejl
f43b8b1c0f
Change in passing octree struct
2020-09-02 22:53:10 +02:00
Lukas Matena
58b6d94166
Custom seam: Model integration, backend invalidation, 3MF loading/saving
2020-09-01 22:35:01 +02:00
Lukáš Hejl
1f2d71fac3
Fix wrong data type
2020-08-31 08:49:17 +02:00
Lukáš Hejl
7363156063
Fix crash on inconsistent input
2020-08-30 20:38:07 +02:00
Lukáš Hejl
e4aea124cf
Building octree based on distance from mesh
2020-08-26 18:15:59 +02:00
Lukas Matena
8e113adee0
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
a56e5da6f9
Fix of custom supports: object offset for Clipper was incorrectly accounted for
2020-08-12 11:28:30 +02:00
Lukas Matena
99cbfb7545
Fixes of two crashes in paint-on supports
2020-08-12 11:08:10 +02:00
Lukas Matena
12d98572e5
TriangleSelector: bugfix - backend did not correctly account for mirrorring
2020-07-24 17:47:16 +02:00
Lukas Matena
abe1cf6c61
TriangleSelector: backend is aware of divided triangles
2020-07-24 17:47:16 +02:00
enricoturri1966
5e3f097d5b
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
9b7e2216e0
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
ae8772b90d
Few more include chains broken
2020-05-26 13:46:59 +02:00
bubnikv
41d69e546b
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2020-04-28 19:31:18 +02:00
Lukas Matena
9ac1bfd9be
Custom support blockers are now working
2020-04-27 17:45:55 +02:00
Lukas Matena
ea8724a3ad
Fixing debug build broken after recent merge
2020-04-27 12:15:45 +02:00
bubnikv
805cc03894
Introduction of Monotonous infill type. Fill no-sort only for monotonous
...
and ironing infills.
2020-04-25 08:15:04 +02:00
Lukas Matena
b13efbcc81
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
399d017bb0
Custom supports projection now runs in parallel
2020-04-22 16:08:36 +02:00
Lukas Matena
2277954737
Custom support generation now ignores triangles with upward-pointing normal
2020-04-22 14:01:29 +02:00
Lukas Matena
49504ea169
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
455a0f42ed
Moved the projection function into PrintObject.cpp
2020-04-21 13:50:47 +02:00
bubnikv
9db59a3cd7
WIP: Ironing over top surfaces.
2020-04-14 11:53:28 +02:00
bubnikv
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