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
Lukas Matena
c5f78dd6e2
Some more warnings fixed (WipeTower.cpp/.hpp)
2019-09-10 12:08:43 +02:00
Lukas Matena
a62bba2508
CoolingBuffer.cpp: Fixed a crash when encountering an invalid toolchange
...
This can happen if the user enters invalid toolchange through the custom gcodes
Such toolchange is now simply ignored by the CoolingBuffer, exporting gcode is NOT stopped, a log error is emitted
2019-09-10 11:46:18 +02:00
Enrico Turri
27f01bb09e
Fixed instance printable property after reload from disk
2019-09-10 11:16:59 +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
Lukas Matena
4dbc8b22a5
Updated tooltip
2019-09-09 16:39:26 +02:00
Lukas Matena
97a02f4412
Merge branch 'lm_custom_toolchange'
2019-09-09 16:12:09 +02:00
tamasmeszaros
796d0fbd81
Fix typo
2019-09-09 16:08:19 +02:00
Lukas Matena
822bc7a91c
Fix of previous commit, tooltip update
2019-09-09 16:02:39 +02:00
Lukas Matena
499fdeddd1
Custom toolchange gcode is searched for tool-changing command
...
If the custom toolchange gcode switches extruder to the one that is expected, PrusaSlicer does not issue its own T command
Otherwise, this command is inserted just after the custom gcode, even in case it is not empty
This should prevent issues such as #2884 and #2886 from being reported
2019-09-09 13:05:18 +02:00
Enrico Turri
015d430f03
Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer
2019-09-09 11:51:03 +02:00
Enrico Turri
a30c35d240
Follow-up of 9b5edbfa5f
-> added comments
2019-09-09 11:50:19 +02:00
bubnikv
751b9e69fa
Fixed stack overflows in G-code generator.
2019-09-09 10:18:17 +02:00
Enrico Turri
9b5edbfa5f
Fixed import from obj files
2019-09-09 09:56:36 +02:00
Enrico Turri
19616c4f93
Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into dev
2019-09-06 17:53:17 +02:00
Lukas Matena
a985a2720f
Fixed some more warnings, moved function to get ExtrusionRole name into ExtrusionEntity.hpp
...
So it can be called from wherever it may be needed
2019-09-06 15:55:07 +02:00
Lukas Matena
3f988b314c
Fixed several warnings (Config.hpp and few other files)
2019-09-06 15:55:07 +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
Enrico Turri
bda0246b5d
Fix of #2868 -> Revert 2c9521c6d2
and partial revert of fab3634931
2019-09-06 09:44:39 +02:00
Lukas Matena
6cc29c308c
Fill.cpp: Fixed a typo
2019-09-05 16:03:44 +02:00
Enrico Turri
bdbaecb7f8
Merge branch 'dev' of https://github.com/prusa3d/PrusaSlicer into dev
2019-09-05 09:55:08 +02:00
Enrico Turri
9b550fbd5b
Improved time estimator post-processing
2019-09-05 09:54:44 +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
Lukas Matena
09e4ac42ba
Fixed some more warnings (mostly GLGizmoSlaSupports.cpp)
2019-09-04 16:05:32 +02:00
tamasmeszaros
642442c977
Fix typo
2019-09-04 15:15:10 +02:00
Lukas Matena
805a5d22a1
Fixed couple of warnings in WipeTower.cpp, ToolOrdering.cpp and GCode.cpp
2019-09-04 14:56:35 +02:00
Lukas Matena
66d74bc591
Merge branch 'lm_layer_height_validation' into dev
2019-09-02 16:31:59 +02:00
Lukas Matena
942f959e87
Fixed couple of warnings
...
Turned several includes into forward declarations
Removed several sprintf calls in favor of std::to_string
2019-09-02 16:27:48 +02:00
Enrico Turri
729bd529dc
Fixed typo
2019-09-02 13:02:28 +02:00
Enrico Turri
0b03f0eb66
2nd attempt to fix non compatible (newer) .3mf and .amf import error handling on Linux and OsX
2019-09-02 11:55:14 +02:00
Enrico Turri
813a73e614
Attempt to fix non compatible (newer) .3mf and .amf import error handling on Linux and OsX
2019-09-02 09:38:45 +02:00
tamasmeszaros
17a7f58828
Revert full parallel support tree generation to partially parallel.
2019-08-30 15:13:40 +02:00
Lukas Matena
b43003dfad
Fixed layer height equality check needed in order to enable the wipe tower
...
The change was needed because enabling the new layer-height-modifier made the validation fail, even if there was no real layer height modification
2019-08-29 16:13:04 +02:00
tamasmeszaros
822a4a673c
Force deallocation of redundant vector content.
...
Call move assignment with empty vector instead of clear().
2019-08-29 10:24:55 +02:00
tamasmeszaros
d3fdb0a0e6
Fix memory leak.
...
Also removed some unnecessary aliases.
2019-08-29 10:10:09 +02:00
Lukas Matena
af2a3d2c08
Fixes of the wipe tower
...
- added an extra travel move after a toolchange
- wipe tower only sets temperatures with single extruder MM printers
- ooze prevention does not work with the wipe tower - added a check into Print::validate()
2019-08-28 16:28:22 +02:00
Enrico Turri
a53539f9af
Fixed import of .3mf and .amf files. Parse contained XML model file by chunch instead that as a whole
2019-08-28 16:03:26 +02:00
tamasmeszaros
c2b9980488
Mirror pad_around_object for 'Pad' page on 'Supports' page
2019-08-28 11:33:04 +02:00
bubnikv
9f0933ba6e
Fixed regression issue in G-code preview since 2.1.0-beta2:
...
Excessive amount of memory was pre-allocated for G-code preview
by volumetric speed.
2019-08-27 15:55:53 +02:00
Lukas Matena
42c5c19f1c
GCodeWriter.cpp: Fixed skipped z-lifts when its height was equal to layer height ( https://github.com/prusa3d/PrusaSlicer/issues/2154 )
2019-08-27 12:41:00 +02:00
bubnikv
30ca60272c
Yet another wording update.
2019-08-27 12:22:34 +02:00
bubnikv
888783e0b8
wording update
2019-08-27 12:19:44 +02:00
bubnikv
1e11eab620
Improved wording of some UI texts and tooltips.
2019-08-27 11:39:51 +02:00
bubnikv
80490550b5
Optimization of the tool path preview generation algorithm:
...
1) Replaced linear search with logarithmic search.
2) Templated the travel path generation, replaced 3 functions with one.
2019-08-26 15:52:56 +02:00
bubnikv
9cbfe8f5ef
Make sure the "avoid crossing perimeters" class is resetted
...
at the start of G-code export.
2019-08-26 09:55:00 +02:00
Enrico Turri
b5c57fc134
Follow-up of c7cdb2fd3e
-> Fixed localization of error messages for .3mf and .amf version check
2019-08-26 09:35:04 +02:00
bubnikv
de43f579a9
Refactoring of AvoidCrossingPerimeters::init_external_mp()
2019-08-25 09:01:01 +02:00
bubnikv
ceae7b4889
Fix of support generator regression agains 2.1.0-alpha1.
...
https://github.com/prusa3d/PrusaSlicer/issues/2810
https://github.com/prusa3d/PrusaSlicer/issues/2808
2019-08-25 08:59:47 +02:00
bubnikv
c725fd4ed5
Merge remote-tracking branch 'remotes/origin/lm_avoid_crossing_perimeters_parallel'
2019-08-25 08:32:02 +02:00
Enrico Turri
c7cdb2fd3e
Added version check for .3mf and .amf project files. PrusaSlicer will refuse to import files with newer version numbers.
2019-08-23 13:12:31 +02:00
Lukas Matena
3addae3bb4
GCode.cpp: Avoid crossing perimeters performance optimization
2019-08-23 13:06:29 +02:00
Enrico Turri
2c9521c6d2
Model::convert_multipart_object() modified to keep original object position on the bed
2019-08-22 13:29:21 +02:00
Enrico Turri
56080bee8d
Merge branch 'et_colorprint_no_m600' of https://github.com/prusa3d/PrusaSlicer
2019-08-22 11:51:00 +02:00
Lukas Matena
e928c0ac0b
Added a missing include
2019-08-22 11:35:25 +02:00
bubnikv
21ee458de5
Some Vojtech's beautification
2019-08-22 09:47:44 +02:00
Enrico Turri
42b8176e9b
Temporary human readable form for print color change tag for time estimate
2019-08-21 16:06:56 +02:00
tamasmeszaros
1b00932a01
Small refactor for BedShapeHint
2019-08-21 15:39:20 +02:00
Enrico Turri
c1d8fa377e
Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_colorprint_no_m600
2019-08-21 15:21:23 +02:00
bubnikv
85e7c9cb28
Merge remote-tracking branch 'remotes/wavexx/gyroid_improvements' into gyroid_improvements
2019-08-21 14:55:43 +02:00
bubnikv
6bc82bc21a
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-08-21 14:52:30 +02:00
bubnikv
dc3a0a0ab3
Refactoring of EdgeGrid to accept an segment to segment visitor.
...
WIP: PolygonTrimmer to trim skirt & brim with polygons stored in EdgeGrid.
2019-08-21 14:52:22 +02:00
Enrico Turri
9cabb03f72
GCodeTimeEstimator uses annotated gcode in place of processing m600 lines to detect color print changes.
...
WARNING -> After this commit the exported gcode will contain the extra lines used by the time estimator. They will be removed by a future commit when a new post-process method will be implemented.
2019-08-21 14:43:14 +02:00
Enrico Turri
b79457b723
Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_colorprint_no_m600
2019-08-21 14:09:45 +02:00
Enrico Turri
85ed363951
GCodeAnalyzer uses annotated gcode in place of processing m600 lines to detect color print changes
2019-08-21 14:09:20 +02:00
tamasmeszaros
67a6775773
Making arrange a little bit smarter: fix for issue #2787
2019-08-21 14:07:56 +02:00
bubnikv
668a8cd2ea
Fix of an update of support extruders when changing number
...
of printer extruders.
2019-08-21 14:05:32 +02:00
bubnikv
40d313961e
Fixing issues in Print / PrintObject / PrintRegion reporting
...
a list of printing extruders.
2019-08-21 13:49:37 +02:00
bubnikv
ded2019765
Fix of "spiral vase printable for a single region object only" check.
2019-08-21 13:08:26 +02:00
bubnikv
7c0c5705df
Fix of Excessive external_perimeter_extrusion_width error #2784
...
Increased the perimeter_extrusion_width check limit to 3x nozzle diameter.
2019-08-21 09:28:32 +02:00
tamasmeszaros
b58713c06f
SLA exposure bounds to printer params.
2019-08-20 17:24:48 +02:00
bubnikv
2e7d5e5bc1
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-08-20 16:22:37 +02:00
bubnikv
fd3fe75d1c
Reworked the rename_file() function on Windows to work reliably and
...
atomically. The code was taken from the llvm project, it is complex
and hopefully it covers all the Windows file system quirks. Vojtech
has highest hopes, that this will fix the various PrusaSlicer.ini
file corruptions.
Enabled the locales switching and error handling on Linux as well,
where now the missing locales are reported and running the locale-gen
tool is recommended.
2019-08-20 16:19:30 +02:00
tamasmeszaros
7c94db0634
Adding new sla material parameters: (initial) exposition min/max
2019-08-20 15:49:32 +02:00
Lukas Matena
53939796a6
GCode.cpp: Fix of temperature change before print
...
Function set_extruder can be called before moving to the first layer, m_layer_index is then -1. We definitely don't want to set temperature for second layer in that case.
2019-08-20 14:22:31 +02:00
bubnikv
384ee17fcb
Merge remote-tracking branch 'remotes/origin/lm_circular_priming'
2019-08-20 09:34:45 +02:00
bubnikv
2870416e4d
Merge remote-tracking branch 'remotes/origin/lm_exceptions_rebased'
2019-08-20 09:20:57 +02:00
bubnikv
778e499827
Merge remote-tracking branch 'remotes/origin/lm_wipe_tower_linear_advance'
2019-08-20 09:19:22 +02:00
Vojtech Kral
0ded335488
build: Add source file encoding check
...
Source files are checked using a small utility in src/build-utils
This is done to prevent bugs in build and localization caused
by weird non-UTF-8 encodings interpreted by MSVC in terms of local codepages
rather than UTF-8.
2019-08-19 17:04:14 +02:00
Vojtech Kral
745182988d
Refactor: Move Semver from slice3r to libslic3r
...
A static symbol Slic3r::SEMVER is introduced, which holds
the running slicer's Semver object.
This is mainly done to make testing updater behaviour
_much_ easier. Additionaly to cleanup some questionable code
(Semver was being parsed multiple times / in multiple places
in the frontend.)
2019-08-19 17:04:14 +02:00
bubnikv
e30a17beb3
Fixed memory issues of BedShapeHintwhen using unions of non-trivial objects
2019-08-19 17:01:39 +02:00
Lukas Matena
92bdb68e11
Extended the error message when empty layers are detected
2019-08-19 15:50:49 +02:00
YuSanka
283cee3f27
Fixed SPE-1000.
...
Since the value inserted from the keyboard or clipboard is not updated under OSX,
we forcibly set the input value for SpinControl every time during editing.
Thus we can't set min control value bigger then 0.
Otherwise, it couldn't be possible to input from keyboard value less then min_val.
2019-08-19 12:58:59 +02:00
tamasmeszaros
eddf932161
Set min SLA display resolution to 1x1 (see SPE-1000)
2019-08-19 10:58:44 +02:00
tamasmeszaros
65368db49b
Merge branch 'master' into tm_clang_mingw
2019-08-16 16:37:02 +02:00
tamasmeszaros
c187a5fb69
Fix up build and clear dev output
2019-08-16 16:31:05 +02:00
tamasmeszaros
7e0199746e
more clang warnings enabled, performance measuring
...
Succesfull build on mingw-w64
fix sandboxes
Mingw fixes and full parallel support tree gen.
2019-08-16 16:17:37 +02:00
Lukas Matena
0f32223ba0
WipeTower: linear advance is disabled immediately before ramming, not before moving to the wipe tower
...
Linear advance is reset by filament start gcode after a toolchange. However, not all moves to the wipe tower
end with a toolchange (brim, empty grid) and it would therefore disable linear advance until the next toolchange
This should solve https://github.com/prusa3d/PrusaSlicer/issues/2770
2019-08-16 00:20:51 +02:00
tamasmeszaros
8fce511806
Fix for issue #2765 , arrange crash with custom beds
2019-08-15 16:15:17 +02:00
Lukas Matena
4cca6f8724
Allowed the skirt to intersect brim ( https://github.com/prusa3d/PrusaSlicer/issues/724 )
...
Brim lines are split at the intersection so there is no overextrusion.
2019-08-15 12:27:49 +02:00
Lukas Matena
15744f021a
Print::validate: added epsilon checks on nozzle and filament diameter validation ( https://github.com/prusa3d/PrusaSlicer/issues/2737 )
...
Changed messagebox text after changing extruder diameter with single extruder printers so it is more obvious why it shows
In case nozzle diameters differ and someone checks 'single_extruder_mm', PrusaSlicer asks whether all diameters should be unified. Answering NO did not undo the SEMM check. It does now.
2019-08-15 10:43:17 +02:00
Lukas Matena
c84b1ca34b
Multimaterial initial priming for non-Prusa printers ( https://github.com/prusa3d/PrusaSlicer/issues/1121 )
...
The initial priming now does not assume anything about bed width and always uses the space it has
In case of circular beds it places the priming lines along the diameter
Custom beds are not supported (they are treated as circular with no extra checks whether it is sane)
Slight refactoring of the WipeTower class (constructor now gets reference to PrintConfig and not the individual values, same with set_extruder). This was legacy from times when the wipe tower was meant to be abstract and independent on the rest)
2019-08-15 01:41:46 +02:00
YuSanka
2d1c554758
Some reverts for commit 4cd4d2c8b5
2019-08-14 17:07:30 +02:00
YuSanka
4cd4d2c8b5
Fixed wrong page selection for Printer Setting after application run
2019-08-13 17:09:42 +02:00
Lukas Matena
c189140221
Fixed a false positive empty layer report
...
Reported in https://github.com/prusa3d/PrusaSlicer/issues/2752 and was a result of setting support contact z distance to negative value.
This lowered the maximum allowed print_z of the next layer, even though previous layer had object layers too, so the penalty from the contact z should not have been applied.
Fixed simply by rejecting the negative contact_z.
2019-08-13 11:02:58 +02:00
tamasmeszaros
a49caea6cc
Hotfix for crash when empty pad and support mesh is generated.
2019-08-09 17:13:18 +02:00