Commit Graph

49 Commits

Author SHA1 Message Date
bubnikv
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
bubnikv
9db59a3cd7 WIP: Ironing over top surfaces. 2020-04-14 11:53:28 +02:00
Lukas Matena
ac501bdf8b Merge branch 'master' into dev 2020-03-24 21:51:05 +01: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
Lukas Matena
bffd07baa6 Fixed some more warnings 2020-03-03 15:53:26 +01:00
Lukas Matena
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
bubnikv
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
bubnikv
30bce02593 Fix of the new gyroid infill path planning. Fixes #3226 2019-11-22 18:22:44 +01:00
bubnikv
a70b0d952f Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-11-14 17:02:46 +01:00
bubnikv
94923cafb6 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
14d739b557 Attempt to fix Mac build on buildserver 2019-11-12 13:19:17 +01:00
bubnikv
6dd0872b1d 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
6fa25152d7 Ported test_fill from upstream Slic3r, thanks @lordofhyphens 2019-10-16 17:43:43 +02:00
bubnikv
ce217b6222 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
30f0e9b4d3 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-09-27 09:52:57 +02:00
bubnikv
f5d48d90a7 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
2fbc4c37fc 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
02b3fe2e36 Fix of previous infill refactoring. 2019-09-10 19:08:04 +02:00
bubnikv
d09c77c401 Fix of d146a0237e
(reworked infill generator to merge regions with the same properties).
2019-09-09 16:44:29 +02:00
Lukas Matena
1bae0a6a97 Fill.cpp: Fixed a typo 2019-09-05 16:03:44 +02:00
bubnikv
bc412ea4aa 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
fc35cb4f43 Some Vojtech's beautification 2019-08-22 09:47:44 +02:00
Yuri D'Elia
8cf8330bd9 Fix two warnings 2019-08-08 17:04:56 +02:00
Yuri D'Elia
692f6b2704 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
615fb659b7 Move gyroid constants to the class declaration 2019-08-07 22:26:39 +02:00
Yuri D'Elia
e6e851920c 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
159f8f2184 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
fc12f18a8b Allow gyroid pattern rotation over Z 2019-08-07 16:47:17 +02:00
Yuri D'Elia
97e38c51ba 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
d000d9e1a0 Reduce reallocations and memory usage in gyroid 2019-08-07 16:46:56 +02:00
Yuri D'Elia
ebca698694 Parametric tolerance for Gyroid infill 2019-08-07 16:46:51 +02:00
supermerill
926270f840 bugfix "connected lines" for gyroid & 3Dhoney 2019-08-07 16:45:52 +02:00
supermerill
e6efa8ff54 bugfix gyroid & 3Dhoneycomb "connected lines" 2019-08-07 16:45:41 +02:00
supermerill
f765b7e333 gyroid & 3Dhoneycomb: now 'connected lines' follow the perimeters 2019-08-07 16:45:22 +02:00
Lukas Matena
d2c908ef7f Merge branch 'master' into lm_warnings 2019-07-15 13:26:55 +02:00
Lukas Matena
9bbe65c53e Fixed warnings in libslic3r 2019-06-25 16:04:29 +02:00
bubnikv
436b9c40fe Integrated the new layer height spans with configs into the backend.
Fixed some compiler warnings.
2019-06-20 16:15:09 +02:00
bubnikv
d2b1a6bd69 admesh refactoring: Move the hashing structure out of stl_file 2019-06-10 16:53:08 +02:00
bubnikv
eb6bc4862b 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
9d609908a5 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
df06bf36fa Fix usage of is_trivially_copyable on older GCC (for real this time) 2019-01-22 12:16:11 +01:00
Vojtech Kral
b866a9d563 Fix usage of is_trivially_copyable on older GCC 2019-01-22 10:42:16 +01:00
bubnikv
bd1562ee03 Added missing headers. 2019-01-21 17:51:37 +01:00
Lukas Matena
2d224eec21 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
eb4a48c141 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
b86643ce0d Fixed compilation issues on osx 2018-11-26 14:54:23 +01:00
bubnikv
f5ca083a46 Merge remote-tracking branch 'remotes/origin/dev_native' 2018-11-20 14:13:22 +01:00
bubnikv
e0d4b84685 Removed the STDMOVE macro. 2018-11-02 20:45:23 +01:00
bubnikv
1260b8deb3 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