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
Yuri D'Elia
776a775996
Add missing forward declarations
2020-09-11 16:51:05 +02:00
Lukáš Hejl
137e7a0712
Fix compiler warnings and failing compilation on macOS
2020-09-10 22:57:58 +02:00
Lukáš Hejl
7ef5def077
Fix typo in function build_octree
2020-09-10 22:38:37 +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
680b1b9809
Construct octree based on inserted points
2020-09-10 14:52:26 +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
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
97e62be902
Check if exist any boundary polyline
2020-09-07 09:14:06 +02:00
Lukáš Hejl
ce18b824ad
Octree representation rework
2020-09-03 19:21:55 +02:00
Lukáš Hejl
184cb7afd9
Fix bug in lines merging
2020-09-03 14:28:25 +02:00
Lukáš Hejl
353c65fa4c
Connect infill to perimeters
2020-09-03 13:05:28 +02:00
Lukáš Hejl
a3a1c20172
Code cleanup
2020-09-03 11:56:41 +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
Lukáš Hejl
8e6760e033
Fix crash on inconsistent input
2020-08-30 20:38:07 +02:00
Lukáš Hejl
b28f9b8935
Fix discontinuous extrusion lines for adaptive infill
2020-08-27 13:04:53 +02:00
Lukáš Hejl
c5a73a7cd6
Switch to smart pointers
2020-08-27 07:28:43 +02:00
Lukáš Hejl
cb328c99aa
Polylines merging
2020-08-27 01:59:35 +02:00
Lukáš Hejl
fb24d8167a
Add function for check existence of triangle in define radius
2020-08-26 23:28:52 +02:00
Lukáš Hejl
eaaff4e707
Generating polylines from octree
2020-08-26 22:18:51 +02:00
Lukáš Hejl
3ac16d9c9c
Building octree based on distance from mesh
2020-08-26 18:15:59 +02:00
Lukáš Hejl
42a7f2b1d8
Preparation for new infill
2020-08-26 16:51:34 +02:00
Lukas Matena
48c186331a
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
Lukas Matena
32a353058f
Fixed few warnings
2020-05-26 16:06:11 +02:00
Lukas Matena
02838eaa30
Slight include cleanup
2020-05-26 13:45:36 +02:00
bubnikv
0940db7b2e
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
bubnikv
ef89c73fd5
fixing a compilation issue on a buggy GCC on R-PI
2020-04-28 18:28:11 +02:00
bubnikv
ec81de7553
Ironing and Monotonous infill - first working implementation.
2020-04-28 17:19:11 +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
bubnikv
e390ebc95c
WIP: Monotonous infill
2020-04-24 09:41:48 +02:00
bubnikv
03eb5ffcd5
WIP: Reworking of FillRectilinear2 to support monotonous infill
...
with ant colony optimization and 3-opt flips.
2020-04-22 10:54:11 +02:00
bubnikv
10110ed307
WIP: Ironing over top surfaces.
2020-04-14 11:53:28 +02:00
Lukas Matena
97b9de47b4
Merge branch 'master' into dev
2020-03-24 21:51:05 +01: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
Lukas Matena
7589e4ebfc
Fixed some more warnings
2020-03-03 15:53:26 +01:00
Lukas Matena
c70b34b6c8
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
bubnikv
afa72da9d1
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
bubnikv
9c4dc80057
Fix of the new gyroid infill path planning. Fixes #3226
2019-11-22 18:22:44 +01:00
bubnikv
8c377c6585
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-11-14 17:02:46 +01:00
bubnikv
dd59945098
Fix of a typo in KDTreeIndirect.
...
Improvement of the infill path planning.
Regression fix of Gyroid infill crashes.
Some unit tests for elephant foot and path planning.
2019-11-14 17:02:32 +01:00
Enrico Turri
0c4507141a
Attempt to fix Mac build on buildserver
2019-11-12 13:19:17 +01:00
bubnikv
f2dd49a905
Merged pull request "Gyroid improvements" #2730
...
by @supermerill and @wavexx
WIP: The function Fill::connect_infill() is being rewritten
to utilize spatial structures wherever possible for lower CPU load
and less dynamic memory allocation.
2019-11-07 14:28:30 +01:00
bubnikv
76c4eaf19a
Ported test_fill from upstream Slic3r, thanks @lordofhyphens
2019-10-16 17:43:43 +02:00
bubnikv
331c187b39
Rest of the path chaining has been replaced with the new algorithm.
...
PolylineCollection.cpp/hpp was removed, use Polylines instead.
Various first_point() / last_point() now return references, not copies.
2019-09-27 18:17:21 +02:00
bubnikv
4b35ebe6e5
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-09-27 09:52:57 +02:00
bubnikv
e65ab90c16
Fix of G-code path planning: Infill lines were incorrectly ordered
...
for islands with another islands in their holes.
Improvement of chaining of infill lines for 3D honeycomb, Gyroid and
Honeycomb infill: New TSP chaining algorithm is used.
2019-09-27 09:51:07 +02:00
Lukas Matena
b67d8c1614
Fixed memsetting non-trivially-copyable types
...
Types stl_stats, stl_normal and SurfaceFillParams should not be zeroed by memset
This is not correct and also triggered warnings on gcc
2019-09-24 17:09:07 +02:00
bubnikv
413e737d7e
Fix of previous infill refactoring.
2019-09-10 19:08:04 +02:00
bubnikv
735f5146e9
Fix of d146a0237e
...
(reworked infill generator to merge regions with the same properties).
2019-09-09 16:44:29 +02:00
Lukas Matena
6cc29c308c
Fill.cpp: Fixed a typo
2019-09-05 16:03:44 +02:00
bubnikv
d146a0237e
WIP: Reworked the infill generator to merge areas with the same
...
properties.
Note for Vojtech:
Review src/libslic3r/Fill/Fill.cpp once again,
add test for G-code generator properties (extrusion speed, cooling?)
Fixes Modifier slice/move efficiency #1005
2019-09-04 16:11:16 +02:00
bubnikv
21ee458de5
Some Vojtech's beautification
2019-08-22 09:47:44 +02:00
Yuri D'Elia
189d7be93b
Fix two warnings
2019-08-08 17:04:56 +02:00
Yuri D'Elia
753b34a0d3
Make Gyroid::PatternTolerance match the description
...
Move the division out of the switch in order to make the tolerance match
the expected unit.
2019-08-08 16:53:26 +02:00
Yuri D'Elia
90c85b7c8a
Move gyroid constants to the class declaration
2019-08-07 22:26:39 +02:00
Yuri D'Elia
da6c285f1f
Maximize gyroid printing speed angle
...
Counter-rotate the default angle by 45' so that gyroid is kept at it's
maximum printing speed by default.
2019-08-07 22:26:39 +02:00
Yuri D'Elia
f8490fb4e0
Limit upper tolerance in Gyroid
...
Do not reduce resolution more than necessary when using larger nozzles
and/or higher layer heights.
2019-08-07 16:47:23 +02:00
Yuri D'Elia
1a84642153
Allow gyroid pattern rotation over Z
2019-08-07 16:47:17 +02:00
Yuri D'Elia
e7616efc89
Handle truncated gyroid patterns correctly
...
When generating patterns which are less than a full wave, always
generate the last point correctly.
When extending a full wave to a line, fixup the last point
to the real gyroid position instead of shifting the point.
2019-08-07 16:47:04 +02:00
Yuri D'Elia
5932881291
Reduce reallocations and memory usage in gyroid
2019-08-07 16:46:56 +02:00
Yuri D'Elia
b9901f1730
Parametric tolerance for Gyroid infill
2019-08-07 16:46:51 +02:00
supermerill
b6936a46e3
bugfix "connected lines" for gyroid & 3Dhoney
2019-08-07 16:45:52 +02:00
supermerill
19df45c39d
bugfix gyroid & 3Dhoneycomb "connected lines"
2019-08-07 16:45:41 +02:00
supermerill
86fbb9a095
gyroid & 3Dhoneycomb: now 'connected lines' follow the perimeters
2019-08-07 16:45:22 +02:00
Lukas Matena
004e2719b1
Merge branch 'master' into lm_warnings
2019-07-15 13:26:55 +02:00
Lukas Matena
cb916c4dda
Fixed warnings in libslic3r
2019-06-25 16:04:29 +02:00
bubnikv
35b3fd3176
Integrated the new layer height spans with configs into the backend.
...
Fixed some compiler warnings.
2019-06-20 16:15:09 +02:00
bubnikv
40b27e8332
admesh refactoring: Move the hashing structure out of stl_file
2019-06-10 16:53:08 +02:00
bubnikv
311df8ecfd
Reworked discretization step of Archimedean Chords infill to lower
...
slicing time and memory requirements.
Fixes "Infill pattern Archimedean causing total freeze at Infilling patterns" #1871
2019-03-07 16:01:46 +01:00
bubnikv
ab30370fb4
Split the external infill pattern to separate top / bottom config values.
...
Based on f9344a00e3
thanks @supermerill
Implements #475 , #479 , #1133 , #1474
2019-02-22 15:25:35 +01:00
Vojtech Kral
a85db038be
Fix usage of is_trivially_copyable on older GCC (for real this time)
2019-01-22 12:16:11 +01:00
Vojtech Kral
d5f47cbcad
Fix usage of is_trivially_copyable on older GCC
2019-01-22 10:42:16 +01:00
bubnikv
bd80304f39
Added missing headers.
2019-01-21 17:51:37 +01:00
Lukas Matena
1685a30ee0
Added static asserts on classes initialized by memset to make sure it is possible to do
2019-01-21 15:03:20 +01:00
bubnikv
52db7b055a
WIP: Merged commits from stable between 1.41.2-beta and 1.42.2 final.
...
Changes in SupportMaterial.cpp, TriangleMesh.cpp and 01_trianglemesh.t
are yet to be merged.
WIP: Refactoring of layer height editing.
Removed layer_height_ranges from PrintObject, as the Print/PrintObject
now hold their copies of Model/ModelObject.
2018-12-11 16:33:43 +01:00
bubnikv
cc283571e7
Fixed compilation issues on osx
2018-11-26 14:54:23 +01:00
bubnikv
f6831dfdea
Merge remote-tracking branch 'remotes/origin/dev_native'
2018-11-20 14:13:22 +01:00
bubnikv
3b72748489
Removed the STDMOVE macro.
2018-11-02 20:45:23 +01:00
bubnikv
0558b53493
WIP: Moved sources int src/, separated most of the source code from Perl.
...
The XS was left only for the unit / integration tests, and it links
libslic3r only. No wxWidgets are allowed to be used from Perl starting
from now.
2018-09-19 11:02:24 +02:00