Commit Graph
100 Commits
Author SHA1 Message Date
bubnikv d815a518bd Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-10-04 16:50:18 +02:00
bubnikv f8ff23638f Fixed regression due to ExPolygonCollection to ExPolygons refactoring.
Fixed crashes in BridgeDetector due to unexpected implicit conversion
to a const temporary.
2019-10-04 16:50:01 +02:00
bubnikv 546ad99306 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-10-01 17:17:20 +02:00
bubnikv 564eddd99d FDM Print refactoring:
Layer newly remembers bounding boxes of slices,
the bounding boxes are used by G-code generator & newly the support
generator.
Slices are stored as ExPolygons, not ExPolygonCollection.
2019-10-01 17:17:08 +02:00
bubnikv 0e325824b1 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-10-01 13:41:42 +02:00
bubnikv 6a07b231e1 Fixed a crash with a layer range modifier containing no slicing layer. 2019-10-01 13:41:22 +02:00
bubnikv 93a157e26c Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-09-30 16:25:31 +02:00
bubnikv 272479826f Refactoring of the G-code preview for lower memory allocation
and for separation of concerns:

The final G-code preview no more uses ExtrusionPaths structure
to hold the G-code path data extracted by parsing the G-code.
Instead, the ExtrusionPath class has been trimmed down back to
the original size before the G-code preview was introduced,
and a new GCodePreviewData::Extrusion::Path class was created to hold
the additional path data as the extruder ID, color change ID
and fan speed.
2019-09-30 16:25:26 +02:00
bubnikv b425ee50a9 Merge remote-tracking branch 'remotes/origin/et_pull_2922' 2019-09-30 10:23:16 +02:00
bubnikv 0abde9a2a8 Return MultiPoint::first_point() by reference. 2019-09-27 19:47:30 +02:00
bubnikv 6d11bfe96a Fixing C++ issues, that the Visual Studio compiler did not report. 2019-09-27 19:18:35 +02:00
bubnikv debd9e2f81 One more try, fixing a missing parameter. 2019-09-27 19:07:07 +02:00
bubnikv 50d3894e32 Fix of the ShortestPath.hpp interface: Provide non-move variant. 2019-09-27 18:47:08 +02:00
bubnikv 85ea0396a4 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-09-27 18:23:36 +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
bubnikv d06831076d WIP: Consolidation of shortest path calculations,
various chaining algorithms are replaced with the improved TSP
algorithm.
2019-09-26 17:30:03 +02:00
bubnikv 10eecb2cab Reworked Traveling Salesman Problem code for simplicity and robustness.
The TSP algorithm is newly used for planning of the printing order
of objects AND their instances.
2019-09-26 16:39:50 +02:00
bubnikv 8d4dd294b2 Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev 2019-09-26 09:44:53 +02:00
bubnikv 41495a932a Introduction of a greedy Traveling Salesman Problem algorithm,
producing better shortest path estimate than the "closest next neighbor"
heuristics. The new greedy algorithm utilizes KD tree for closest
end point search, and builds a graph to detect loops.

PerimeterGenerator newly uses the optimized TSP algorithm.

