Commit Graph

1755 Commits

Author SHA1 Message Date
Enrico Turri
0001ce3dab ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Refactoring of SlicingAdaptive to account for volumes' transformation 2019-11-13 13:53:02 +01:00
Enrico Turri
b77ba32bb2 Adaptive layer height profile -> Added Adaptive button to imgui dialog 2019-11-12 14:18:43 +01:00
Enrico Turri
0c4507141a Attempt to fix Mac build on buildserver 2019-11-12 13:19:17 +01:00
Enrico Turri
9d5da8b18c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_adaptive_layer_height 2019-11-12 12:43:16 +01:00
YuSanka
519291394a Save/Load new color print data to/from amf and 3mf files. 2019-11-11 16:01:34 +01:00
Enrico Turri
621b8426d3 #3175 - Fixed compatibility with boost v 1.71 2019-11-11 11:21:08 +01:00
YuSanka
6c8bb51f4a Use constant names for G-codes like M600, M601 and "tool_change"(Change extruder) 2019-11-11 09:38:45 +01:00
YuSanka
49175c3112 Merge remote-tracking branch 'origin/master' into ys_resin_cost 2019-11-08 19:33:18 +01:00
YuSanka
f2120c1122 Fixed a sequence of the legend items 2019-11-07 16:36:24 +01:00
Enrico Turri
6e4060569a 1) Added new tech ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE
2) Imgui dialog replaces texture for reset button and tooltip when layer editing is active
2019-11-07 15:55:45 +01:00
bubnikv
588734c7b3 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-11-07 14:35:50 +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
Enrico Turri
1e8aa54559 ENABLE_THUMBNAIL_GENERATOR -> Added ENABLE_THUMBNAIL_GENERATOR_DEBUG (disabled) 2019-11-07 09:01:28 +01:00
YuSanka
c4a62819f4 Implemented new color change preview from Gcode
+ Added missed "change_extruder.svg"
2019-11-07 08:13:26 +01:00
Enrico Turri
d8dca69d60 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-11-05 13:58:13 +01:00
bubnikv
612e45e783 std::exchange not supported by C++11. 2019-11-05 11:46:05 +01:00
bubnikv
7a7183383f Merge branch 'master' of https://github.com/BryanSmithDev/PrusaSlicer into BryanSmithDev-master 2019-11-05 11:37:40 +01:00
bubnikv
e1c6bd174a Fixed missing include. 2019-11-05 11:14:00 +01:00
bubnikv
b295bc22db Adaptive elephant foot compensation: Improvement of the variable
offset regularization.
2019-11-05 10:45:14 +01:00
YuSanka
6ed9adaeff New legend for color print.
Some improvements for coloration multimaterial print indicator
2019-11-05 09:48:53 +01:00
Enrico Turri
76377ee0fe ENABLE_THUMBNAIL_GENERATOR -> Export thumbnails to gcode as png data in lines with max 80 characters length 2019-11-04 15:38:15 +01:00
Enrico Turri
8b8b6c1821 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-11-04 14:00:36 +01:00
Enrico Turri
64d5ac0d20 ENABLE_THUMBNAIL_GENERATOR -> Export thumbnails to gcode: max length of gcode lines set to 80 characters 2019-11-04 14:00:26 +01:00
YuSanka
d5f7956a55 Set custom color for color change 2019-11-04 13:42:47 +01:00
Stephan Reichhelm
3321ae7f13 + add FlashAir support for host upload 2019-11-04 12:53:48 +01:00
bubnikv
2399570950 Only enable Elphant foot compensation if printing directly
on the print bed (raft is disabled).
2019-11-04 11:34:33 +01:00
bubnikv
4c735192ef Bugfixes of the new adaptive elephant foot compensation. 2019-11-04 11:26:36 +01:00
Enrico Turri
c34232214d Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-11-04 11:13:19 +01:00
YuSanka
c564f693e9 Merge remote-tracking branch 'origin/master' into ys_color_print_extension 2019-11-03 19:34:34 +01:00
bubnikv
bb8d59391f Fixed missing include 2019-11-01 21:13:53 +01:00
bubnikv
db97610821 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-11-01 19:59:22 +01:00
bubnikv
a72ac57fab adaptive elpehant foot compensation, fixing
GH issues #1757 #2085 #2132 #2423 #2502 #2156 #2773 #2828 #2998 #3001
2019-11-01 19:59:09 +01:00
tamasmeszaros
59c128d9fd Fix broken partial arrange 2019-11-01 15:13:05 +01:00
Enrico Turri
6663fc7018 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-11-01 12:26:43 +01:00
Vojtech Kral
d729315de3 Fix g-code export to permissionless filesystems
Fix #2521
Fix #3102
2019-11-01 10:54:55 +01:00
Enrico Turri
418634a677 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-10-31 16:41:03 +01:00
Lukas Matena
d632d91e79 WipeTower.cpp: The M220 B/R gcode is only emitted for Marlin firmware flavor
The extended gcode is now only supported by Prusa (https://github.com/prusa3d/PrusaSlicer/issues/3114)
A pull request https://github.com/MarlinFirmware/Marlin/pull/15739 aims to extend the gcode in upstream Marlin as well
2019-10-31 15:08:20 +01:00
Enrico Turri
8f180a0cc1 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-10-30 11:47:21 +01:00
bubnikv
f60fbecd3d Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-10-30 10:19:00 +01:00
bubnikv
ba39ee6f12 EdgeGrid::signed_distance_edges() to provide the pedal point.
Removed 20_print.t test.
2019-10-30 10:18:56 +01:00
Enrico Turri
f6453aab1b ENABLE_THUMBNAIL_GENERATOR -> Fixed potential race condition when generating thumbnails 2019-10-30 10:09:58 +01:00
YuSanka
8ebd9ce7c4 Save "color_change" for a selected extruder to G_code 2019-10-29 15:34:35 +01:00
Enrico Turri
47dfe60f0e Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-10-29 14:47:59 +01:00
Lukas Matena
8b5561aec7 Fixed several warnings 2019-10-29 10:40:34 +01:00
Enrico Turri
2896e12a46 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-10-29 07:09:07 +01:00
bubnikv
9e8ce66f70 Fix / improvement of unit tests. 2019-10-25 19:06:40 +02:00
bubnikv
f8dc74374c Ported various clipper unit tests from Perl to C++,
the clipper Perl unit tests were removed.
2019-10-25 17:07:55 +02:00
Enrico Turri
bab4f51bc8 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-10-25 13:59:27 +02:00
Enrico Turri
2d5c28d6d1 ENABLE_THUMBNAIL_GENERATOR -> Allow for multiple thumbnails into gcode and sl1 files 2019-10-25 13:59:13 +02:00
bubnikv
4ae0f3a61c Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-10-25 13:34:55 +02:00
bubnikv
5e8572a196 New functions for variable offsets of polygons / expolygons.
Test cases for the above.
Improvements of older test cases.
2019-10-25 13:34:37 +02:00
tamasmeszaros
bcc2c21d5f Disable OpenVDB until deps get updated 2019-10-25 13:23:05 +02:00
tamasmeszaros
deda712e20 Merge branch 'tm_openvdb_integration' 2019-10-25 13:16:26 +02:00
tamasmeszaros
4554da29ab Add OpenVDB to dependencies
* Add Linux openvdb integration
* Add Mac openvdb integration and enable in ALL
* Create openvdb sandbox to test integration.
* Additional fixes in the patches
* Remove slabasebed sandbox as it has no relevance now
* Provide FindOpenVDB module and fix build issues
2019-10-25 13:15:21 +02:00
Enrico Turri
de60b40347 ENABLE_THUMBNAIL_GENERATOR -> Thumbnail data saved into gcode using base64 encoding + debug code to extract thumbnails from gcode 2019-10-25 12:18:10 +02:00
Enrico Turri
982ed95a35 ENABLE_THUMBNAIL_GENERATOR -> Save thumbnail size into gcode 2019-10-25 08:57:13 +02:00
Enrico Turri
296d79abf7 ENABLE_THUMBNAIL_GENERATOR -> Fixed thumbnail generation for SLA and 3mf 2019-10-24 15:56:10 +02:00
Enrico Turri
6d5572ae47 ENABLE_THUMBNAIL_GENERATOR -> Code cleanup 2019-10-24 10:25:40 +02:00
Enrico Turri
5609f53797 ENABLE_THUMBNAIL_GENERATOR -> Add thumbnail data into gcode output 2019-10-24 10:06:31 +02:00
Enrico Turri
4517fcd997 ENABLE_THUMBNAIL_GENERATOR -> Add file Metadata/thumbnail.png into 3mf output 2019-10-24 09:20:33 +02:00
Enrico Turri
540253f676 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-10-24 08:46:58 +02:00
tamasmeszaros
77c52b748c Zipper made available for modification after RasterWriter finishes. 2019-10-23 17:32:17 +02:00
Enrico Turri
16fd2820db ENABLE_THUMBNAIL_GENERATOR -> WIP: Added missing include and preparation for adding thumbnail to exported sla archive files 2019-10-23 16:01:23 +02:00
bubnikv
18bbefcd61 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-10-23 15:07:53 +02:00
bubnikv
cf94482731 Fix of Voronoi debug output. 2019-10-23 15:07:41 +02:00
Enrico Turri
4d1153c866 ENABLE_THUMBNAIL_GENERATOR -> WIP: Refactoring and preparation for adding thumbnails to exported gcode and 3mf files 2019-10-23 13:31:24 +02:00
Enrico Turri
1809497c38 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-10-22 16:03:27 +02:00
Enrico Turri
32a42f2808 Added tech ENABLE_THUMBNAIL_GENERATOR -> 1st installment of generation of thumbnail from plater (WIP) 2019-10-22 16:02:31 +02:00
YuSanka
8dea6c2fd8 Fixed a crash with the following repro:
1) Start PrusaSlicer
2) Select printer: Original Prusa i3 MK2.5
3) Load any stl file
4) In Printer Settings turn on "Support stealth mode"
5) Press "Slice now"
-> crash
All the "machine_XXXXX" vectors in the print config contain a single value instead of two leading to a vector subscript out of range
when read into GCode::_do_export()
2019-10-22 12:50:09 +02:00
Enrico Turri
2d610f9b84 #3082 - Workaround to fix incorrect object position after applying gcode line G92 into custom gcode 2019-10-21 10:12:42 +02:00
Enrico Turri
28a6bd7c30 #3075 - Fixed Reload from disk command for .amf files 2019-10-21 08:48:38 +02:00
YuSanka
7ef9af8aed Merge remote-tracking branch 'origin/master' into ys_color_print_extension 2019-10-18 13:05:24 +02:00
Enrico Turri
0285e8db2d Merge branch 'et_git_3010' of https://github.com/prusa3d/PrusaSlicer 2019-10-18 12:48:06 +02:00
bubnikv
13cc74ef0a Ported test_config.cpp from upstream Slic3r.
Extended ConfigBase with set() functions similar to the upstream Slic3r.
ConfigBase::set_deserialize() newly throws if the operation fails.
Extrusion width parameters are newly tested for negative values.
2019-10-18 11:53:19 +02:00
bubnikv
98a71a557b Ported test_support_material.cpp from upstream slic3r.
Ported extension of ExtrusionEntityCollection::flatten() to disable
flattening of no_sort() collections.
2019-10-17 19:09:24 +02:00
bubnikv
c228a49fe0 Ported test_support_material from upstream Slic3r.
Reworked the FFF testing framework & ConfigBase::set_deserialize()
for more compact tests: set_deserialize() now accepts list
of key / value pairs.

