Commit Graph

35 Commits

Author SHA1 Message Date
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
24265b29ce Remove leftover junk comments 2020-08-03 19:07:30 +02:00
fe78684e30 Remove the discard region for bottom points removal.
This was a workaround for small supports not to end up in the middle of the gap between the pad and the object. The issue needs to be solved at the support generation.
2020-08-03 19:05:30 +02:00
00cd2acf2d Fix remove_bottom_points function 2020-08-03 19:03:02 +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
f20e5e3f74 Added new parameter elefant_foot_min_width 2020-02-14 09:21:00 +01:00
ccda6cc051 Add elephant foot compensation to SLA print
Work in progress


Convert efc input to the right scaling


Apply EFC on the slice index to make it visible in the preview.
2020-02-14 09:21:00 +01:00
3c8e656c46 Small fix of 41388bd:
Interior mesh can be empty and TriangleMeshSlicer would fail in that case.
Also, recalculating shared vertices after repair should probably be done, TMS relies on it.
2020-02-11 15:25:28 +01:00
61b23691bf Use parallel execution for cutting the hollowed interior
partial solution for #3622
2020-02-10 16:57:17 +01:00
4dff6b6832 Remove the hollowed interior slices from the model slices in 2D 2020-02-10 16:33:59 +01:00
a394d821a6 Spiral vase improvements and bugfixes.
Fixes Connecting / expanding Bottom Layers to Vase Perimeter #253
Fixes Slicing error in vase mode #452
Fixes Slicing Issue (Vase Mode, 0.6mm dmr nozzle) #1887
Fixes Top fill pattern isn't used in spiral vase mode #2533
Fixes Cisar's vase doesn't slice correctly, creates artefacts #3595

When the model is sliced, all the contours are newly oriented
counter-clockwise (even holes), merged and then only the largest area
contour is retained. In perimeter generator, if the largest contour
splits into multiple perimeters, newly only the largest area perimeter
is retained in spiral vase mode. These two changes solve #3595 and similar.

The infill is newly calculated only for the bottom solid layers
if the spiral vase mode is active (removes various unwanted infill
along the vase walls), and the last bottom solid layer is switched
to a top solid pattern (solves #2533).

The thin walls are newly enforced to be disabled in spiral vase mode,
and the "ensure vertical shell wall" is enforced in spiral vase mode
to extend the bottom of the vase to the vase hull (fixes #253).
2020-02-08 21:36:43 +01:00
c8f660c0b6 Follow-up for hole point randomization 2020-02-07 16:59:34 +01:00
cda8891fe8 Hollowing: randomize hole mesh translations before unification.
To prevent self intersections in the output mesh.
2020-02-07 16:33:04 +01:00
d5956a8926 Report failing union on holes instead of faulty input mesh. 2020-02-07 15:59:33 +01:00
0e97237dcd Fixed a bug in validation of the FDM Print to check for extruder
collisions against already printed objects: Rotation of an object
was not being taken into account.
Fixes #2450 PrusaSlicer 2.0 Sequential printing vs rotate object
Fixes #3585 Always Sequential Printing Error (Regardless of setting, placement or object size)

Fixed some collisions in sequential print just after arrangement by
making the validation using a slightly lower extruder radius value
than the arrangement.

Refactored PrintObject coordinate system so that the PrintObject's
coordinate system is always centered in respect to its ModelObject's
geometries. This refactoring may improve path planning a bit and
it may lower the requirements on bits representing Clipper coordinates
by 1 bit.
2020-02-07 14:10:27 +01:00
88be689482 Handle CGAL exceptions and add tests for mesh boolean operations
Add conversion to exact predicates exact construction kernel format for consecutive booleans (experiments)
2020-02-05 17:40:05 +01:00
85dfd49afb Hollowing: merge meshes of holes with igl (intersecting holes) 2020-02-04 15:03:10 +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
5ef96b1216 Trying to improve drilling stability by handling CGAL exceptions 2020-01-29 15:57:49 +01:00
0f62f0a010 Refuse to drill a broken mesh
Hole parameters defaults and limits changed a bit
2020-01-29 14:07:12 +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
d2c1dbd785 Add tests for EigenMesh3D raycaster with hole support.
Tests fail! Supports are intersecting the object when holes are added.
2020-01-08 17:11:22 +01:00
8b0a621443 SLA supports gizmo now uses hollowed mesh when available
Bugfix: SLA support tree is is now given the hollowed mesh, not the original
Added ImGui separators and change background alpha in hollowing gizmo dialog (to match the other gizmos)
2019-12-20 10:17:59 +01:00
601ede96be Merge branch 'lm_tm_hollowing' into lm_hollow_gizmo 2019-11-29 10:20:32 +01:00
71fa04ad96 SLATreeSupports generator now takes account for holes and can build supports through them 2019-11-29 10:19:02 +01:00
86be1c1ed7 Add hollowed interiors to the support data 2019-11-26 14:18:56 +01:00
0cf10c144c Holes are now visible on slices in preview. 2019-11-13 15:55:37 +01:00
8a7c713339 Merge branch 'tm_openvdb_integration' into lm_tm_hollowing
SLAPrintSteps parallel functions now fully adapted to sla::ccr
2019-11-12 17:11:26 +01:00
2608239e37 SLAPrint steps moved to separate module.
* Lambdas replaced with class methods
2019-11-12 16:54:59 +01:00