ExtrusionEntity has been refactored / simplified.
2019-09-26 09:44:38 +02:00
bubnikv 110d5b9d56 Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev 2019-09-19 17:16:43 +02:00
bubnikv 6ce1011a09 Slic3r -> PrusaSlicer in config snapshot dialog. 2019-09-19 17:16:37 +02:00
bubnikv bcdb75f799 Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev 2019-09-19 14:32:13 +02:00
bubnikv 2414dab85a Fix of perl bindings 2019-09-19 14:31:50 +02:00
bubnikv 80c5eaacdf Merge remote-tracking branch 'remotes/origin/dev' into vk-materials 2019-09-19 11:49:49 +02:00
bubnikv 40e5fb5bb9 Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev 2019-09-19 08:57:04 +02:00
bubnikv 94212fa2a9 Another fix of admesh on big endian architectures, fixes #2879 2019-09-19 08:56:47 +02:00
bubnikv 83b6b82188 Refactored ExtrusionEntityCollection::flatten() 2019-09-16 16:35:08 +02:00
bubnikv c38e537adc Merge remote-tracking branch 'remotes/origin/master' into dev 2019-09-16 15:38:50 +02:00
bubnikv abf91c0327 Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev 2019-09-16 15:38:37 +02:00
bubnikv 519f2b62e5 Fix of Perl bindings after ExtrusionEntity::clone() refactoring 2019-09-16 15:38:27 +02:00
bubnikv ae3a3029c0 Merge remote-tracking branch 'remotes/origin/master' into dev 2019-09-13 18:58:39 +02:00
bubnikv d86cf1e116 Fix of a regression in wipe tower generator:
Return to the known position after custom tool change G-code.
2019-09-13 18:56:37 +02:00
bubnikv 145cf294c9 Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev 2019-09-13 16:21:48 +02:00
bubnikv a9182fb0b3 Merge branch 'master' into dev 2019-09-13 16:19:35 +02:00
bubnikv 345d73e0d6 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-09-13 16:17:23 +02:00
bubnikv ea8b6262cf Introduction of ClipperLib_Z: The Clipper library compiled with support
of the Z coordinate, compiled in the ClipperLib_Z namespace.

Update of Lukas's new brim clipping:
All the brim contours are now clipped by the ClipperLib_Z library
in one shot.
2019-09-13 16:16:37 +02:00
bubnikv e0ecd283ef Updated Prusa3D profiles, bumped up the version number. 2019-09-13 15:24:13 +02:00
bubnikv 4f89672816 Fixed false positives of missing layers due to support layer snapping
to avoid layers thinner than min_layer height, and possibly due to
the fact, that empty support extrusions may get generated
for support layers with non-empty support polygons.

Fix of Empty layers detection added to GCode.cpp (6ab1cec)
2019-09-13 15:18:42 +02:00
bubnikv bb896b4c13 Merge remote-tracking branch 'remotes/origin/lm_brimskirt' 2019-09-12 15:53:20 +02:00
bubnikv b4f2df6a98 Merge remote-tracking branch 'remotes/origin/master' into dev 2019-09-12 10:19:09 +02:00
bubnikv 6f4fff1b29 Fix of 2.1.0-rc2 Fails to open "certain' STL files #2906 2019-09-12 10:16:52 +02:00
bubnikv 1b1899e24f Bumped up the version number. 2019-09-11 14:10:02 +02:00
bubnikv ab045d5b48 Merge remote-tracking branch 'remotes/origin/tm_ini_params_squashed' 2019-09-11 13:40:18 +02:00
bubnikv 416c1f8c5b Updated dictionaries. 2019-09-11 13:33:15 +02:00
bubnikv 15c8b579b2 Refactoring of ExtrusionEntity / ExtrusionEntityCollection:
Iterator loops replaced with C++11 loops.
Fixed clone() methods to return an ExtrusionEntity*.
PerimeterGenerator now uses move semantics on ExtrusionEntity a little
bit more.
2019-09-11 13:25:50 +02:00
bubnikv b3f27b8fb9 Fixed typo in comments 2019-09-11 11:38:17 +02:00
bubnikv 0989cb8296 Refactoring of PerimeterGenerator:
header interface was reduced,
compiler warnings removed.
2019-09-11 11:37:48 +02:00
bubnikv 9bdc5b7939 Merge remote-tracking branch 'remotes/origin/master' into dev 2019-09-10 19:09:41 +02:00
bubnikv b9389f2d39 Some C++11 refactoring 2019-09-10 19:09:37 +02:00
bubnikv 413e737d7e Fix of previous infill refactoring. 2019-09-10 19:08:04 +02:00
bubnikv 246dc64c99 Fix of "Bridging and gap fill are parsed incorrectly when infill is set to 0" #1476
The gap fill was disabled for zero infill.
Now the gap fill is enabled in between the perimeters, but disabled between
the inner-most perimeter and infill in case the infill is set to zero.

