1
0
mirror of https://github.com/FULU-Foundation/OrcaSlicer-bambulab.git synced 2026-07-12 08:14:26 +00:00
Commit Graph

174 Commits

Author SHA1 Message Date
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
bubnikv b47246f69b Fixed a bug, where the top or bottom solid layers were created even
if the number of top / bottom solid layers was set to zero while
the top / bottom minimum shell thickess was set nonzero.

With this commit, if the top / bottom solid layers is set to zero,
there are no top / bottom solid layers generated independent from
the minimum top / bottom shell thickness.
2020-02-18 15:44:01 +01:00