Commit Graph

147 Commits

Author SHA1 Message Date
8e4b1c656c Rename SLAPrinter interface to SLAArchive as it makes more sense. 2021-09-27 10:00:21 +02:00
53a5c23d0f Eradicated admesh from TriangleMesh:
TriangleMesh newly only holds indexed_triangle_set and
TriangleMeshStats. TriangleMeshStats contains an excerpt of stl_stats.
TriangleMeshStats are updated when initializing with indexed_triangle_set.

Admesh triangle mesh fixing is newly only used when loading an STL.
AMF / 3MF / OBJ file formats are already indexed triangle sets, thus
they are no more converted to admesh stl_file format, nor fixed
through admesh repair machinery. When importing AMF / 3MF / OBJ files,
volume is calculated and if negative, all faces are flipped. Also
a bounding box and number of open edges is calculated.

Implemented its_number_of_patches(), its_num_open_edges()
Optimized its_split(), its_is_splittable() using a visitor pattern.

Reworked QHull integration into TriangleMesh:
    1) Face normals were not right.
    2) Indexed triangle set is newly emitted instead of duplicating
       vertices for each face.

Fixed cut_mesh(): Orient the triangulated faces correctly.
2021-09-20 17:12:22 +02:00
12298aa3c8 Fix of clipping plane for SLA supports,
probably broken since 1009f78
2021-07-23 11:32:36 +02:00
c451fc94ba Refactored hollowing backend to use indexed_triangle_mesh 2021-06-08 10:28:23 +02:00
997c446a05 SLA backend refactored, except Hollowing 2021-06-08 10:27:35 +02:00
365d7a83cc Refactoring for code clarity: Replaced this->m_xxx with m_xxx
as the m_ prefix already signifies a class local variable.
2021-05-06 14:43:36 +02:00
f3af547441 New custom backend for libnest2d using libslic3r types
Adapted to new clipper->eigen mod
2021-04-21 16:02:25 +02:00
9e770e052c Fix slow cancellation of rasterization step
fixes #6253
2021-04-08 14:36:37 +02:00
dfe9554da3 Use triangle removal only for visualized mesh 2021-03-08 17:38:10 +01:00
f827e15f81 Group hollowing result (including grid) into one struct 2021-03-08 17:38:10 +01:00
2c197570b2 Add a notification when custom support enforcers are not used due to supports being off
It is now emitted from Print::validate and has a hyperlink to enable supports
2021-03-04 09:35:22 +01:00
301ac20fa1 Fixing Clang warnings 2 2021-02-08 17:52:29 +01:00
8199e4051e Replaced all "long long" types with int64_t
Replaced all "unsigned long long" types with uint64_t.
These "new" types better communicate their meaning and they are
guaranteed to behave the same on all platforms & compilers.
2020-12-10 08:40:15 +01:00
3f08684873 Estimated printing time per layer for SLAPrint
Split the time if it's needed
2020-11-19 21:41:51 +01:00
f702dafac9 Polishing of NotificationManager:
Fixed pairing of PrintObjects with slicing warning notifications.
Removed or commented out dead code.
Added documentation.
2020-10-14 16:49:06 +02:00
175cb54df9 DynamicPrintConfig::normalize() renamed to normalize_fdm(),
optimization of Print::apply()
2020-09-24 19:03:33 +02:00
d4f32a3b4d Fix build on win and rpi 2020-08-13 15:09:22 +02:00
bbffe7c52b replace ccr_::enumerate with flexible for_each
enumerate is unusual and would only work effectively with random access iterators

this for_each takes advantage of tbb blocked_range
replace ccr_::enumerate with flexible for_each

enumerate is unusual and would only work effectively with random access iterators

this for_each takes advantage of tbb blocked_range
2020-08-13 14:35:14 +02:00
b75543f85b Minor change to SLAPrinter interface 2020-08-13 14:35:14 +02:00
6a9eccf673 Rename EigenMesh3D to IndexedMesh and SupportConfig to SupportTreeConfig 2020-08-03 19:05:30 +02:00
16fdfdc6cb Fixed back-end warning infrastructure: The Print / PrintObject
should have been derived from ObjectBase, not from ObjectID.
2020-07-21 15:33:36 +02:00
92d27f157c Support for collecting warnings from the background processing.
Multiple warnigns may be collected per Print / PrintObject milestone
and a status update is sent to the UI immediately after a warning
is issued.
2020-07-14 11:52:34 +02:00
4e4efeef31 Initial version of sl1 import with sla::Raster refactor. 2020-04-23 19:05:32 +02:00
3abee755a8 Do EFC for the first faded layers of SLA, interpolate efc parameters
Compensated slices have negative orientation...