Fixed an incorrect assert in LayerRegion.
2019-10-17 17:09:15 +02:00
bubnikv
76c4eaf19a Ported test_fill from upstream Slic3r, thanks @lordofhyphens 2019-10-16 17:43:43 +02:00
YuSanka
ea8695c06c Fixed GCode export for color_print extensions.
M25 is changed to M601
2019-10-16 12:03:51 +02:00
bubnikv
69c8b1cd21 new cheaper constructor for DynamicPrintConfig from FullPrintConfig:
DynamicPrintConfig::full_print_config()
new cheaper constructors of DynamicConfig / DynamicPrintConfig from ConfigBase
Unit tests: ported test_model from upstream Slic3r, thanks @lordofhyphens
Unit tests refactored to use less autos and initializer lists for readibility,
DynamicPrintConfig is handled by value, not by shared pointer.
2019-10-16 11:16:50 +02:00
YuSanka
4fa2567ea2 Merge remote-tracking branch 'origin/master' into ys_color_print_extension 2019-10-16 10:31:29 +02:00
YuSanka
76ec1bc7e3 Improved extruder_selector for DoubleSlider 2019-10-16 10:30:29 +02:00
bubnikv
abe856f9fe Ported remove_collinear(Polygon) and test_polygon from upstream slic3r. 2019-10-15 18:08:32 +02:00
bubnikv
de45be5f29 Ported test_gcodewriter from upstream Slic3r, thanks @lordofhyphens.
The format for G1 Fxxx was changed to fixed three decimal digits.
2019-10-15 17:35:19 +02:00
bubnikv
1964ac2e89 Ported test_skirt_brim from upstream Slic3r, thanks @lordofhyphens 2019-10-15 16:31:20 +02:00
YuSanka
4b0fe7cba4 Implemented custom extruder(tool) change from DoubleSlider 2019-10-15 15:42:30 +02:00
bubnikv
c99e7cb0df Ported test_trianglemesh from upstream slic3r, thanks @lordofhyphens 2019-10-15 13:49:28 +02:00
bubnikv
e538a06fb0 Added missing include (worked on MSVC) 2019-10-15 09:49:33 +02:00
bubnikv
42a858b999 Added test projects for libslic3r and fff_print.
Added test_geometry.cpp from upstream slic3r, thanks @lordofhyphens
Added circle_taubin_newton() for circle center calculation, thanks @lordofhyphens
2019-10-15 09:40:40 +02:00
tamasmeszaros
fbc174ad06 Fix cmake with msvc generator.
* Remove unused libnest2d files. Make it use the global build script targets.
* Modify FindTBB to address multi-config builds and take care of __TBB_NO_IMPLICIT_LINKAGE
* Move FindNLopt to project common cmake module dir
* Rename libnest.hpp to nester.hpp and libnest.h to libnest.hpp 
* Clean up common test suite build scripts
2019-10-14 12:50:08 +02:00
Enrico Turri
658b1e219e ENABLE_GIT_3010_FIX set as default 2019-10-14 10:03:27 +02:00
Enrico Turri
76c9ddfd3e Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_git_3010 2019-10-14 08:49:19 +02:00
YuSanka
8e6bb7c20d Add missed icons 2019-10-11 10:39:54 +02:00
YuSanka
5d9a136b8a Merge remote-tracking branch 'origin/master' into ys_color_print_extension 2019-10-10 16:17:09 +02:00
YuSanka
70ef0f25ef Information from DoubleSlider is saved to Model
GCode creating can work with that values.
2019-10-10 16:03:58 +02:00
Lukas Matena
7b45014721 GCode.cpp: Removed a failing assert that was no longer needed
The situation it checked happens when the wipe tower is lower than the tallest print object.
The function processes that correctly.
2019-10-10 09:54:27 +02:00
tamasmeszaros
175b6fd9f5 Fix concave hull having holes. 2019-10-09 14:59:09 +02:00
Enrico Turri
835ee148e5 Fixed conflicts after merging with master 2019-10-09 11:17:48 +02:00
Lukas Matena
cf030e8958 Simplified inclusion of the wipe tower into skirt calculation 2019-10-08 14:12:40 +02:00
Lukas Matena
fdf9272fbe Wipe tower brim width is now part of WipeTowerData class, so it can be used wherever needed 2019-10-08 13:50:51 +02:00
Thomas Moore
aba743de41 Include wipe tower in skirt 2019-10-08 11:06:55 +02:00
tamasmeszaros
272e9f11e3 Merge branch 'tm_arrange_test_extend' 2019-10-07 17:57:34 +02:00
Vojtech Kral
fd6d32135b Merge branch 'master' into materials 2019-10-07 17:23:37 +02:00
tamasmeszaros
72ac8d68f0 Extend libnest tests, remove some warnings, faster catch2 compilation.
Also, improve libnest2d::nest interface.
2019-10-07 17:16:40 +02:00
tamasmeszaros
f0d75eea0d Fix incorrect time format spec in iso_utc_timestamp.
Also add test for such errors in the future.
2019-10-07 08:56:54 +02:00
tamasmeszaros
5bf3d5aabf Merge branch 'tm_sla_tests' 2019-10-04 18:34:08 +02:00
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
tamasmeszaros
1df1ef481d Port sla tests to catch2 2019-10-04 14:47:02 +02:00
tamasmeszaros
2edd5abf06 Fix endless loop in pinhead creation.
* Headless stick penetration value from global cfg
* eliminate warnings
2019-10-03 17:18:03 +02:00
tamasmeszaros
fefde79c89 Make sure no vector reallocation will be performed on pillars.
This is a workaround for now, it needs to be handled properly.
2019-10-03 15:13:17 +02:00
tamasmeszaros
c4d50ea639 Add test obj and address for support under ground level if no elevation 2019-10-03 14:23:22 +02:00
tamasmeszaros
23a7e77a81 Eliminate some race conditions in sla support tree 2019-10-03 12:31:25 +02:00
tamasmeszaros
95e22d8fd4 Add method for bridge addition with Head parameter to fill the bridge_id 2019-10-03 10:22:25 +02:00
tamasmeszaros
3f698c4ccf Enable full concurrency for support tree generation. 2019-10-02 16:33:13 +02:00
tamasmeszaros
8ca7e56d0f Fix tests on all platforms
Try to link tests on Mac.


