Lukas Matena
09fe421fe8
Merge branch 'stable' (no conflicts fixed)
2022-04-27 22:24:13 +02:00
Pascal de Bruijn
8415f805d9
Fix Ender-3 Pro
...
Commit 1ad8460a3c
had several errors.
2022-04-27 18:52:21 +02:00
tamasmeszaros
2377349e7f
Merge branch 'tm_read_svg_archive'
2022-04-26 16:55:59 +02:00
tamasmeszaros
9d5f8a02c6
Remove junk message
2022-04-26 16:19:32 +02:00
tamasmeszaros
7cf893fe81
Fix memory corruption in svg parsing
2022-04-26 15:26:29 +02:00
tamasmeszaros
be78bdf5ff
Fix the issue with point skipping in svg export
2022-04-26 15:08:06 +02:00
tamasmeszaros
dea3c2cea3
Merge branch 'tm_hollowing_optimization_2'
2022-04-26 14:51:39 +02:00
tamasmeszaros
610e971373
Fix Fix triangle removal issues when using full narrow band of interior
2022-04-26 14:50:50 +02:00
tamasmeszaros
39a47e91f7
Fix failing test for hollowing
2022-04-26 14:50:50 +02:00
tamasmeszaros
23db6f3071
Additional performance tuning
...
by decreasing accuracy
2022-04-26 14:50:50 +02:00
tamasmeszaros
d1b161b281
Hollowing voxel_scale now considers input model volume
2022-04-26 14:50:50 +02:00
tamasmeszaros
e405b0ef4a
Cleanup
2022-04-26 14:50:50 +02:00
tamasmeszaros
b5bf529551
Solve missing faces of the interior in connection with the holes
2022-04-26 14:50:50 +02:00
tamasmeszaros
1a6a2a0b9a
2.5x speedup of hollowing.
...
Triangle removal is slightly broken
2022-04-26 14:50:50 +02:00
tamasmeszaros
9e5ba20f8f
Use default bandwidth before csgUnion when hollowing
...
Add cca 6.5% speedup (on 12 core amd)
2022-04-26 14:50:50 +02:00
tamasmeszaros
4148d7332e
Prohibit multiple formats with the same extension (zip)
...
Archive format can be specified as a hint when a reader is created.
2022-04-26 14:43:28 +02:00
tamasmeszaros
24c9ce6e14
Fix the issue with point skipping in svg export
2022-04-26 13:26:13 +02:00
tamasmeszaros
73837c2f82
Add more comments
2022-04-26 11:30:55 +02:00
tamasmeszaros
784105f5ad
Extend sla archive tests with read-back
2022-04-26 10:57:49 +02:00
tamasmeszaros
0025a65611
Add comment
2022-04-26 09:44:00 +02:00
tamasmeszaros
32a923da93
Archive reader types are now registered in one place
2022-04-26 09:38:03 +02:00
tamasmeszaros
885e6964ba
Working svg import
...
Strange bug in export, see line 111
2022-04-26 09:38:03 +02:00
tamasmeszaros
4ef860811f
Wip on svg archive import
2022-04-26 09:38:03 +02:00
tamasmeszaros
e0fc337b2d
Get rid of window size parameter from import interface
...
Make 'Balanced' the default import quality
2022-04-26 09:38:03 +02:00
tamasmeszaros
5ecf29f303
Separate existing sla archive import code
2022-04-26 09:38:03 +02:00
Pavel Mikuš
1b1f523e3b
Merge pull request #8242 from prusa3d/pm_occlusion_guided_seams
...
Implementation of occlusion guided seam placement - balance between visibility and angle sharpness.
Improvements in seam drawing and alignment, via cubic splines.
Spline/Polynomial fitting functions.
Refactoring of Point structure - angle functions.
Triangular mesh subdivision function.
Various small additions/refactoring.
! Macro which replaces std::deque with boost version on Windows builds.
2022-04-25 17:53:30 +02:00
PavelMikus
7cccb736de
Reverted perl perimeter test bypass
2022-04-25 17:34:22 +02:00
PavelMikus
77b5885f7d
fix build problems
2022-04-25 12:42:51 +02:00
PavelMikus
b5a5926bbe
Implemented alignment of inner seams, especially in concave angles where the perpendicular
...
projection is suboptimal.
2022-04-25 12:42:51 +02:00
PavelMikus
e377e58cd2
Updated weights for curve fitting, ensured snapping to sharp corners
...
Fixed debug exports after refactorings.
2022-04-25 12:42:51 +02:00
Godrak
43d9166382
nomralize weights of points before curve fitting and fitted value interpolation
2022-04-25 12:42:51 +02:00
PavelMikus
68cf4db58e
interpolate fitted and original position during b spline alignment -
...
push points with large weight more towards their original position
2022-04-25 12:42:51 +02:00
PavelMikus
137fa35238
Postpone seam picking for spNearest configuration to the place_seam method.
2022-04-25 12:42:51 +02:00
PavelMikus
83f3ca27dc
reworked and improved the find_next_seam_in_layer method:
...
Now uses find nearby_points with radius to save some computations
if all points are far.
From the nearby points, it finds the nearest and best point, and tries
to use them in this order (preivously only nearest was considered).
This helps to snap the alignment to nearby sharp corners if present.
2022-04-25 12:42:51 +02:00
PavelMikus
04d4a0d4f7
when searching for central enforcer (for alignment purposes), find properly the first
...
enforced segment. Fixed issue where if the enforced segment was painted over the start/end of the
perimeter, part of the enforced points was not considered.
2022-04-25 12:42:51 +02:00
Vojtech Bubnik
2dfabb7e69
Fixing missing include.
2022-04-25 12:42:51 +02:00
Vojtech Bubnik
399b7f79e8
Little more refactoring of SeamPlacer.
2022-04-25 12:42:51 +02:00
Vojtech Bubnik
8c2e6aba79
On MSVC, std::deque degenerates to a list of pointers, which defeats
...
its purpose of reducing allocator load and memory fragmentation.
https://github.com/microsoft/STL/issues/147#issuecomment-1090148740
Slic3r::deque<> compiles to boost::container::deque<> on Windows,
to std::deque<> on other systems.
SeamPlacer newly uses Slic3r::deque<>.
2022-04-25 12:42:51 +02:00
Vojtech Bubnik
adb467286f
Documented the seam placement corner penalty with an image.
2022-04-25 12:42:51 +02:00
Vojtech Bubnik
853b8adf80
Little refactoring of SeamPlacer.
...
Moved color mapping functions to Color.hpp
Removed the "extern" keyword from Color.hpp
2022-04-25 12:42:51 +02:00
Vojtech Bubnik
f5709345ad
GCode export: Replaced std::strings in G-code comments with string_views.
...
Seam placer: Detecting perimeter by the pointer and size of the
comment_perimeter string_view, only placing seams for perimeters.
2022-04-25 12:42:51 +02:00
PavelMikus
fb2621c03c
Negative volumes raycasting fix - normal was flipped between iterations, incorrect algorithm for hit detection
...
Debug files export fix after refactoring
2022-04-25 12:42:51 +02:00
Vojtech Bubnik
8ce36e9137
Refactoring of SeamPlacer:
...
Replaced shared_ptr<> with deque.
Merged multiple vectors into one.
Refactoring using common helper functions (prev/next_idx_modulo(),
angle(), ...)
AABBTreeIndirect::intersect_ray_all_hits(): Reuse memory of the hits cache.
2022-04-25 12:42:51 +02:00
PavelMikus
3b8cfc62da
fixed drawing seams on multipart objects
...
removed oversampling for blockers
improved drawing seams over sharp features
2022-04-25 12:42:51 +02:00
PavelMikus
47fc39a4ba
fixed misleanding or wrong comments of the fitting function
2022-04-25 12:42:51 +02:00
PavelMikus
ae89d65e3e
added description for the parameter count increase
2022-04-25 12:42:51 +02:00
PavelMikus
396d3215bd
Refactoring of curve fitting algorithm:
...
removal of artificial extension at the ends of the curve
removal of observation points normalization
added clamping of parameter index which compensates for under-represented spline segments
added parameter for level of freedom at the ends of the curve
2022-04-25 12:42:51 +02:00
Vojtech Bubnik
c19770189f
Follow-up to 1c9ba291fe32bc4a4c78cabbab0639b0c164f23f
...
Refactoring of Curves.hpp for better memory management and vectorization
2022-04-25 12:42:51 +02:00
Vojtech Bubnik
42e802c1b8
Refactoring of Curves.hpp for better memory management and vectorization
...
(replaced vector of vectors with Eigen 2D matrices).
2022-04-25 12:42:51 +02:00
Vojtech Bubnik
bd8ce6fabd
Follow-up to 9cb51caead9dee5c4d12a4ef5f925b5efeb00b75
...
Fixing compilation on GCC
2022-04-25 12:42:51 +02:00