Move efc to common params


Fix elefant foot compensation reversed contours


Remove redundant assertions and don't apply absolute correction if zero
2020-02-18 17:39:36 +01:00
c40c181535 Make sure that when drill holes are manipulated with, all data are invalidated properly
It is needed to regenerate hollow_mesh_with_holes completely, it may contain holes that were deleted by the user in the meantime
2020-02-03 17:31:18 +01:00
61cc8765bf Fixed conflicts after merge
slaposHollowing was divided into slaposHollowing and slaposDrillHoles on master
This commit takes this into account on the code that was merged from lm_drilling_backend_rebased
2020-02-03 15:42:54 +01:00
18ca88013f Merge branch 'master' into lm_drilling_backend_rebased 2020-02-03 15:20:16 +01:00
9c68f20898 Put hole drilling into separate step 2020-01-31 08:58:21 +01:00
5984ecaff2 Function sla_trafo made accessible from outside SLAPrint.cpp unit 2020-01-29 10:07:10 +01:00
1702008db1 Bugfixes and refactoring for SLA backend
remove duplicate code


Mark conversion constructors of EigenMesh3D `explicit`


Working on mesh simplification for hollowed interior


Fix bug SPE-1074: crash with empty supports and disabled pad.


fix regression after refactor


Remove unfinished code


Fix missing includes and dumb comments
2020-01-24 14:26:19 +01:00
2c4b17a3f5 Allowed to do drilling without hollowing 2020-01-24 10:53:40 +01:00
1bc1ba5a1b Use mesh boolean in the backend to drill holes. 2020-01-24 10:53:40 +01:00
6ff5d02bcc Merge branch 'master' into lm_tm_hollowing 2019-11-18 17:50:56 +01:00
0cf10c144c Holes are now visible on slices in preview. 2019-11-13 15:55:37 +01:00
2608239e37 SLAPrint steps moved to separate module.
* Lambdas replaced with class methods
2019-11-12 16:54:59 +01:00
10f2d23ff6 Merge branch 'tm_openvdb_integration' into lm_tm_hollowing
* Refactor file names in SLA dir
2019-11-11 12:55:22 +01:00
ee11f63bb9 Hollowing step in SLAPrint process, PrintConfig params added. 2019-11-06 13:38:43 +01:00
f63752225f Add oversampling and gaussian filter to hollowing.
* Additional steps hollowing and drilling in SPAPrint
* Remove SLABoilerPlate.hpp as it was empty.
2019-11-05 14:48:00 +01:00
83a35683ed Zipper made available for modification after RasterWriter finishes. 2019-10-23 17:32:17 +02:00
5a3111528d 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
9f95831e40 sla::Raster interface clarified and covered with tests.
Also renamed sla::SupportTreeAlgorithm to SupportTreeBuildsteps.
2019-10-01 14:58:37 +02:00
7a4a0917cf Deeper test coverage for support tree generation.
Restructuring for testability.
2019-10-01 14:58:37 +02:00
20b86bbe8f Reworked pad creation algorithm with new parameters:
* brim size
* force pad around object everywhere
2019-10-01 14:58:37 +02:00
b1cdd65b8a 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
bfb003db7f Fix memory leak.
Also removed some unnecessary aliases.
2019-08-29 10:10:09 +02:00
c5d2e1e0c1 Merge remote-tracking branch 'origin/ys_overrides' 2019-07-31 13:05:47 +02:00
165393ecd5 Improved logging of SLA support tree creation. 2019-07-30 17:55:22 +02:00
f5e17835d6 Reworked the FFF Print::update() to process the filament retract
override values and to store them into the output G-code.
2019-07-25 14:39:19 +02:00
7a614088ae WIP Undo / Redo: ModelID / ModelBase renamed to ObjectID / ObjectBase 2019-06-27 11:02:45 +02:00
259f7ab35e Merge branch 'master' into tm_sla_printer_mirror 2019-06-18 17:42:10 +02:00