Fix inaccurate pad brim size


fix build on mac (attempt 2)


Fixes for support tree faults and race conditions in release mode.


Fix crashing test executable on gcc 4.9


fix warning on msvc
2019-10-02 14:55:16 +02:00
tamasmeszaros
d5dcba00b1 Time conversion functions with tests.
Fixes issue with incorrect characters in time strings on UI.
Fix platform dependency


Fix return value with incorrect strings.


Just use strptime and strftime on all platforms.

Emulate strptime on msvc... because they don't have it and their get_time is buggy.
2019-10-02 14:44:11 +02:00
tamasmeszaros
f29e18dad2 Fix crashing test executable on gcc 4.9 2019-10-02 14:42:28 +02:00
tamasmeszaros
fa81b961c5 Fix compilation without pch. 2019-10-02 13:56:41 +02:00
Enrico Turri
6293ff8ccd Fixed crash into GCodeTimeEstimator::post_process() while processing custom end g-code 2019-10-02 09:38:19 +02:00
Enrico Turri
c5a5e6a61d Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_git_3010 2019-10-02 08:13:11 +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
tamasmeszaros
be7428d66e sla::Raster interface clarified and covered with tests.
Also renamed sla::SupportTreeAlgorithm to SupportTreeBuildsteps.
2019-10-01 14:58:37 +02:00
tamasmeszaros
705e82ec8e Deeper test coverage for support tree generation.
Restructuring for testability.
2019-10-01 14:58:37 +02:00
tamasmeszaros
e675a5d5c6 Reworked pad creation algorithm with new parameters:
* brim size
* force pad around object everywhere
2019-10-01 14:58:37 +02:00
tamasmeszaros
9d775d0a43 Make loading of obj files into TriangleMesh possible. 2019-10-01 14:58:37 +02:00
tamasmeszaros
e4247f9856 libslic3r core enhancements
* ClipperUtils extended with ExPolygon to clipper paths conversion and improved PolyTree traversal
* Added ExPolygon constructor with Polygon argument
* Removed BoundingBox warnings on clang
* Removed Geometry warnings on clang
2019-10-01 14:58:37 +02:00
tamasmeszaros
b6f447980a Add upper limit on 1.0 to sla display gamma parameter. 2019-10-01 14:44:07 +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
Lukas Matena
61cee54dd3 Merge branch 'master' into lm_low_wipe_tower 2019-10-01 13:24:25 +02:00
Lukas Matena
38d8854a48 Print::validate() - check for empty print has been moved at the beginning of the function
This prevents a crash when the print is empty and the wipe tower enabled - validation of the wipe tower attempted to access extruders().front(), which was empty.
No other checks need to be done with the empty print anyway.
2019-10-01 12:48:58 +02:00
Lukas Matena
b5e3899267 Wipe tower: Sparse layers are not included in filament consumption in case that the 'no sparse layers' option is set 2019-10-01 11:41:37 +02:00
Enrico Turri
8d53c5e978 #3010 - Added tech ENABLE_GIT_3010_FIX - GCodeAnalyzer and GCodeTimeEstimator modified to properly process gcode lines G92 2019-10-01 09:48:42 +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
Vojtech Kral
eb93d2a32d Merge branch 'master' into materials 2019-09-30 16:12:48 +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
Lukas Matena
d57a09558e Several fixes of previous commits related to KDTreeIndirect.hpp and ShortestPath.cpp/.hpp 2019-09-27 13:30:07 +02:00
YuSanka
c370fccd8b Changed default values.
And bottle_volume is preferred to recalculation instead of bottle_weight
2019-09-27 12:08:08 +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
YuSanka
82bc243281 Implemented possibility to set a resin cost 2019-09-26 16:36:31 +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
abaebb489a Added a config option to not print sparse layers on the wipe tower 2019-09-20 10:54:20 +02:00
Lukas Matena
04f051ff61 Wipe tower now doesn't print sparse layers, it is instead lower than the object 2019-09-20 10:54:20 +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
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
tamasmeszaros
1c20c4c43d Fix arrangement of objects larger than the print bed. Issue #2897 2019-09-10 13:31:29 +02:00
Lukas Matena
2fef16c39a Fix of #1266 and #2258
In case there were empty object layers supposed to be floating on supports which were set to use a specific extruder, wipe tower was missing layer required to do the toolchange, leading to a crash
Such cases are now detected and layers that need it are additionally assigned as wipe tower layers

Also tracked as SPE-526
2019-09-10 13:13:21 +02:00