Commit graph

1545 commits

Author SHA1 Message Date
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
Lukas Matena
d57a09558e Several fixes of previous commits related to KDTreeIndirect.hpp and ShortestPath.cpp/.hpp 2019-09-27 13:30:07 +02:00
Lukas Matena
5123673b3a CMakeLists: filename fix so everything works on case-sensitive filesystems 2019-09-27 11:42:52 +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
Lukas Matena
dbc51a140d Fixed erroneous use of logical OR where bitwise OR was meant
Also, PrintBase::SlicingStatus enum had two entries assigned to 0 - removed the one that was never used
2019-09-25 12:18:30 +02:00
Lukas Matena
1d18339e62 PRUS.cpp: Fixed an always-true condition in extract_model_from_archive
SupportMaterial.cpp: Simplified one condition (also solves a -Wmaybe-uninitialized warning on gcc)
2019-09-24 18:09:48 +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
Lukas Matena
7861fa5086 Whitespace changes to supress misleading indentation warnings
These appear in newer gcc when spaces and tabs are mixed
2019-09-24 16:01:01 +02:00
Enrico Turri
2dc9949a4c ENABLE_ENHANCED_RELOAD_FROM_DISK set as default 2019-09-23 15:35:49 +02:00
Enrico Turri
82a52e8b21 #2922 - Port of commit: f42edd35ce by jschuh 2019-09-23 14:56:27 +02:00
Enrico Turri
1115e77b38 ENABLE_ENHANCED_RELOAD_FROM_DISK -> Fixed export/import to/from .amf to keep compatibility with 3rd part software. 2019-09-23 13:54:49 +02:00
Enrico Turri
4a45c1aa41 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk 2019-09-23 12:34:18 +02:00
Enrico Turri
5eb4692442 ENABLE_ENHANCED_RELOAD_FROM_DISK -> Fixed export/import to/from .3mf to keep compatibility with 3rd part software. 2019-09-23 12:33:21 +02:00
tamasmeszaros
a6f5fe7bea Fix arrange crash with incorrect geometries. Guard the case with tests. 2019-09-23 11:59:44 +02:00
YuSanka
4aec14ddab Replace "mm3/s" with "mm³/s" in preview legend for a "Volumetric flow rate" 2019-09-23 11:11:43 +02:00
Enrico Turri
c0576a8770 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk 2019-09-23 08:27:01 +02:00
Lukas Matena
b241ba16ed Fixed layer profile equality check for wipe tower validation (fixup of b43003d) 2019-09-20 10:53:50 +02:00
Enrico Turri
74747226f7 ENABLE_ENHANCED_RELOAD_FROM_DISK
1) Modified .zip.amf import/export to save/load volume matrices and source data

2) Incremented .zip.amf version to 3
2019-09-19 12:39:59 +02:00
bubnikv
80c5eaacdf Merge remote-tracking branch 'remotes/origin/dev' into vk-materials 2019-09-19 11:49:49 +02:00
Enrico Turri
3a40565d03 Added tech ENABLE_ENHANCED_RELOAD_FROM_DISK
1) Reworked void Plater::priv::reload_from_disk() to be more general

2) Added source data to class ModelVolume

3) Modified .3mf import/export to save/load volume matrices and source data

4) Incremented .3mf version to 2
2019-09-19 09:09:11 +02:00
Vojtech Kral
270008a3fd Add material_type config option for SLA materials, use in Wizard 2019-09-17 13:20:06 +02:00
Vojtech Kral
34b3548102 Filaments and materials selection/installation 2019-09-17 13:20:06 +02:00
bubnikv
83b6b82188 Refactored ExtrusionEntityCollection::flatten() 2019-09-16 16:35:08 +02:00
Enrico Turri
ffe62d543d Merge branch 'dev' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk 2019-09-16 08:26:06 +02:00
Enrico Turri
e1774f9085 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk 2019-09-16 08:25:57 +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
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
Lukas Matena
ee7132a23d Fixup of 4f89672 + allowing negative support_contact_z 2019-09-13 15:47:00 +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
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
tamasmeszaros
c37ec7463f Add new config values to SL1 zip file config.ini
All requested config values are written into SL1 ini file inside the zip

* TIme.hpp and Time.cpp is now part of libslic3r instead of libslic3r_gui
* Updated time manipulation function: separate timestamp_local_str and timestamp_utc_str
* timestamp_utc_str is used in header_slic3r_generated(). Gcode now contains UTC timestamps
2019-09-11 13:10:23 +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
Enrico Turri
af77eca9df Follow-up of 44c3493f7d -> error message logged only for multi-extruder printers 2019-09-11 10:02:27 +02:00
Enrico Turri
b383d9581a Merge branch 'dev' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk 2019-09-11 09:01:44 +02:00
Enrico Turri
3835257ec2 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk 2019-09-11 09:01:34 +02:00
Enrico Turri
7e5043961a Added missing include 2019-09-11 08:51:36 +02:00
Enrico Turri
44c3493f7d GCodeAnalyzer: Fixed a crash when encountering an invalid toolchange 2019-09-11 08:39:29 +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