Pavel Mikus
70677858a1
Use resampling only with smooth surfaces generated by Arachne
2022-07-14 18:00:59 +02:00
Pavel Mikus
2e437d1761
curling improvements
2022-07-14 11:47:29 +02:00
Pavel Mikus
d5d1633e2b
Bugfix: seam enforcers and blockers not respected on different nozzle widths -
...
now flow width is used instead of fixed distance param
2022-07-14 10:15:05 +02:00
Pavel Mikus
f5efb0d0aa
remove global angle computation, wrong results
2022-07-14 10:15:05 +02:00
Pavel Mikus
4a9f9aa89b
oversample smooth surfaces, which reduces curling on those surfaces, because the shortest path down is better defined
2022-07-14 10:15:05 +02:00
Pavel Mikus
40408c2178
increase snapping angle
2022-07-14 10:15:05 +02:00
PavelMikus
768bfd5c7f
reduce curling
2022-07-14 10:15:05 +02:00
PavelMikus
c65e22e6bb
refactored find_seam_string func
2022-07-14 10:15:05 +02:00
PavelMikus
4d8e8afb10
Count seam string weight and try mutiple strings; choose highest weight
2022-07-14 10:15:05 +02:00
Pavel Mikus
f31865a627
increase weight of central seam enforcers
2022-07-14 10:15:05 +02:00
Pavel Mikus
232517fe77
choose seam string with lower variance weighted by visibility
2022-07-14 10:15:05 +02:00
Pavel Mikus
feeb9b2b1b
bug fixes in the linear regression
2022-07-14 10:15:05 +02:00
PavelMikus
fec3afa490
cubic spline segment size based on the length of string
2022-07-14 10:15:05 +02:00
PavelMikus
1e05d09324
search points based on updated linear regression model (line), make search raidus dynamic based on layer thickenss
2022-07-14 10:15:05 +02:00
Lukáš Hejl
39404be75a
Fix of #8471 - Pressure equalizer caused unintentional deceleration before ironing and acceleration after ironing.
2022-07-14 09:30:37 +02:00
Lukáš Hejl
b4ff9b72a9
Fix of #8455 - Incorrect scale in ExtrusionLine::simplify() prevented removing vertices between collinear and nearly collinear lines.
2022-07-14 09:10:25 +02:00
Lukáš Hejl
e2e1272003
Fix of #8455 - Fixed the incorrect computation of the threshold for grouping ExtrusionPaths with the same extrusion width in thick_polyline_to_extrusion_paths() that was affecting Arachne and gap fill.
...
The previous behavior didn't merge two ExtrusionPaths with the same extrusion width, and it also could merge two ExtrusionPaths with different widths, which was unintentional, and it could also possibly create visible artifacts in some cases.
Because simplification of ExtrusionLoop in GCode::extrude_loop is working on ExtrusionPath and not on whole ExtrusionLoop, so previous incorrect behavior was preventing simplification and removing small extrusions like in #8455 .
2022-07-14 09:10:22 +02:00
enricoturri1966
b9caacfdd9
Merge branch 'et_opengl_3_rebase' of https://github.com/Prusa-Development/PrusaSlicerPrivate into et_raycast_picking_rebase
2022-07-13 13:50:34 +02:00
enricoturri1966
e0c8ffc524
Tech ENABLE_OPENGL_DEBUG_OPTION - Let option opengl-debug be always available to avoid error unknown option at startup
2022-07-13 10:06:57 +02:00
Lukáš Hejl
22255822a2
Fix of #8488 - Infinite loop in the lightning infill.
2022-07-12 18:59:48 +02:00
Lukáš Hejl
7860cf8811
Follow-up to e86463a369
: Forgot to remove useless asserts.
2022-07-12 13:52:02 +02:00
Lukáš Hejl
e86463a369
Fix of #8463 - Crash in SkeletalTrapezoidation::computePointCellRange() when a cell point didn't fit into Vec2i64 because it was too far away.
2022-07-12 13:36:26 +02:00
Lukas Matena
f41d72d656
Fixed empty 'G1' lines generated by the wipe tower:
...
They are not nice and trigger assertions in CoolingBuffer
2022-07-12 10:59:24 +02:00
enricoturri1966
c7d44d3576
#8467 - GCodeProcessor - Added processing of parameter 'T' for gcode lines M104
2022-07-11 12:24:42 +02:00
enricoturri1966
850b590c31
#8467 - GCodeViewer - Fixed detection of extruder changes for gcode produced by other slicers, by adding missing default values
2022-07-11 11:52:58 +02:00
Lukáš Hejl
d02a0ec1b2
Fix of #8447 - Zero spacing when Clipper Z-coordinate (line width) equaled zero because the resulting path after clipping had vertices from a clipping polygon (which has Z-coordinate equal to zero).
2022-07-11 11:31:59 +02:00
Lukáš Hejl
38ca763c36
Fix of #8437 - Very tiny unprintable polygons caused InfillFailedException in the lightning infill.
2022-07-11 10:50:01 +02:00
tamasmeszaros
e58a15bdf8
Prepare arrange for variable bed distance
2022-07-07 15:51:41 +02:00
tamasmeszaros
f025c9cd6f
Adding overload for string conversion to float directly
2022-07-07 15:43:32 +02:00
enricoturri1966
38683ee221
Tech ENABLE_OPENGL_DEBUG_OPTION - Add new command line option '--opengl-debug' to allow users to force PrusaSlicer to output to console OpenGL related errors on graphics cards supporting it.
2022-06-30 09:49:29 +02:00
Lukáš Hejl
5d557ed32f
Fix of #8436 - Crash in the lightning infill when some region has zero infill density.
2022-06-30 09:44:00 +02:00
Lukáš Hejl
f91fed7938
Added missing includes (GCC 11.2 without PCH).
2022-06-30 00:29:26 +02:00
Lukáš Hejl
7783915a34
Fix of #8435 - Division by zero in lightning infill when automatic extrusion width was used.
2022-06-29 18:33:57 +02:00
Lukas Matena
6c0db58628
Fixing conflicts part 4:
...
See previous commit. This one applies changes from master_250
to the files mentioned
2022-06-29 16:43:29 +02:00
Lukas Matena
d662bf2a18
Fixing conflicts part 3:
...
Some files have whitespace changes that make resolving conflicts difficult.
Take the version from master first, next commit will apply changes from master_250
2022-06-29 16:43:29 +02:00
Lukas Matena
e6d341f9f2
Fixing conflicts part 2:
...
SeamPlacer.cpp/.hpp files from master_250 were used, there should be no changes
in master that will be overwritten, the feature was backported from master and
only developed in master_250 from then on
2022-06-29 16:43:29 +02:00
Lukas Matena
62e59a4526
Fixing conflicts part 1:
...
fixed simple conflicts
2022-06-29 16:43:29 +02:00
Lukas Matena
b61714bb3e
Merge branch 'master_250' (NO CONFLICTS FIXED):
...
CONFLICT (content): Merge conflict in resources/profiles/PrusaResearch.idx
CONFLICT (content): Merge conflict in resources/profiles/PrusaResearch.ini
CONFLICT (content): Merge conflict in src/libslic3r/CMakeLists.txt
CONFLICT (content): Merge conflict in src/libslic3r/Fill/Fill.cpp
CONFLICT (content): Merge conflict in src/libslic3r/GCode.cpp
CONFLICT (content): Merge conflict in src/libslic3r/GCode.hpp
CONFLICT (content): Merge conflict in src/libslic3r/GCode/GCodeProcessor.cpp
CONFLICT (content): Merge conflict in src/libslic3r/GCode/GCodeProcessor.hpp
CONFLICT (content): Merge conflict in src/libslic3r/GCode/SeamPlacer.cpp
CONFLICT (content): Merge conflict in src/libslic3r/GCode/SeamPlacer.hpp
CONFLICT (add/add): Merge conflict in src/libslic3r/Geometry/Curves.hpp
CONFLICT (content): Merge conflict in src/libslic3r/PerimeterGenerator.cpp
CONFLICT (content): Merge conflict in src/libslic3r/Point.hpp
CONFLICT (content): Merge conflict in src/libslic3r/PrintConfig.hpp
CONFLICT (content): Merge conflict in src/slic3r/GUI/ConfigWizard.cpp
CONFLICT (content): Merge conflict in src/slic3r/GUI/GCodeViewer.cpp
CONFLICT (content): Merge conflict in src/slic3r/GUI/GLCanvas3D.cpp
CONFLICT (content): Merge conflict in src/slic3r/GUI/GUI_App.cpp
CONFLICT (content): Merge conflict in src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp
CONFLICT (content): Merge conflict in src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp
CONFLICT (content): Merge conflict in src/slic3r/Utils/FixModelByWin10.cpp
CONFLICT (modify/delete): t/perimeters.t deleted in HEAD and modified in master_250. Version master_250 of t/perimeters.t left in tree.
CONFLICT (content): Merge conflict in tests/fff_print/CMakeLists.txt
CONFLICT (content): Merge conflict in tests/fff_print/test_fill.cpp
CONFLICT (content): Merge conflict in version.inc
CONFLICT (modify/delete): xs/xsp/PerimeterGenerator.xsp deleted in HEAD and modified in master_250. Version master_250 of xs/xsp/PerimeterGenerator.xsp left in tree.
2022-06-29 14:37:14 +02:00
YuSanka
89a7f6bdb1
Merge remote-tracking branch 'origin/ys_wx317_master' into ys_cut
2022-06-29 11:44:11 +02:00
tamasmeszaros
621ec86dbe
Equip boost adapter with extensive 3D bounding box support
2022-06-29 10:55:04 +02:00
tamasmeszaros
a7e50b7a98
Generalize BoostAdapter for all Vec<> types and move out of SLA
2022-06-29 10:54:04 +02:00
tamasmeszaros
f90d62c771
Fix crash with a single support point
2022-06-29 10:52:48 +02:00
tamasmeszaros
d23f9d7674
Refactoring and performance optimization for support trees in SLA
2022-06-29 10:43:46 +02:00
enricoturri1966
ae76468f7c
Tech ENABLE_RAYCAST_PICKING - Partial revert of 89ac932628
- Restored rectangle selection using encoded colors rendering
2022-06-28 14:12:57 +02:00
Vojtech Bubnik
1d41ffdd7d
When placing seam, never produce segments shorter than 1.5um.
2022-06-28 10:30:04 +02:00
Vojtech Bubnik
f0886b46fb
Follow-up to c6bcaedba9
2022-06-27 10:42:42 +02:00
Vojtech Bubnik
c6bcaedba9
Follow-up to d01f6099c3
...
Fixing unit tests.
2022-06-24 17:46:26 +02:00
Vojtech Bubnik
d01f6099c3
Fixing Polyline::split_at() to handle correctly splitting
...
at the first / last point.
2022-06-24 17:28:09 +02:00
Vojtech Bubnik
0c99a14b63
Follow-up to f1d52cb412
...
Fixes of cooling buffer logic:
Fixed division by zero on zero length extrusions.
2022-06-24 16:46:49 +02:00
Vojtech Bubnik
f1d52cb412
Fixes of cooling buffer logic:
...
Fixed division by zero on zero length extrusions.
Added bunch of asserts to check for divisions by zero.
2022-06-24 15:08:35 +02:00
YuSanka
4c65e468de
Localization: New POT and updated dictionaries for CZ, PL, IT and ES
...
+ Fix for minor issue https://github.com/prusa3d/PrusaSlicer/issues/5672#issuecomment-1160245417
+ Fix for #7858 - Small formatting error in dutch language
+ Community PO-files are extended by new phrases
2022-06-23 13:34:29 +02:00
Lukáš Hejl
3b53a27d5e
Unified Arachne parameters and their description with our terminology.
2022-06-23 13:34:29 +02:00
YuSanka
e6f95515c7
Localization: Some phrases are fixed
2022-06-23 13:34:28 +02:00
PavelMikus
79cfefa2fe
potential size_t overflow tiny bug fix
2022-06-23 13:34:24 +02:00
Lukáš Hejl
9aca685dd4
Fixed a compiler warning.
2022-06-21 14:23:05 +02:00
Lukáš Hejl
c1af26e3fd
Modified the pressure equalizer to silently ignores most of the invalid GCode lines.
2022-06-21 13:57:41 +02:00
YuSanka
c3bf861b17
Fix for fff_print_tests
2022-06-21 12:48:54 +02:00
Lukáš Hejl
d65aaa1db9
Disabled ignoring the pressure equalizer parameters when 3MF is loaded.
2022-06-21 12:35:57 +02:00
Lukáš Hejl
a09cf52798
Fixed that fuzzy skin hadn't connected endpoints of extrusion when Arachne was used.
2022-06-21 12:35:56 +02:00
PavelMikus
f3d0e3c399
fix compile time warning (truncating double to float)
2022-06-21 11:11:10 +02:00
enricoturri1966
89ac932628
Tech ENABLE_NEW_RECTANGLE_SELECTION set as default
2022-06-21 11:10:57 +02:00
enricoturri1966
6d97de14d9
Tech ENABLE_RAYCAST_PICKING - Removal of all remaining code related to old OpenGL based picking
2022-06-21 09:16:36 +02:00
PavelMikus
732586de7c
SeamPlacer: Removed skipping mechanics in alignment
...
improved snapping to sharp angles
reduced curling on smooth surfaces
Rear is now aligned
2022-06-20 17:41:05 +02:00
YuSanka
2688a29b08
SplashScreen: New image
...
+ PressureEqualizer" fixed warning
2022-06-17 17:14:14 +02:00
Lukas Matena
32e70e5f57
Fixed compiler warnings
2022-06-17 16:27:49 +02:00
YuSanka
311ac96e45
Fixed default values for filament_cooling_initial_speed and filament_cooling_final_speed.
...
Don't use float value for double type parameter
2022-06-17 15:35:38 +02:00
Lukas Matena
570b43941e
Fixed title label when run as G-Code Viewer:
...
Builds that were not tagged and contained number of commits since last tag
showed "-UNKNOWN" in the title bar, even when they went through the build server
2022-06-17 12:58:24 +02:00
Lukáš Hejl
3a792738cb
Added a limit on how many GCode lines pressure equalizer is processing. It reduces pressure equalizer processing time a lot.
...
Also, the maximum segment length to split was decreased to make the transition between different flow rates smoother.
2022-06-17 11:09:04 +02:00
Lukas Matena
4079eac29a
Fixed a failing assert in BuildVolume.cpp
2022-06-16 16:35:06 +02:00
Lukáš Hejl
1622208249
Fixed infill polygons filtering.
2022-06-16 14:01:56 +02:00
PavelMikus
e70aea8b30
SeamPLacer: for extrusion loops, check all paths for ExternalPerimeter role
...
small parameter tuning
2022-06-16 10:12:44 +02:00
Lukáš Hejl
f34c1f14da
Fixed the orientation of ExtrusionLoops when Arachne is used.
2022-06-15 23:28:11 +02:00
enricoturri1966
f45711e7e5
Removed tech ENABLE_RENDER_PICKING_PASS
2022-06-15 14:29:29 +02:00
Lukas Matena
c3edafcc33
Arachne parameter names: unified case with the rest
2022-06-14 12:48:54 +02:00
enricoturri1966
040a8467bd
#8401 - Show error message when trying to import invalid 3mf
2022-06-14 12:17:15 +02:00
PavelMikus
20a42e3e2f
Fix crash on painted seams - painting blocker close to enforced could cause
...
points to be recognized as enforced and then marked as blocked, which could
brake the middle enforced point selection
2022-06-13 13:01:23 +02:00
PavelMikus
745c5ecd9b
SeamPlacer - fix search radius estimation for visibility computation (use exp distribution)
...
slightly tune parameters
2022-06-13 10:05:35 +02:00
enricoturri1966
36ec839767
Tech ENABLE_GIZMO_GRABBER_REFACTOR set as default
2022-06-10 15:46:28 +02:00
Lukáš Hejl
bd4b63e67d
Fixed an issue when the Lightning infill stuck in an infinite loop on some models.
...
Cased by two sampled points closer than chosen spacing.
2022-06-10 15:31:02 +02:00
Lukáš Hejl
dba1179708
Fixed an issue when the Lightning infill stuck in an infinite loop on some models.
...
Cased by two sampled points closer than chosen spacing.
2022-06-10 15:25:04 +02:00
enricoturri1966
6c6713c4ad
Tech ENABLE_RAYCAST_PICKING - Raytraced picking of volumes
2022-06-10 14:56:15 +02:00
enricoturri1966
cfc3988b9f
Tech ENABLE_RAYCAST_PICKING - 1st installment - Raytraced picking of printbed
2022-06-10 13:20:52 +02:00
Lukáš Hejl
3fba411d17
Follow-up of 18124b07a2
- Forgot to remove code for debugging.
2022-06-10 12:12:26 +02:00
Lukáš Hejl
18124b07a2
Fixed a crash when Arachne returns extrusion with zero-length (just two same endpoints).
2022-06-10 11:46:46 +02:00
Lukáš Hejl
9c07218d82
Reworked pressure equalizer and GCode processing pipeline to make pressure equalizer always returns one whole layer at once.
...
Now pressure equalizer is returning one layer back (the previous layer).
GCode produced by pressure equalizer now has the same number of decimal places as non-processed GCode.
Pressure equalizer was disabled for external perimeters and gap-fill.
2022-06-10 10:54:35 +02:00
Lukáš Hejl
a497769558
Modified the description of pressure equalizer parameters and moved it to the separate section.
2022-06-09 21:07:48 +02:00
Lukáš Hejl
0463518dc3
Attempted to reenable the old pressure equalizer and fix its issues.
2022-06-09 21:07:41 +02:00
Lukáš Hejl
9be524b01b
Fixed an unintentional transformation of ExPolygon to a single vector containing all points from contour and all holes in the Lightning infill.
...
This was causing most of the issues with randomly generated infill hanging in the air without any support.
2022-06-09 14:51:16 +02:00
Lukáš Hejl
5d82c1601b
Fixed an unintentional transformation of ExPolygon to a single vector containing all points from contour and all holes in the Lightning infill.
...
This was causing most of the issues with randomly generated infill hanging in the air without any support.
2022-06-09 14:49:45 +02:00
Lukáš Hejl
3d9b13a5e3
Added fuzzy skin for Arachne.
2022-06-09 11:23:41 +02:00
Lukáš Hejl
357dbb4686
Fixed the flow of bridging perimeters for Arachne.
2022-06-09 11:23:41 +02:00
Lukáš Hejl
dc2789a0e8
Added computation of bridging perimeters for Arachne.
2022-06-09 11:23:41 +02:00
Vojtech Bubnik
0b6c65ee60
G-code thumbnails in other than PNG format: Fixing Perl unit tests.
2022-06-09 09:58:13 +02:00
enricoturri1966
9bd0a3c6b1
Follow-up of 030f460114
- compress_thumbnail_jpg() implemented using embedded libjpeg
2022-06-08 21:12:00 +02:00
enricoturri1966
9bb5874d50
Follow-up of 87cff55856
- Implementation of compress_thumbnail_jpg()
2022-06-08 21:12:00 +02:00
Lukáš Hejl
36bd65d810
Added a missing include (GCC11.1 without PCH).
2022-06-08 21:12:00 +02:00
Vojtech Bubnik
e2405b51da
Fixed typo in thumbnail_QOI tag.
2022-06-08 21:12:00 +02:00
Vojtech Bubnik
8ed6d1b466
WIP: Implemented support for QOI G-code thumbnail format as requested
...
by the RepRapFirmware team due to their low RAM budget for decompression.
Bundled the QOI image compression library.
2022-06-08 21:12:00 +02:00
Lukas Matena
5792190515
Fix of incorrect MMU filament estimate
2022-06-08 21:09:39 +02:00
PavelMikus
27a7ddccb6
improve visibility estimation via distance to plane weighting.
...
increase angle importance, improve alignment
2022-06-08 10:28:21 +02:00
enricoturri1966
8f40270f93
Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_opengl_3_rebase
2022-06-08 09:06:12 +02:00
tamasmeszaros
86ebe946d9
Make AStar use InvalidQueueID constant
2022-06-07 16:08:09 +02:00
tamasmeszaros
4f8535d0d5
Move out invalid_id constant from MutablePriotityQueue template class
...
Enclose it into Slic3r namespace
2022-06-07 16:05:16 +02:00
PavelMikus
c09781d61d
optimize embedding computation
...
fix seed of random generators
set high angle importance for nearest mode
2022-06-07 11:12:48 +02:00
PavelMikus
13ac7a24d8
Refactoring of the short edge collpase, should greatly improve performance
...
integration of NormalsUitls from SDF branch
2022-06-07 11:12:48 +02:00
PavelMikus
9b761d3a6f
fix random generator in short edge collpase, so that results are deterministic
2022-06-07 11:12:48 +02:00
PavelMikus
d5bf6794aa
comment out debug info
2022-06-07 11:12:48 +02:00
PavelMikus
835aca60e6
add comments to the short edge collapse algorithm
2022-06-07 11:12:48 +02:00
PavelMikus
1e7b4a6720
Implementation of ShortEdgeCollapse
...
Replaced QEC by edge collapse in occlusion computation
2022-06-07 11:12:48 +02:00
PavelMikus
b5b39195f4
Added throw_if_canceled callback to all slower sections
2022-06-07 11:12:48 +02:00
PavelMikus
c23d1488c9
Performance improvements
2022-06-07 11:12:48 +02:00
PavelMikus
a4201321e8
Hopefully improved the seam placer performance a lot
2022-06-07 11:12:48 +02:00
PavelMikus
6da220062c
Mac OS pre 10.13 does not fully support std::optional (method .value() is not allowed)
...
This commit replaces usage of .value() calls with .operator*()
2022-06-07 11:12:48 +02:00
PavelMikus
d59d8eebde
Full occlusion guided seam placer backport
2022-06-07 11:12:48 +02:00
enricoturri1966
cd6155293b
Fixed conflicts after merge with master
2022-06-07 11:10:19 +02:00
enricoturri1966
904e3a874e
Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_trafo_matrix_rebase
2022-06-06 14:57:09 +02:00
enricoturri1966
c99e93c357
Fixed differences after rebase with master
2022-06-06 14:55:38 +02:00
enricoturri1966
00878fb330
Tech ENABLE_TRANSFORMATIONS_BY_MATRICES merged into ENABLE_WORLD_COORDINATE
...
Fixed conflicts during rebase with master
2022-06-06 13:36:29 +02:00
enricoturri1966
f591535d20
Removed tech ENABLE_WORLD_COORDINATE_VOLUMES_LOCAL_OFFSET
2022-06-06 12:44:01 +02:00
enricoturri1966
e3d648c802
Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Reoworked calculation of volume matrix for newly added modifiers and parts
...
Fixed conflicts during rebase with master
2022-06-06 12:16:17 +02:00
enricoturri1966
e4fb142afc
Tech ENABLE_WORLD_COORDINATE_SCALE_REVISITED merged into tech ENABLE_WORLD_COORDINATE
...
Fixed conflicts during rebase with master
2022-06-06 12:01:44 +02:00
enricoturri1966
ebb9a4aadb
Tech ENABLE_WORLD_COORDINATE_SHOW_AXES merged into tech ENABLE_WORLD_COORDINATE
...
Fixed conflicts during rebase with master
2022-06-06 11:39:15 +02:00
enricoturri1966
7c86cf84a3
Tech ENABLE_COORDINATE_DEPENDENT_SELECTION_BOX merged into tech ENABLE_WORLD_COORDINATE
...
Fixed conflicts during rebase with master
2022-06-06 10:53:26 +02:00
enricoturri1966
19712749c3
Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Added reset button to remove skew, when detected, in object manipulator panel
...
Fixed conflicts during rebase with master
2022-06-06 10:00:28 +02:00
enricoturri1966
88ce6ccdef
Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Reworked method void Selection::scale(const Vec3d& scale, TransformationType transformation_type) to use matrix multiplication
...
Fixed conflicts during rebase with master
2022-06-06 09:54:19 +02:00
enricoturri1966
9f503b95e8
Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Reworked method void Selection::rotate(const Vec3d& rotation, TransformationType transformation_type) to use matrix multiplication
...
Fixed conflicts during rebase with master
2022-06-03 15:44:45 +02:00
enricoturri1966
2f6f73e10f
Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Reworked method void Selection::translate(const Vec3d& displacement, ECoordinatesType type) to use matrix multiplication
...
Fixed conflicts during rebase with master
2022-06-03 14:56:07 +02:00
enricoturri1966
7e72963293
Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - 1st installment. Geometry::Transformation modified to store data in a single matrix, without store the matrix components
...
Fixed conflicts during rebase with master
2022-06-03 13:58:36 +02:00
Lukas Matena
75a6f54f0b
Fixed compiler warnings
2022-06-03 12:45:06 +02:00
enricoturri1966
622796e9e3
Tech ENABLE_WORLD_COORDINATE_SCALE_REVISITED - Alternate implementation of manipulating scale for instances and volumes using gizmo scale and sidebar object manipulator fields - 1st installment
...
Fixed conflicts during rebase with master
2022-06-03 12:17:12 +02:00
enricoturri1966
558bccec48
Tech ENABLE_WORLD_COORDINATE_SHOW_AXES - Show axes of the current reference system when sidebar hints are active for non-world reference systems
...
Fixed conflicts during rebase with master
2022-06-03 11:45:22 +02:00
enricoturri1966
912d781446
Tech ENABLE_COORDINATE_DEPENDENT_SELECTION_BOX - Render the selection bounding box in the current reference system
...
Fixed conflicts during rebase with master
2022-06-03 11:05:49 +02:00
tamasmeszaros
1d3c8ac5b4
Further refactor
...
Reduce code size for astar
2022-06-03 10:17:05 +02:00
tamasmeszaros
d9ed45be56
Apply remarks from code review with additional cosmethics
2022-06-03 10:08:11 +02:00
enricoturri1966
90e54e5821
Tech ENABLE_INSTANCE_COORDINATES_FOR_VOLUMES merged into tech ENABLE_WORLD_COORDINATE
...
Fixed conflicts during rebase with master
2022-06-03 09:57:07 +02:00
tamasmeszaros
f9fb7f947d
Revamped A* algorithm
...
with extended test suite
2022-06-02 17:44:51 +02:00
enricoturri1966
79bdcefbde
Tech ENABLE_INSTANCE_COORDINATES_FOR_VOLUMES - 1st installment: introduction of instance reference system in part manipulation
...
Fixed conflicts during rebase with master
2022-06-02 14:58:44 +02:00
Lukáš Hejl
792caae0ca
Follow-up of a47446574e
- Disable tbb::task_scheduler_observer in TBBLocalesSetter destructor.
...
The base class wasn't disabling observing when tbb::task_scheduler_observer was destructed, which leads to undefined behavior.
2022-06-02 12:36:19 +02:00
Lukáš Hejl
6bdaf0eaec
Follow-up of a47446574e
- Disable tbb::task_scheduler_observer in TBBLocalesSetter destructor.
...
The base class wasn't disabling observing when tbb::task_scheduler_observer was destructed, which leads to undefined behavior.
2022-06-02 12:13:45 +02:00
enricoturri1966
6433d3af91
Tech ENABLE_WORLD_COORDINATE - Fixed volumes rotation in world coordinate
...
Added sub-tech ENABLE_WORLD_COORDINATE_VOLUMES_LOCAL_OFFSET which enable showing world coordinates of volumes' offset relative to the instance containing them
Show 'Drop to bed' button in sidebar whenever the selected instance or volume is not laying on the printbed
Fixed conflicts during rebase with master
2022-06-02 12:07:00 +02:00
enricoturri1966
ca5742c401
Tech ENABLE_WORLD_COORDINATE - Gizmo rotate oriented in dependence of the selected coordinate system
...
Fixed conflicts during rebase with master
2022-06-02 10:16:07 +02:00
YuSanka
906f8914a6
SLA estimation time:
...
* A calculation of the estimation of a print time is ported from the FW
(See https://gitlab.com/prusa3d/sl1/sla-fw/-/blob/1.7/slafw/project/project.py#L485 )
* Some missed parameters are added to the Printer Presets
2022-06-02 09:29:11 +02:00
Lukáš Hejl
2b87601239
Sets locales before any thread start participating in the GCode processing pipeline.
...
Locales should be set once per any participating threads in tbb::parallel_pipeline.
It should fix the issue with appearing comma instead of the decimal point in generated Gcode.
2022-06-02 09:28:09 +02:00
Lukáš Hejl
81d43a2fd4
Added detection for corrupted PrusaSlicer.ini and fixed showing instructions on how to recover from it ( #8217 ).
...
Previously when PrusaSlicer.ini was just partly corrupted, it could happen that PrusaSlicer.ini wasn't detected as corrupted, and it could cause that instruction on how to recover from this state wasn't shown, and PrusaSlicer crashed because wrong data from PrusaSlicer.ini was read.
2022-06-02 09:28:09 +02:00
Lukas Matena
70fa8ef29d
Enforce first layer on experimental wipe tower ( #7090 )
2022-06-02 09:28:09 +02:00
tamasmeszaros
99c9e4a61d
Fix collision after arrange when 'complete Individual objects' is ON
...
fixes #8335
2022-06-02 09:28:09 +02:00
Lukáš Hejl
04f9c4b5e0
Fixed a memory leak in the move assignment operator in ExtrusionEntityCollection.
2022-06-02 09:28:09 +02:00
tamasmeszaros
6d349dd3a7
Backport hollowing optimization into stable
2022-06-02 09:04:36 +02:00
tamasmeszaros
b3f7f64ee0
Avoid error on osx for tbb parallel for
...
Add comment to previous change
2022-06-02 09:04:35 +02:00
tamasmeszaros
e2007e41ba
Try to fix linking of expat
2022-06-02 09:03:52 +02:00
tamasmeszaros
b458477d13
Use upstream expat, remove duplication in deps and src
...
Fix clash of builtin findEXPAT with config scripts
2022-06-02 09:03:52 +02:00
enricoturri1966
ebe411aefb
Tech ENABLE_WORLD_COORDINATE - 1st installment
...
1) Added combo to select world/local coordinate to part manipulator in sidebar
2) Gizmo move oriented in dependence of the selected coordinate system
3) Sidebar hints for position oriented in dependence of the selected coordinate system
Fixed conflicts during rebase with master
2022-06-02 08:57:07 +02:00
Lukáš Hejl
11f6c67e7c
Added detection for corrupted PrusaSlicer.ini and fixed showing instructions on how to recover from it ( #8217 ).
...
Previously when PrusaSlicer.ini was just partly corrupted, it could happen that PrusaSlicer.ini wasn't detected as corrupted, and it could cause that instruction on how to recover from this state wasn't shown, and PrusaSlicer crashed because wrong data from PrusaSlicer.ini was read.
2022-06-02 08:20:11 +02:00
Lukáš Hejl
d107c47b0a
Fixed infill polygons filtering for Arachne to mimic filtering in the classic perimeter generator.
2022-06-01 21:43:01 +02:00
Lukáš Hejl
e631ac171a
Fixed a crash when the number of perimeters is set to zero with Arachne.
2022-06-01 21:43:01 +02:00
Lukáš Hejl
c76c497234
Renamed slicing engine to perimeter generator and slightly rearrangement of Arachne parameters.
2022-06-01 21:43:00 +02:00
Lukáš Hejl
3942cf958c
Updated Arachne with Cura master.
2022-06-01 21:41:40 +02:00
Lukáš Hejl
454e6496ce
Added concentric infill generated using Arachne.
2022-06-01 21:41:39 +02:00
Lukáš Hejl
ac23a369d5
Fixed a missing infill caused by int32_t overflow.
2022-06-01 21:40:15 +02:00
Lukáš Hejl
2cf6a9630f
Fixed a crash when functions for preprocessing input polygons produced intersecting polygons. It should also fix another crash caused by a missing twin edge in the post-processing Voronoi diagram (probably some issue in Voronoi diagram post-processing, not in Boost Voronoi generator).
2022-06-01 21:40:15 +02:00
Lukáš Hejl
9896721bc8
Fixed crash when Arachne produced empty output.
2022-06-01 21:40:15 +02:00
Lukáš Hejl
d868261399
Updated the default values for wall_add_middle_threshold and wall_split_middle_threshold, which should decrease the number of missing tiny islands.
2022-06-01 21:40:15 +02:00
Lukáš Hejl
7e52650430
Fixed extrusion width calculation.
2022-06-01 21:40:15 +02:00
Lukáš Hejl
8616758354
Added greedy sort for ExtrusionLine in the perimeter generator.
2022-06-01 21:40:15 +02:00
Lukáš Hejl
66a18fb60f
Fixed undefined behavior in SkeletalTrapezoidation::generateExtraRibs.
2022-06-01 21:40:15 +02:00
Lukáš Hejl
3610afd393
Updated Arachne with Cura master.
2022-06-01 21:40:15 +02:00
Lukáš Hejl
e99b579f93
Fixed integer overflow in LinearAlg2D::isInsideCorner().
2022-06-01 21:40:15 +02:00
Lukáš Hejl
b97c05176a
Modified method Line::intersection_infinite() to return that the intersection was not found if the input lines are near parallel, and an integer overflow would occur when saving the intersection coordinates.
2022-06-01 21:40:15 +02:00
Lukáš Hejl
324e889d5e
Fixed inconsistent extrusion width between layers when it is used Arachne.
2022-06-01 21:40:15 +02:00
Lukáš Hejl
5db91f1944
Added detection for a missing Voronoi vertex. If the missing Voronoi vertex is detected, try to resolve it by rotation input polygons.
2022-06-01 21:40:15 +02:00
Lukáš Hejl
adf2d21c67
Allowed "Slicing engine" and all Arachne parameters to be settable per object.
2022-06-01 21:40:15 +02:00
Lukáš Hejl
556e2b71cc
Initial port of Arachne from Cura.
2022-06-01 21:40:13 +02:00
Lukáš Hejl
4015a83acb
Added a possibility into thick_polyline_to_extrusion_paths() to separately set tolerance for merging two following lines based on a difference between lines width.
2022-06-01 21:39:23 +02:00
Lukáš Hejl
bcd20650bf
Added anchors for the Lightning infill to better connect the infill and perimeters.
2022-06-01 21:35:58 +02:00
Lukáš Hejl
79b8acb7d5
Fixed assert in Lightning infill (merging empty BoundingBoxes).
2022-06-01 21:35:58 +02:00
Lukáš Hejl
a5270f3c5a
Fixed another crash in Lightning infill.
2022-06-01 21:35:58 +02:00
Lukáš Hejl
76deba7e97
Parallelized DistanceField::DistanceField() and Layer::getBestGroundingLocation() in Lightning infill.
2022-06-01 21:35:58 +02:00
Lukáš Hejl
be291fd97e
Refactored Lightning infill before parallelization.
2022-06-01 21:35:58 +02:00
Lukáš Hejl
5205753787
Refactored Lightning infill to get rid of unnecessary std::list and std::unordered_map, which was slow.
2022-06-01 21:35:58 +02:00
Lukáš Hejl
3e5272868d
Fixed an issue that some trees in the Lightning infill weren't connected to perimeters.
2022-06-01 21:35:58 +02:00
Lukáš Hejl
331da74510
Fixed function lineSegmentPolygonsIntersection() in the Lightning infill that wasn't returns the intersection point.
...
It fixed the issue that sometimes the Lightning infill produced extrusions that hung in the air without proper support.
2022-06-01 21:35:58 +02:00
Lukáš Hejl
11004b4bbd
Added cancellation to Lightning infill.
2022-06-01 21:35:58 +02:00
Lukáš Hejl
78f62bfddc
Fix of #8227 (Lightning infill wasn't working when "Combine infill every X layers" was set to a different value than one.)
2022-06-01 21:35:58 +02:00
Lukáš Hejl
dfb7fbbd10
Fixed missing layers of Lightning infill.
2022-06-01 21:35:58 +02:00
Lukáš Hejl
8d0dd13144
Fixed a crash in Lightning infill.
2022-06-01 21:35:58 +02:00
Lukas Matena
ada55053d8
Fixed MSVC debug assert in lightning infill (invalidated iterator)
2022-06-01 21:35:58 +02:00
Lukáš Hejl
bbb7e839a0
Fixed various issues in the ported Lightning infill.
...
Added export to SVG for TreeNode.
Also was finalized integration of Lightning infill and Lightning infill was enabled.
2022-06-01 21:35:58 +02:00
Lukáš Hejl
a47446574e
Sets locales before any thread start participating in the GCode processing pipeline.
...
Locales should be set once per any participating threads in tbb::parallel_pipeline.
It should fix the issue with appearing comma instead of the decimal point in generated Gcode.
2022-06-01 21:18:52 +02:00
Lukáš Hejl
e967d10788
Added anchors for the Lightning infill to better connect the infill and perimeters.
2022-06-01 21:13:03 +02:00
Lukáš Hejl
ae377bd28c
Fixed assert in Lightning infill (merging empty BoundingBoxes).
2022-06-01 21:13:03 +02:00
YuSanka
fe9ad66e84
Disable ENABLE_OBJECT_MANIPULATOR_FOCUS
2022-06-01 11:56:42 +02:00
enricoturri1966
8d0780aabe
Tech ENABLE_GL_CORE_PROFILE - Added command line option '--opengl-core=M.m' which allows the user to select a specific OpenGL version supporting core profile
2022-05-30 16:15:25 +02:00
enricoturri1966
a1eb8c5cbd
Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_opengl_3_rebase
2022-05-30 15:41:08 +02:00
enricoturri1966
e8753ee8cd
Tech ENABLE_COPY_CUSTOM_BED_MODEL_AND_TEXTURE - 1st installment - Copies custom bed texture and model files to 'data_dir()\printer' folder, if needed, and updates the printer config accordingly
...
Fixed conflicts after rebase with master
2022-05-30 11:28:54 +02:00
tamasmeszaros
78124689c5
Fix excessive uptates to UI in sla rotation optimization
2022-05-30 11:17:34 +02:00
enricoturri1966
3df99ab974
Tech ENABLE_GL_CORE_PROFILE set as default into Point.hpp
2022-05-26 11:39:53 +02:00
enricoturri1966
aaf0861da3
Tech ENABLE_GL_CORE_PROFILE - Fixed detection of OpenGL extensions and support for newer Mesa drivers
...
Fixed conflicts during rebase with master
2022-05-26 11:27:00 +02:00
enricoturri1966
41541287a1
Tech ENABLE_GL_IMGUI_SHADERS merged into ENABLE_LEGACY_OPENGL_REMOVAL
...
Fixed conflicts during rebase with master
2022-05-26 11:08:24 +02:00
enricoturri1966
1a1cf108fc
Tech ENABLE_GL_SHADERS_ATTRIBUTES merged into ENABLE_LEGACY_OPENGL_REMOVAL
...
Fixed conflicts during rebase with master
2022-05-26 10:50:32 +02:00
enricoturri1966
914a66e2c3
Tech ENABLE_GL_CORE_PROFILE - Thick lines shader enhanced to render dashed lines
...
Fixed conflicts while rebase with master
2022-05-26 08:11:04 +02:00
enricoturri1966
389dc36053
Tech ENABLE_GL_CORE_PROFILE - Use OpenGL core profile context - 1st installment
...
Fixed conflicts during rebase with master
2022-05-25 15:29:10 +02:00
enricoturri1966
ed482316ee
Revert of 39cefdad89
2022-05-25 09:36:52 +02:00
enricoturri1966
6365e54b1f
Fixed loading of 3mf files containing single volume instances where the volume is shifted with respect to the instance origin
2022-05-20 10:39:51 +02:00
Lukáš Hejl
1582d019fb
Fixed another crash in Lightning infill.
2022-05-19 15:16:30 +02:00
Lukáš Hejl
4bde35cae3
Parallelized DistanceField::DistanceField() and Layer::getBestGroundingLocation() in Lightning infill.
2022-05-19 15:16:30 +02:00
Lukáš Hejl
95041751a1
Refactored Lightning infill before parallelization.
2022-05-19 15:16:30 +02:00
Lukáš Hejl
f82d5c52b3
Refactored Lightning infill to get rid of unnecessary std::list and std::unordered_map, which was slow.
2022-05-19 15:16:30 +02:00
tamasmeszaros
7129ee3829
Merge branch 'tm_curl_new' (cherry-picked from master)
2022-05-19 09:34:31 +02:00
enricoturri1966
39cefdad89
Tech ENABLE_REMOVE_ASSOCIATION_TO_FILE_FOR_WINDOWS_8_AND_LATER - Disable association to 3mf and stl files if the application is run on Windows 8 or later
2022-05-17 13:19:33 +02:00
tamasmeszaros
e6750a524f
Fix collision after arrange when 'complete Individual objects' is ON
...
fixes #8335
2022-05-17 13:14:13 +02:00
Vojtech Bubnik
cc79a9fe7a
Merge branch 'master' of https://github.com/Prusa3D/PrusaSlicer
2022-05-17 12:49:08 +02:00
Lukáš Hejl
6df1b6d074
Fixed an issue that some trees in the Lightning infill weren't connected to perimeters.
2022-05-17 12:41:28 +02:00
Vojtech Bubnik
a552a55cce
Follow-up to f5ec76c230
...
Compile-time instantiation of the MutablePriorityQueue
with run-time resetting of indices when removing items from the queue
active in debug mode only.
2022-05-17 11:57:04 +02:00
Vojtech Bubnik
f5ec76c230
Follow-up to dc3931ec1f
:
...
Fix mutable priority queue being wiped when moving out of function
Without move constructor, the clean() gets called when returning an instance from a function.
The above fix was applied also to MutableSkipHeapPriorityQueue.
Follow-up to 15a082b80b
:
Fixed TEST_CASE("Mutable priority queue - first pop", "[MutableSkipHeapPriorityQueue]")
2022-05-16 17:27:10 +02:00
tamasmeszaros
1554d6a2c7
Try to fix linking of expat
2022-05-16 14:58:17 +02:00
Vojtech Bubnik
15a082b80b
Fix of libslic3r "Mutable priority queue - first pop" test failure #8276
...
Improved readability by introducing invalid_id() getter.
Made the ResetIndexWhenRemoved flag active in both debug and release mode,
it used to be made active by Vojtech for release mode only for unknown
reason.
2022-05-16 11:34:26 +02:00
tamasmeszaros
fd0579d4a2
Add missing includes to MutablePriorityQueue
...
Mainly to prevent heuristic error reports inside IDE
2022-05-16 10:30:22 +02:00
Lukáš Hejl
7b28bdc41f
Fixed function lineSegmentPolygonsIntersection() in the Lightning infill that wasn't returns the intersection point.
...
It fixed the issue that sometimes the Lightning infill produced extrusions that hung in the air without proper support.
2022-05-12 14:30:07 +02:00
Lukáš Hejl
bff32c9cdb
Added cancellation to Lightning infill.
2022-05-12 14:30:07 +02:00
PavelMikus
d0c08ec5c1
Feature: AABB tree for lines
...
Small refactoring of AABB tree distance query function, to allow different primitives (apart from triangles)
Implemented Distancer and functions to create AABB tree from lines and use closest point query
Added test for the AABBTree with lines
Added Benchmark comparing EdgeGrid with AABBTree on line contours (Inside AABBTree test file, disabled under compilation flag)
2022-05-12 12:55:10 +02:00
YuSanka
04145abdfc
Merge remote-tracking branch 'origin/master' into ys_cut
2022-05-12 09:21:58 +02:00
tamasmeszaros
1d9d9cf001
Prohibit copy for mutable priority queue
2022-05-11 17:02:21 +02:00
tamasmeszaros
dc3931ec1f
Fix mutable priority queue being wiped when moving out of function
...
Without move constructor, the clean() gets called when returning an instance from a function.
2022-05-11 16:49:15 +02:00
Lukáš Hejl
e0e34f6a53
Fixed a memory leak in the move assignment operator in ExtrusionEntityCollection.
2022-05-11 14:11:51 +02:00
tamasmeszaros
6b23e90424
Add astar algorithm
...
Fix windows build
2022-05-11 12:06:07 +02:00
tamasmeszaros
34ba45dde4
Small fix in Execution.hpp
2022-05-11 10:35:38 +02:00
tamasmeszaros
bbf398f2dc
Fix AABB query in hollowing print step
2022-05-11 10:35:29 +02:00
tamasmeszaros
fed317f27b
Change std::nan("") to proper nan constants
2022-05-11 10:35:12 +02:00
tamasmeszaros
12a54251c9
Extend kdtree with k-nearest and bounding box queries
...
Also add test to verify it
2022-05-11 10:35:01 +02:00
YuSanka
41eaff1482
Merge remote-tracking branch 'origin/master' into ys_cut
2022-05-10 11:10:51 +02:00
enricoturri1966
6be84d529d
#8202 - Fixed detection of layers in vase mode
2022-05-10 08:40:49 +02:00
YuSanka
51e77fd81b
Cut WIP: Make negative volumes a little bit "dipper"
...
+ Some improvements for Undo/Redo stack
2022-05-09 16:14:19 +02:00
YuSanka
9582a9b478
Merge remote-tracking branch 'origin/master' into ys_cut
2022-05-09 11:25:29 +02:00
Vojtech Bubnik
e687db9eb0
Ported custom_gcode and print unit tests from Perl to C++.
2022-05-06 18:30:18 +02:00
Vojtech Bubnik
d4b8d4d0f3
Further Perl unit test porting to C++ and Perl interface reduction:
...
Ported cooling, gap fill, thin walls and polyline unit tests.
2022-05-05 17:57:57 +02:00
Lukáš Hejl
5a67d0e183
Fixed build on Linux (GCC 11.2).
2022-05-05 13:52:52 +02:00
Lukáš Hejl
09a9d79e99
Fix of #8227 (Lightning infill wasn't working when "Combine infill every X layers" was set to a different value than one.)
2022-05-05 13:42:18 +02:00
Lukáš Hejl
d069befa1f
Fixed missing layers of Lightning infill.
2022-05-05 13:42:18 +02:00
Lukáš Hejl
17e74141ce
Fixed a crash in Lightning infill.
2022-05-05 13:42:18 +02:00
Vojtech Bubnik
aa3231e2c5
Further slimming of Perl bindings.
2022-05-04 19:10:34 +02:00
Vojtech Bubnik
576c167bd5
Ported "avoid crossing perimeters" and bridging unit tests from Perl
...
to C++.
Further reduced Perl bindings.
Got rid of the ExPolygonCollection wrapper, replaced with ExPolygons.
2022-05-04 18:21:08 +02:00
Vojtech Bubnik
a627614b58
Perl unit tests for perimeters and multi-material were rewritten to C++.
...
Perl binding was slimmed down, namely Clipper is no more linked by Perl.
2022-05-04 15:06:04 +02:00
Vojtech Bubnik
33b2478b69
Ported Infill unit tests from Perl to C++.
2022-05-02 14:34:50 +02:00
YuSanka
94f3aaacd4
Cut WIP: Undo/Redo implementation
2022-05-02 12:44:47 +02:00
enricoturri1966
7f7d229178
Follow-up of 3ce2d3a700
- Fixed export of used filament data to gcode for multimaterial prints
2022-05-02 08:50:27 +02:00
YuSanka
73469ffa21
Merge remote-tracking branch 'origin/master' into ys_cut
2022-04-28 13:25:00 +02:00
Lukas Matena
56466abe99
Fixed conflicts after stable->master merge
2022-04-27 23:45:16 +02:00
Lukas Matena
09fe421fe8
Merge branch 'stable' (no conflicts fixed)
2022-04-27 22:24:13 +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
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
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
Vojtech Bubnik
7d02647ebf
Removed various Point::ccw() and Point::ccw_angle() methods, they were
...
provided for Perl bindings and their semantic was confusing.
Implemented free function angle() to measure angle between two vectors.
Reworked Polygon::convex/concave_points(), changed the meaning of their
angle threshold parameter.
Removed some unused methods from Perl bindings and tests.
Reworked the "wipe inside at the external perimeter" function
after Point::ccw_angle() was removed.
2022-04-25 12:42:51 +02:00
PavelMikus
156a60017d
fixed ExPolygons dealocation while using EdgeGrid
...
fixed warnings in Bicubic.h file
2022-04-25 12:42:51 +02:00
PavelMikus
965803822e
remove invalid comment
2022-04-25 12:42:51 +02:00
PavelMikus
1164449d4e
compute overhang distance using SDF
...
detect embedded (inner) perimeter points and prefer them for seam placement
2022-04-25 12:42:51 +02:00
PavelMikus
191e788aa0
make Random seams disaligned
2022-04-25 12:42:51 +02:00
PavelMikus
15135ef2ed
fixes, central enforced point preference
2022-04-25 12:42:51 +02:00
PavelMikus
5c23d471de
BSplines, Polynomial fitting
2022-04-25 12:42:51 +02:00
PavelMikus
bbcd6be250
Implemented piecewise data (curve) fitting with variable kernels
2022-04-25 12:42:51 +02:00
PavelMikus
bb89b630d9
implemented occlusion estimation for objects with negative volumes
2022-04-25 12:42:51 +02:00
PavelMikus
ca259caf33
fix ccw angle computation in Point.cpp
2022-04-25 12:42:51 +02:00
PavelMikus
177a1fd54a
finalize integration into GCode.cpp export functions, remove unused
...
edge grids
2022-04-25 12:42:51 +02:00
PavelMikus
6dbc7149be
parameter fixes, alignemnt for enforcers simplified
2022-04-25 12:42:51 +02:00
PavelMikus
c640fb854f
bug fix: using trafo() instead of trafo_centred() caused
...
misalignment between occlusion mesh and seam candidates
2022-04-25 12:42:51 +02:00
PavelMikus
2274965079
alignment from best candidate
2022-04-25 12:42:51 +02:00
PavelMikus
eccf1c1553
refactored raycasting - inverted direction of raycasting - now each face is tested
...
fixed bug with custom seam drawings - square distance parameter named incorrectly
2022-04-25 12:42:51 +02:00
PavelMikus
a9f5330ad2
using gauss function to smoothen criteria skips
2022-04-25 12:42:51 +02:00
Godrak
ab3c8d0fe8
implemented smooth angle penalty function
2022-04-25 12:42:51 +02:00
PavelMikus
a92d5038bd
debug export svg info,
...
fixing problem with weird seam placement caused by disconnected scoring function
2022-04-25 12:42:51 +02:00
PavelMikus
962282c9ef
split occlusion and enforcers/blockers into separate functions
...
added weights to polynomial fitting
2022-04-25 12:42:51 +02:00
PavelMikus
f837759928
fixed problem with multipart objects
...
fixed bug : model volume trafo was not considered
2022-04-25 12:42:51 +02:00
PavelMikus
a775bf2978
improved enforcers blockers oversampling, renamed parameter
2022-04-25 12:42:51 +02:00
PavelMikus
8f7b86915a
oversample polygons where necessary, due to seam enforcers & blockers
2022-04-25 12:42:51 +02:00
PavelMikus
87c276b7a4
comments and bugfix
2022-04-25 12:42:51 +02:00
PavelMikus
ad819850f9
tweaked parameters,
...
fixed minor bugs
2022-04-25 12:42:51 +02:00
PavelMikus
c72687c96c
computing smooth score instead of binary decision when picking seams
...
some basic documentation
2022-04-25 12:42:51 +02:00
PavelMikus
105b67c9a7
presorting seams before alignemnt
...
mesh decimation for speed up
2022-04-25 12:42:51 +02:00
PavelMikus
f018160e72
implemented polynomial alignment,
...
however, initital seam placement is not ideal
- hard to balance visual cues and angle information
2022-04-25 12:42:51 +02:00
PavelMikus
ffc7452d9e
improved visibility calculation - it now considers normals and
...
accordingly counts only hits which have similar normal
2022-04-25 12:42:51 +02:00
PavelMikus
38a9d870c0
implemented seam alignment using exponential smoothing
2022-04-25 12:42:51 +02:00
PavelMikus
596bd68f18
refactoring, created perimters struct to store info,
...
removed alignment iterations, created dynamic ray count estimation
2022-04-25 12:42:51 +02:00
PavelMikus
53ff4a69e0
implemented debug files export
2022-04-25 12:42:51 +02:00
PavelMikus
3029053d43
fixed some problems according to code review
...
simplified blockers and enforcers
Pre-Refactoring version
2022-04-25 12:42:51 +02:00
PavelMikus
5a03f60c31
fixed bug: wrong estimation of angles inside holes
2022-04-25 12:42:51 +02:00
PavelMikus
356ed93ad7
Raft layers cause SeamPlacer crash - fix
2022-04-25 12:42:51 +02:00
PavelMikus
132f4bb590
bugfix: usage of undeclared M_PIf32 instead of PI
2022-04-25 12:42:51 +02:00
PavelMikus
4b3db29d32
refactoring into floats, fixed problems with float/double mixing,
...
returned to fixed ray count, yields better results
2022-04-25 12:42:51 +02:00
PavelMikus
8226061da4
so far best version
2022-04-25 12:42:51 +02:00
PavelMikus
36a4906536
refactored init method - split into several parts,
...
added blur filter to seam placement distribution
2022-04-25 12:42:51 +02:00
PavelMikus
1a25058456
workable version, some parameter tweaking probably still needed
2022-04-25 12:42:51 +02:00
PavelMikus
e8f740dabb
implemented overhang calculation and alignemnt iterations for seams
...
now only external perimeters are considered which reduced time complexity
2022-04-25 12:42:51 +02:00
PavelMikus
53e9bb3ebf
integration of enforcers and blockers
2022-04-25 12:42:51 +02:00
PavelMikus
38a6e231f2
minor changes, more transparent parameters settings
2022-04-25 12:42:51 +02:00
PavelMikus
45b49ad545
initial demo
...
fixed KD tree neighbour search, finished refactoring of raycasts,
substantially improved performance of seam placement - seams
are now precomputed and their indexes stored such that place_seam does almost nothing.
2022-04-25 12:42:51 +02:00
PavelMikus
55e0f2dd83
refactoring raycaster, gathering only hitpoints and their normals.
2022-04-25 12:42:51 +02:00
PavelMikus
fea247f261
Fixed bug - the rays had opposite directions, so all of them flown away from the object; also fixed compilation bug - missing import of timer.h
2022-04-25 12:42:51 +02:00
PavelMikus
fdfe19ef49
init version of occlusion estimation, raycasting implemented but for some reason only parts of model are estimated
2022-04-25 12:42:51 +02:00
Lukas Matena
142b924366
Fixed MSVC debug assert in lightning infill (invalidated iterator)
2022-04-25 11:06:00 +02:00
Vojtech Bubnik
408e56f039
Fix of Boost 1.79 deprecated boost::filesystem::ofstream #8238
...
Replacing boost::filesystem::fstream with boost::nowide::fstream
variants with the unfortunate cost of string path conversion on Windows
from 16 bits to UTF8 and back to 16 bits.
Unfortunately we cannot use std::filesystem yet as it is missing
on older MACs and because the interface is crooked minefield on Windows
see https://github.com/microsoft/STL/issues/909
2022-04-25 08:33:48 +02:00
tamasmeszaros
516f459edc
Use tight compression for SLA archives with svg
2022-04-19 13:53:50 +02:00
tamasmeszaros
91b79bb85c
Fix crash in debug mode when split result contains ill formed parts
2022-04-19 11:46:20 +02:00
tamasmeszaros
2fd5a415c5
Fix arrange when some geometries are ill formed.
...
SPE-1216
The removed fix for issue 2209 is not needed anymore as the backend (arrange + libnest) takes care of such objects
- Offset is now done with libslic3r offset() wrapper (no expception thrown)
- Zero area objects are discarded in libnest
2022-04-19 11:45:17 +02:00
enricoturri1966
f504236734
Tech ENABLE_GIZMO_GRABBER_REFACTOR - Refactoring of GLGizmoBase::Grabber to have a single static instance of the cube and cone models to be shared by all grabbers
2022-04-14 15:15:14 +02:00
YuSanka
91a1cd30a0
Merge remote-tracking branch 'origin/master' into ys_cut
2022-04-14 10:04:45 +02:00
enricoturri1966
3ce2d3a700
#8176 - Tech ENABLE_USED_FILAMENT_POST_PROCESS - Fixes used filament data exported to gcode file not taking in account custom gcode
2022-04-13 15:27:46 +02:00
YuSanka
c29b7b1eef
Cut WIP:
...
* Suppress to delete/add a SolidPart/NegativeVolume from/for objects which are marked as "is cut"
* Suppress to delete Instances which are marked as "is cut"
* Allow delete an object which is marked as "is cut", but show warning message about break of the "cut consistency".
And if this deletion was performed, the all related objects will be unmarked.
* m_connectors_cnt is added into CutObjectBase class to correct synchronization of a connectors count between related objects
2022-04-13 13:11:41 +02:00
Lukas Matena
3b94494c4f
Fix of #8186 : incorrect count of toolchanges reported:
...
broken for o long time, probably since 58a811a
2022-04-12 13:39:14 +02:00
YuSanka
a248490507
Fix for #7905 - Segfault when changing printer after loading 3mf with a different printer set
...
Update searcher only before open one of next dialogs : SearchDialog, UnsavedChangesDialog or DiffPresetDialog.
But only Search dialog respects to the mode of PrusaSlicer
2022-04-11 12:09:30 +02:00