Also in case there are multiple infill regions inside a perimeter,
the mutliple infills are considered as non-zero if at least one infill
is non-zero, therefore the gap fill will be added inside the inner-most
perimeter.
2019-09-10 19:03:37 +02:00
bubnikv 4585618aea Fix of "Bridge flow ratio doesn't trigger reslicing of support" #2359 2019-09-09 18:09:40 +02:00
bubnikv 6ba43ebacb Merge remote-tracking branch 'remotes/origin/master' into dev 2019-09-09 17:49:07 +02:00
bubnikv ac7bae8c5d Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev 2019-09-09 17:47:41 +02:00
bubnikv 5c72eecf26 Fix of "Strange behavior on bridge detection" #1482
The very first slicing step needs to be invalidated if support is
enabled or disabled while the soluble supports are configured,
as the bridging is disabled for soluble supports, while the bridging
is enabled with supports disabled.
2019-09-09 17:47:29 +02:00
bubnikv ee928f5f4d Replaced Perl style infill type enums with C++ enums in comments. 2019-09-09 16:47:15 +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
bubnikv 21cc859357 Refreshed dictionaries 2019-09-09 16:40:15 +02:00
bubnikv 751b9e69fa Fixed stack overflows in G-code generator. 2019-09-09 10:18:17 +02:00
bubnikv 42e41dae04 Fix of a regression big endian issue in admesh
fixes 2.1.0-rc build error in admesh (unusual architecture only) (#2879)
2019-09-09 09:18:53 +02:00
bubnikv 48ecbe777f Fix of "excess infill below bridges with 0% infill" #442
Fix of "Bridging infill not connecting with infill set to 0%" #1301

Top, bottom and bridging areas are extended into infill as long
as the infill is not zero. If the infill is zero,
top, bottom and bridging areas wound not expand into these "void" areas.

With this commit, the top, bottom and bridging areas are allowed to expand
into the "void" areas as long as these "void" areas are supported below
with perimeters or some other non-empty infill, and slightly beyond
these supporting areas into the voids (currently hard coded to 1mm).
2019-09-06 15:03:49 +02:00
bubnikv 07798510fc Fighting the ASCII STL import.
Fix of 2.1.0-rc: Loading MMU STL's results in object placement off the plater (#2868)
It has been broken with 9abef2241d
when trying to fix "Error on importing stl" #2813
2019-09-05 14:29:34 +02:00
bubnikv d2ac827137 Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev 2019-09-04 16:11:28 +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 a48ba21f40 Updated PrusaResearch.idx 2019-09-04 14:56:34 +02:00
bubnikv a09bb3802b Updated the bundled Prusa Research profiles.
Bumped up the version number to 2.0.0-rc.
Changed the location of profiles from PrusaSlicer-beta to PrusaSlicer
(that is the location for the released software).
2019-09-04 12:50:43 +02:00
bubnikv 35f51ed9a9 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-09-03 16:02:49 +02:00
bubnikv 3f078cd612 Updated ES, FR, IT, PL languages. 2019-09-03 13:23:36 +02:00
bubnikv 1e5a14a06c Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-09-02 11:47:23 +02:00
bubnikv 206dbb81c7 Fix of "Extra overhanging perimeters are added in 2.1.0-beta3" #2857
Two bugs were fixed:

1) An entry in the GLVolume index was not always created when it should
	have been.

2) Removing empty volumes from the list of GLVolumes did not update
	the GLVolume index. This is an old issue, but it likely surfaced
	now with the introduction of splitting the large GLVolumes
	into multiple shorter ones.
2019-09-02 11:47:11 +02:00
bubnikv eb458163e3 Fixing stack overflow issues when slicing in SLA mode:
The BackgroundSlicingProcess thread will now have the same stack size
allocated as the TBB worker threads:
4MB on 64bit systems and 2MB on 32bit systems.
2019-08-30 17:57:53 +02:00
bubnikv 8503bb5213 Bumped up the version to beta3 2019-08-30 16:46:25 +02:00
bubnikv b240e93c72 Updated Czech, German, Polish (fully translated),
Spanish, French, Italian (some translations pending)
dictionaries
2019-08-30 16:13:42 +02:00
bubnikv 415b0b28c3 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-30 16:05:19 +02:00
bubnikv ae3a72d291 Fixed menu icons for undo / redo. 2019-08-30 16:05:12 +02:00
bubnikv 06a2a69261 Manually merged Korean translation by @ulsanether 2019-08-30 14:39:14 +02:00
bubnikv 018311e668 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-30 14:13:59 +02:00
bubnikv 931b20e43c Fix for wxWidgets issue, where the FindLanguageInfo() returns locales
with undefined ANSII code (wxLANGUAGE_KONKANI or wxLANGUAGE_MANIPURI).
2019-08-30 14:13:47 +02:00
bubnikv 2dbbfdac11 Refreshed the translation file. 2019-08-30 11:38:05 +02:00
bubnikv 4d224b1b82 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-30 10:20:50 +02:00
bubnikv 9dda1f10a2 Updated the initial language detection to provided some logging. 2019-08-30 10:20:38 +02:00
bubnikv 6fb93470de Updated icons for the undo / redo menu. 2019-08-30 10:19:20 +02:00
bubnikv 3d8f3116c1 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-30 09:20:14 +02:00
bubnikv b305a6b37e Fix of 2.1.0-beta2 Linux AppImage - OpenGL detection fails #2844
The OpenGL check was moved to GLCanvas3DManager init function,
where the OpenGL context is active at the 1st render event.
2019-08-30 09:19:45 +02:00
bubnikv 78697b2acf Improvement of selection of language / dictionaries.
When switching the languages, if the newly selected dictionary
is "compatible" with the system best language or user's locale,
then the system best language locale or user's locale is activated,
not the locale connected to the dictionary.
2019-08-29 15:35:28 +02:00
bubnikv ace275af7f std::make_unique is not supported by our build servers.
use Slic3r::make_unique instead
2019-08-29 14:51:24 +02:00
bubnikv ab361fc0e7 Refreshed dictionaries with keys from GUI_ObjectLayers.cpp 2019-08-29 14:10:10 +02:00
bubnikv 468abfefbc Reworked selection of locales and translation dictionaries.
Slicer now tries to heed user's locales, also it tries to switch
to the language recommended by the operating system (Windows & OSX
specific).
2019-08-29 14:07:45 +02:00
bubnikv d60480ca7c Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-29 13:36:22 +02:00
bubnikv cd9d20a8b3 Renamed the dictionaries and their directories, so that
wxWidgets will open German dictionary for de_CH, English dictionary
for en_AU etc.
2019-08-29 13:36:12 +02:00
bubnikv 885ff11d4c Update of "Volumes in Objects reordered" undo / redo message 2019-08-29 11:16:14 +02:00
bubnikv 4af75c9f23 Updated the translations file. 2019-08-29 10:45:04 +02:00
bubnikv 3fc3a8e2c3 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-29 10:43:38 +02:00
bubnikv 3ba144bfe5 Removed Selection-Add Volumes, Selection-Add Volume,
Selection-Remove Volume, Selection-Remove Volumes
from taking snapshots, therefore from localizations.
2019-08-29 10:43:26 +02:00
bubnikv e6263ef5dd Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-28 16:19:57 +02:00
bubnikv 8865c4b685 Plurals for number of Undo / Redo actions. 2019-08-28 16:19:46 +02:00
bubnikv 2b7a4973a8 Reworded the "Add / remove instance / set number of instances". 2019-08-28 15:35:01 +02:00
bubnikv 048ed74318 Another round of translation adjustments. 2019-08-28 15:12:55 +02:00