Commit Graph

5322 Commits

Author SHA1 Message Date
Lukas Matena
9658c8c677 Measurement: moving arrow-drawing functions from frontend to the backend (1/4) 2022-10-12 09:43:17 +02:00
enricoturri1966
10459706b8 Fixed bug in get_measurement() function 2022-10-12 09:22:37 +02:00
enricoturri1966
14224eb38e Measuring: bunch of fixes into GLGizmoMeasure + new tech ENABLE_MEASURE_GIZMO_DEBUG to show a debug imgui dialog containing data related to Measure Gizmo 2022-10-12 09:22:36 +02:00
enricoturri1966
d9cb891951 Measuring: Rewritten method SurfaceFeature::operator ==() 2022-10-12 09:22:36 +02:00
enricoturri1966
512073d489 Measuring: Added missing default values to SurfaceFeature member variables 2022-10-12 09:22:36 +02:00
enricoturri1966
928a642eb9 Measuring: Added features selection in GLGizmoMeasure 2022-10-12 09:22:35 +02:00
enricoturri1966
19df0dadeb Fixed warnings 2022-10-12 09:22:35 +02:00
enricoturri1966
ed287215db Measuring: Added Measure gizmo imgui dialog + removed tech ENABLE_MEASURE_GIZMO_DEBUG + locking of features by pressing CTRL key 2022-10-12 09:22:34 +02:00
enricoturri1966
6c0aff0d23 Measuring: Measure gizmo features registered for raycasted picking 2022-10-12 09:22:34 +02:00
enricoturri1966
aeb8dec463 Measuring: code for Measure gizmo embedded into new tech ENABLE_MEASURE_GIZMO
Fixed conflicts while rebasing to master
2022-10-12 09:22:20 +02:00
enricoturri1966
7b43786124 Added tech ENABLE_MEASURE_GIZMO_DEBUG to embed debug code related to GLGizmoMeasure 2022-10-12 09:10:52 +02:00
enricoturri1966
1942932229 Partial revert of 1e494e30 2022-10-12 09:10:51 +02:00
Lukas Matena
b646fcad95 Measuring: implemented edge endpoint detection 2022-10-12 09:10:51 +02:00
Lukas Matena
b23e28e9e4 Measuring: refactoring 2022-10-12 09:10:51 +02:00
Lukas Matena
387dfb2b79 Measuring: Add detection of polygons and their centers 2022-10-12 09:10:51 +02:00
Lukas Matena
457afca5de Measuring: added getters for circle visualization 2022-10-12 09:10:51 +02:00
Lukas Matena
7d6d33f92c Measuring: further separating frontend and backend 2022-10-12 09:10:50 +02:00
Lukas Matena
9d5e9e8870 Measuring: Separating frontend and backend 2022-10-12 09:10:50 +02:00
Lukas Matena
70ea995f4a Measuring: First steps on extracting features 2022-10-12 09:10:50 +02:00
Lukas Matena
bd63320a00 Measuring: separated another gizmo 2022-10-12 09:10:50 +02:00
Lukas Matena
8833fb7ab4 SurfaceMesh testing (to be reverted later)
Fixed conflicts while rebasing to master
2022-10-12 09:10:33 +02:00
Lukas Matena
ac167e29ad First implementation of SurfaceMesh 2022-10-12 08:40:34 +02:00
Filip Sykala - NTB T15p
8511b280bf Heal shape with points close to line
(after conversion to floating point it is on the other side of line)
ExPolygons indexing (fixed)
2022-10-11 13:35:52 +02:00
Vojtech Bubnik
418734f41b WIP Tree supports with circular crossections: Clipping the remaining
collisions with the object.
2022-10-10 16:58:43 +02:00
Vojtech Bubnik
5cb4b63325 WIP TreeSupports: Experimental code draw_branches() to produce
trees with circular cross section
2022-10-10 14:19:06 +02:00
Vojtech Bubnik
5cba1e8319 Improved Point.hpp to_2d() and to_3d() templates to accept Eigen expressions 2022-10-10 14:15:26 +02:00
Vojtech Bubnik
493ada15a5 WIP TreeSupports: fix of calculatePlaceables() by Thomas Rahm 2022-10-10 14:15:26 +02:00
YuSanka
85af9b93f1 Cut: Fixes and improvements for object's context menu
* Disable or delete some menu items, which are inappropriate for cut objects
* For cut objects added menu item "Invalidate cut info" to disconnect related cut parts of initial object
* If just one part is kept after cut performance, than don't apply a cut info for this object.

+ CutGizmo: Fixed selection of the mode
   An object has connectors         -> Connectors mode
   An object doesn't has connectors -> CutPlane mode
2022-10-07 16:26:19 +02:00
YuSanka
74a32e3261 Cut: Bug fixing and Improvements
* CutGizmo: Fixed a label scale
* Fixed deselection of selected connectors, when moving the camera
* Implemented update of the settings for selected connectors
* Connector selection: Ctrl shortcut is changed to Shift to compatibility of the selection/deselection with rectangle selection
2022-10-07 11:14:13 +02:00
Filip Sykala - NTB T15p
bdf8c5ce88 Merge branch 'master' into fs_emboss 2022-10-06 12:25:17 +02:00
Pavel Mikus
c86deb92db improve function name to reflect that it does unscaling (to_unscaled_linesf) 2022-10-06 12:19:33 +02:00
Filip Sykala - NTB T15p
a5190a92cd Fix triangulation check 2022-10-05 15:15:22 +02:00
Filip Sykala - NTB T15p
e340fa6abe Merge branch 'master' into fs_emboss
# Conflicts:
#	src/libslic3r/AABBTreeLines.hpp
#	src/libslic3r/ExPolygon.hpp
#	tests/libslic3r/test_aabbindirect.cpp
2022-10-05 15:14:54 +02:00
Pavel Mikus
e02aed31d2 Added new query to AABBTree: all primitives (triangles/lines) within radius 2022-10-05 14:51:32 +02:00
Pavel Mikus
b49a2425ca Improve Lines Distancer quality, use it also in SeamPlacer 2022-10-05 14:51:32 +02:00
PavelMikus
20bd7f9a26 improvements in islands recognition; LinesDistancer class for both Point based and Floating based lines 2022-10-05 14:51:32 +02:00
tamasmeszaros
835c08beeb Remove accidental leftover commented source file 2022-10-05 10:12:28 +02:00
YuSanka
b4f38883a8 Merge remote-tracking branch 'PRIVATE/master' into ys_cut 2022-10-03 11:30:49 +02:00
Filip Sykala - NTB T15p
0e3b7cae12 Merge branch 'master' into fs_emboss
# Conflicts:
#	src/libslic3r/Technologies.hpp
#	src/slic3r/GUI/GLCanvas3D.cpp
2022-09-29 18:47:21 +02:00
Vojtech Bubnik
3350292ff2 WIP TreeSupports
1) Nodes allocated using std::deque, not as std::set of pointers for
   less memory allocator pressure.
2) Parents changed to parent indices, so that one may allocate side
   by side data for nodes addressed by these indices. Thus now elemens
   are being marked as deleted and the whole node database is being
   compacted in one shot instead of deleting an element from std::set.
3) Removed SUPPORT_TREE_ONLY_GRACIOUS_TO_MODEL for simplicity, it was
   never used.
4) Fixed crash when slicing multiple objects with three supports.
2022-09-29 17:10:53 +02:00
YuSanka
d1c871758b Cut WIP:
* ObjectDataViewModel: Respect to the volume id, when adding the new volume to the object
* 3mf : Save/Load info about connectors
2022-09-29 14:36:47 +02:00
enricoturri1966
3513b800a0 Tech ENABLE_PREVIEW_LAYOUT set as default 2022-09-29 14:23:41 +02:00
enricoturri1966
524e55edd9 Tech ENABLE_LEGEND_TOOLBAR_ICONS set as default 2022-09-29 12:19:20 +02:00
Vojtech Bubnik
d7d849a02c Fix of #8932 Hang while slicing interlocking chainmail model
Reworked the Archimedean Chords, Hilbert and Octagram Spiral infill
generators to
1) Generate solid infill as not aligned with other solid infill layers.
   This may surprise some users as the pattern over multiple islands
   will be different, maybe not that nice. This may change in the future.
2) Sparse infill is always aligned and generated over the whole object,
   however newly the generated lines are trimmed with a snug bounding box
   while being generated.
3) For Archimedean chords the accuracy was not applied correctly, leading
   to higher accuracy for dense infill and lower accuracy for sparse infill.
2022-09-29 12:12:20 +02:00
enricoturri1966
32b2c90538 Tech ENABLE_TRAVEL_TIME set as default 2022-09-29 11:07:20 +02:00
Filip Sykala - NTB T15p
28decf6f15 Merge branch 'master' into fs_emboss
# Conflicts:
#	src/libslic3r/Technologies.hpp
2022-09-29 08:00:21 +02:00
Vojtech Bubnik
9bc69efde6 Configuration of TBB work pool threads executed from the background
slicing process:
1) "C" locales are always enforced.
2) OSX Quality of Service level is set to make sure the slicing
  runs on fat cores on Apple Silicon if some fat cores are available.
2022-09-27 18:12:27 +02:00
YuSanka
0201a5055a Cut WIP:
* Suppress to split cut objects
* ObjectList:
  * Use another icons to mark the cut objects and connectors 
  * For the cut object show parts, which are not connectors
* Set different colors for the Plugs and Dowels
* CutGizmo:
  * Invalidate CutGizmo after changes in ObjectList or perform a cut
  * CupPlane in Connectors mode: Unselect selection, when click on empty space
  * Connectors mode: Fixed performance issue
2022-09-27 16:17:09 +02:00
enricoturri1966
174df56ec2 Tech ENABLE_PREVIEW_LAYER_TIME set as default 2022-09-27 12:39:24 +02:00
Filip Sykala - NTB T15p
b716872702 Merge branch 'master' into fs_emboss
# Conflicts:
#	src/libslic3r/Technologies.hpp
2022-09-27 11:57:12 +02:00
enricoturri1966
e834b75e54 Tech ENABLE_VOLUMETRIC_RATE_TOOLPATHS_RECALC set as default 2022-09-27 10:22:39 +02:00
YuSanka
e689be65db Code cleaning 2022-09-27 09:10:09 +02:00
YuSanka
66e2c3b30a Cut WIP: Send to the cut() whole cut_matrix instead of cut_plane_pos and rotation angles
+ Fixed units inside input window
+ NotificationManager: Added info line for loaded object with cut parts
+ Next Code refactoring
2022-09-27 08:22:20 +02:00
Filip Sykala - NTB T15p
a78122bce7 Merge branch 'master' into fs_emboss 2022-09-26 12:33:01 +02:00
Vojtech Bubnik
2b3d4b2868 WIP TreeSupports:
1) Reworked the merging code to use an AABB tree for better locality.
   The old code sorted lexicographically, the new code splits bounding
   boxes by the longest axis.
2) Refactored to a functional style with better const correctness.
3) Reduced memory allocation pressure by replacing std::set with
   vectors, in place merging etc.
2022-09-26 11:20:20 +02:00
Vojtech Bubnik
87dcba3e30 WIP TreeSupports: turned SupportElement::area from pointer to value. 2022-09-26 11:20:20 +02:00
enricoturri1966
f19882749f #8941 - GCodeViewer - Extended processing of line G10 for RepRap firmware (set tool temperature) 2022-09-26 09:38:08 +02:00
YuSanka
7a1c118924 Split object : Check if new objects don't have a zero volume
Related to :
 * #8931 - Split to objects crashes Prusa Slicer
 * SPE-1221(https://dev.prusa3d.com/browse/SPE-1221) - Split to objects fail
2022-09-23 16:37:33 +02:00
Filip Sykala - NTB T15p
8f644f5e08 Merge branch 'master' into fs_emboss
# Conflicts:
#	src/slic3r/GUI/GLCanvas3D.cpp
#	src/slic3r/GUI/Selection.cpp
2022-09-23 14:11:47 +02:00
Filip Sykala - NTB T15p
072c1752b1 Cancelation in the middle of getting text shape 2022-09-23 14:07:17 +02:00
YuSanka
b2d5fd72e9 Merge remote-tracking branch 'PRIVATE/master' into ys_cut 2022-09-23 13:32:32 +02:00
Lukas Matena
70be93d112 Fixed issue with Euler angles:
the function to extract Euler angles did not work reliably in some of the corner cases.
The bug was not present in 2.5.0 release.
2022-09-23 13:23:40 +02:00
PavelMikus
bb993b8f94 Greatly reduce curling of Rear seams, revert previous ineffective change
SPE-1310
2022-09-23 11:40:19 +02:00
Lukas Matena
a6f94193d5 Cut: Fix transformations, make contour not scale with object 2022-09-21 09:05:53 +02:00
tamasmeszaros
9ef826cb5f Fix potential crashes in SLA normal calculation routine 2022-09-20 12:47:53 +02:00
tamasmeszaros
a3aeddfd13 Merge branch 'tm_arrange_bounds_SPE-1247' 2022-09-20 10:59:49 +02:00
YuSanka
737117e474 Merge remote-tracking branch 'PRIVATE/master' into ys_cut 2022-09-19 08:26:52 +02:00
YuSanka
84f651f85d DiffDialog: Save preset
* Fixed a crash after save the preset with existing name
* Added update of the PresetComboBoxes on SettingsTabs and Sidebar
* Some code refactoring
2022-09-16 17:25:00 +02:00
YuSanka
1bd0c83121 Follow-up 97ab4cae4f : typo fix 2022-09-16 15:03:27 +02:00
Filip Sykala - NTB T15p
6e15149e7a Merge branch 'master' into fs_emboss 2022-09-16 08:43:27 +02:00
YuSanka
30831af8a5 DiffDialog: Implemented a transfer of the selected options from left preset to the right and save them to the new preset
* Related to #6130 - Feature Request: Profile settings, Save AND Transfer
+ SavePresetDialog: Refactoring
2022-09-15 16:48:14 +02:00
PavelMikus
63222eb529 Reduce curling of Rear seams, improve its quality
Relevant issue: 8841 Rear Seam Not Aligned, Not Rear of Model
2022-09-15 15:25:27 +02:00
PavelMikus
2781f716f4 Fixed short edge collapse algortihm, so that it does not decimate all triangles on very high detailed models
Relevant issue 8834 Access Error when slicing
2022-09-15 15:25:15 +02:00
YuSanka
82716cd78c Follow-up 3b1f1d9444 fixes:
Tab: Fixed rename_preset().
 * Presets weren't sorted after preset renaming.
 * New selected preset wasn't updated on the Plater.
Preset: Fixed delete_preset().
 * Selected preset wasn't updated after preset deletion.
2022-09-14 15:09:52 +02:00
Filip Sykala - NTB T15p
ed6a1b18f3 Merge branch 'master' into fs_emboss
# Conflicts:
#	src/slic3r/GUI/GLCanvas3D.cpp
#	src/slic3r/GUI/Selection.cpp
2022-09-14 11:28:36 +02:00
enricoturri1966
ec2e783615 Fixed GCodeViewer to take care of parking volume when calculating used filament (similar as in PrusaSlicer) 2022-09-14 10:02:39 +02:00
enricoturri1966
430408f535 Fixed typo 2022-09-14 09:16:21 +02:00
enricoturri1966
60cad081e6 Rework of 850b590c31 - The previous fix resulted in wrong colors for toolpaths in Tool view mode 2022-09-14 09:13:22 +02:00
tamasmeszaros
6197acf576 Don't arrange items if the bed has negative area
Also interpret a bounding box with maxCorner lower then minCorner as a negative area box
2022-09-13 16:51:20 +02:00
Filip Sykala - NTB T15p
24b71ada5e Fix for font Bahnschrift -
Simplify use also pftNonZero
2022-09-12 16:10:02 +02:00
PavelMikus
670629d883 Fix compilation - missing include for boost string conv,
set supports flags for object AFTER the dialog window and snapshot
2022-09-09 15:34:48 +02:00
PavelMikus
e82856f4dd Merge branch 'master' into pm_support_spots_generator 2022-09-09 11:11:50 +02:00
enricoturri1966
997d0a48a8 Improved time estimation for gcode files produced by KISSSlicer 2022-09-08 13:45:18 +02:00
YuSanka
484eae7a1c Merge remote-tracking branch 'PRIVATE/master' into ys_cut 2022-09-08 13:32:14 +02:00
YuSanka
8cc1a58f61 Preset: New flag "respect_active_preset" is added to preset(name).
Return values, when preset i sactive:
 - edited_preset,   when respect_active_preset==true
 - selected_preset, when respect_active_preset==false

+ UnsavedChangedDialog: Implementation for FR #7393 - "Switching Presets: Unsaved Changes" table

+ DiffDialog: Implemented possibility to compare selected and edited presets
2022-09-08 12:32:23 +02:00
PavelMikus
9e2a555f1b fix supporting of start and end of extrusion line 2022-09-07 18:00:04 +02:00
PavelMikus
3202756d22 Merge branch 'master' into pm_support_spots_generator 2022-09-07 17:18:02 +02:00
PavelMikus
a6a723928c create cradle around small parts, break tiny connections in the model graph, fix PETG support 2022-09-07 17:11:58 +02:00
Lukas Matena
5bf04d7964 Merge branch 'master_250' 2022-09-07 15:19:21 +02:00
PavelMikus
8a1a31992a use Polyline instead of Points, so that there are no duplicate points 2022-09-06 16:29:17 +02:00
PavelMikus
52a7703447 Merge branch 'master' into pm_support_spots_generator 2022-09-06 12:26:48 +02:00
PavelMikus
905c602995 remove underscore from varaibles, its not C++ friendly practice 2022-09-06 12:23:42 +02:00
PavelMikus
464a37110f Staggered inner seams 2022-09-06 11:25:39 +02:00
enricoturri1966
4e315bcf27 Follow-up of 4e188c71c3 - Betterfix for update of non selected instances when applying mirror 2022-09-05 14:16:08 +02:00
PavelMikus
b9659ce676 Merge branch 'master' into pm_support_spots_generator 2022-09-05 13:04:06 +02:00
Lukáš Hejl
8a69612fe1 Fix of #8793: Visible vertical "seam" on fuzzy skin on the place where extrusion begins. 2022-09-02 19:52:44 +02:00
YuSanka
3b1f1d9444 Implementation for FR #7851 - "Rename" or "EDIT" Print / Filament Settings is missing 2022-09-02 14:26:31 +02:00
Vojtech Bubnik
f790468cca WIP TreeSupports: Extracting make_circle() into Polygon.cpp,hpp 2022-09-01 15:47:13 +02:00
Vojtech Bubnik
19f0d94be3 WIP TreeSupports: Removed support_xy_distance_overhang,
replaced with condition that support_xy_distance >= support_xy_distance_overhang
2022-09-01 14:30:20 +02:00
Vojtech Bubnik
078d496eef WIP TreeSupports: Removed some features not pertinent to PrusaSlicer:
Commented out support angles.
2022-09-01 13:37:08 +02:00
Vojtech Bubnik
97af6f6f39 WIP TreeSupports: Fixed support blockers. 2022-09-01 11:53:14 +02:00
Vojtech Bubnik
0f71a41f53 WIP TreeSupports: Fixed self intersections on overhang regions
with support interfaces enabled.
2022-09-01 11:19:36 +02:00
Filip Sykala - NTB T15p
0d686bf91d fix for triangulation 2022-08-31 18:32:18 +02:00
Filip Sykala - NTB T15p
c8fe1d7f70 Merge branch 'master' into fs_emboss 2022-08-31 16:41:23 +02:00
Filip Sykala - NTB T15p
9cefc74e3d Fix using of deprecated opengl functions 2022-08-31 15:53:13 +02:00
Filip Sykala - NTB T15p
c549c6afbe Merge branch 'master' into fs_emboss
# Conflicts:
#	src/libslic3r/CMakeLists.txt
#	src/libslic3r/Format/3mf.cpp
#	src/libslic3r/Model.hpp
#	src/libslic3r/Point.hpp
#	src/libslic3r/Technologies.hpp
#	src/slic3r/CMakeLists.txt
#	src/slic3r/GUI/GLCanvas3D.cpp
#	src/slic3r/GUI/GLSelectionRectangle.cpp
#	src/slic3r/GUI/GUI_Factories.hpp
#	src/slic3r/GUI/Gizmos/GLGizmoBase.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoBase.hpp
#	src/slic3r/GUI/Gizmos/GLGizmoMove.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoMove.hpp
#	src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoRotate.hpp
#	src/slic3r/GUI/MeshUtils.cpp
#	src/slic3r/GUI/MeshUtils.hpp
#	src/slic3r/GUI/ObjectDataViewModel.cpp
#	src/slic3r/GUI/ObjectDataViewModel.hpp
#	src/slic3r/GUI/Selection.cpp
2022-08-31 15:22:10 +02:00
Vojtech Bubnik
762e9b5d45 Follow-up to eacacc7317
Fixed ExtrusionPathOriented cloning
2022-08-31 10:20:35 +02:00
Filip Sykala - NTB T15p
27e640180f Add unprojecting of SurfacePatch contours 2022-08-31 08:35:43 +02:00
Vojtech Bubnik
eacacc7317 WIP Tree Supports: Added anchors at the starts of tree support loops,
extruding the support loops in consistent (CCW) orientation,
always starting with the anchor.
2022-08-30 17:23:30 +02:00
Lukas Matena
d7a34f7e40 Merge branch 'master_250' 2022-08-30 16:31:07 +02:00
YuSanka
9bb74d92c7 Fix for #8380 - Disable/Remove "Sliced Object "*" looks like a logo or a sign
Preferences: Added option "Allow automatically color change"
2022-08-30 14:32:16 +02:00
Lukáš Hejl
614cd7081d Fix of #8778 and #8760: Artifacts on models when Arachne was used.
This was caused by mistakenly swapping the key and the value in a vertex map.
2022-08-30 12:29:06 +02:00
Lukas Matena
b878b3a80f Follow-up to 9e88954 (avoid unnecessary copy) 2022-08-30 11:14:41 +02:00
YuSanka
16675a42a9 Follow-up f277bc80c2 - Added missed include 2022-08-30 11:10:42 +02:00
Lukas Matena
87a51165f3 Fix of #8766: PP scripts not working on UNIX when $SHELL is undefined:
thanks @jfbauer432 for pointing the problem out.
2022-08-30 10:50:33 +02:00
YuSanka
f277bc80c2 ConfigOptionDef: min/max values type are changed from INT to FLOAT. 2022-08-30 10:33:52 +02:00
Lukáš Hejl
de48bcd1b2 Fix of #8724, #8747, and #8753: Crash when Voronoi vertexes of a finite edge have some coordinate NaN or infinite. 2022-08-30 08:28:14 +02:00
Vojtech Bubnik
c74f16d7c7 Added filament type "PA" to the list of known filament types.
While we already had "NYLON" in the list, "PA" code is promoted
by Prusa Filament company.
2022-08-29 17:39:33 +02:00
YuSanka
656a1d262a Fix for #2519 - Takes focus away from input box when moving cursor to plater
Take focus away only, if ObjectList was focused, when mouse cursor is moved to 3d-Scene
2022-08-29 15:19:03 +02:00
enricoturri1966
9e65fc1cac SPE-1277 - Fixed toolpath height calculated while processing custom start gcode 2022-08-29 14:42:19 +02:00
Vojtech Bubnik
c1807d6acd Follow-up to c36af0e739
Fixed a bug introduced in Polygon.cpp Polygon::contains(_
2022-08-29 11:52:43 +02:00
Vojtech Bubnik
c36af0e739 WIP TreeSupports: Expand enforced areas so that the supports will be
generated even on steep overhangs.
2022-08-26 09:31:12 +02:00
YuSanka
c900f2e04f Fix for SPE-1271 - The profile is displayed as modified even after reverting all changes 2022-08-25 16:42:48 +02:00
Filip Sykala - NTB T15p
16a84ebc49 Fix build 2022-08-25 15:01:09 +02:00
Filip Sykala - NTB T15p
63121cee2e Better healing for Glyph shape - remove duplicit points + self intersections
Add search of intersecting points (compared with CGAL)
Triangulation can [optionaly] accept multi points
2022-08-25 13:28:10 +02:00
enricoturri1966
4e188c71c3 SPE-1275 - Tech ENABLE_WORLD_COORDINATE - Fixed update of non selected instances when applying mirror 2022-08-25 11:59:51 +02:00
Vojtech Bubnik
7e77048593 Removed shiny profiler. The Shiny profiler was only working on MSVC
and nowadays the sampling profiler inside Visual Studio is better.
2022-08-24 16:32:01 +02:00
Vojtech Bubnik
51cfec55cf WIP TreeSupports: Fixed yet some more compiler warnings 2022-08-24 15:32:23 +02:00
Vojtech Bubnik
f54ba6aeaf WIP TreeSupports: Fixed some more compiler warnings 2022-08-24 14:39:13 +02:00
Vojtech Bubnik
9045ff8f0e WIP TreeSupports: Fixed some compiler warnings 2022-08-24 14:03:21 +02:00
Vojtech Bubnik
5b62a4954e WIP TreeSupports: Taking into account the support angle threshold
and number of enforced layers.
2022-08-24 13:45:56 +02:00
PavelMikus
9e88954fbc Fix of issue 8695 - seam enforced areas were not respected with arachne generator.
The real issue was with T-Junctions created by Arachne - seam placer then sometimes
choose the wrong perimeter to split. The fix cases the seam placer to look for two
consecutive points that point to the same perimeter, which enusres that the correct
loop is split
2022-08-24 11:36:41 +02:00
Vojtech Bubnik
b9cb63c14c WIP TreeSupports:
Fixed after code review by @ThomasRahm:
Restored TreeModelVolumes::safeOffset() because it prevents
a fast (steep branch angle) branch to tunell through the object wall.
af7108f792 (r81983536)
2022-08-24 11:26:26 +02:00
enricoturri1966
abbc99924e Follow-up of 6be84d529d - Fixed processing of spiral vase mode in GCodeProcessor::process_G1 2022-08-24 09:48:50 +02:00
Vojtech Bubnik
abc2bff3d8 One more OSX specific fix 2022-08-24 09:06:37 +02:00
Vojtech Bubnik
5acbcebf20 Fixing compilation on OSX 2022-08-23 17:25:06 +02:00
Vojtech Bubnik
3f69643516 Merge branch 'vb_treesupports' 2022-08-23 16:45:34 +02:00
PavelMikus
f17e3f2c8b Added support for ignoring of tiny extrusion drops which are usually not worth the supports.
However, it is disabled, as it can currently result in unsupported large columns
2022-08-23 14:46:08 +02:00
Vojtech Bubnik
bfbfdaedb9 WIP TreeSupports: Fixed some compiler warnings and errors. 2022-08-23 12:04:18 +02:00
Vojtech Bubnik
b9e7cd2d7b WIP TreeSupports: Improved speed of TreeModelVolumes by better
parallelization, cleaned up the code by better structuring
the collision caches with their mutexes.
2022-08-23 11:37:06 +02:00
Vojtech Bubnik
14e0cd0e96 Parallelized PrintObject::bridge_over_infill() 2022-08-22 15:41:36 +02:00
Vojtech Bubnik
7949ea9544 Fixed some compiler warnings.
Removed some implicit type conversions of ExPolygon (to Points, Polylines, Polygons)
Fixed obsolete boost::spirit includes.
2022-08-22 15:14:54 +02:00
YuSanka
eac1191b25 Fix for #8710 - Changing colors doesn't qualify as a change to save project 2022-08-22 14:53:03 +02:00
Pavel Mikus
15d0c55d54 improve GUI responsivenes, turn off debug info 2022-08-22 11:01:58 +02:00
PavelMikus
3773de2957 hardcode overhang angles, remove volumetric filtering (does not work correctly) 2022-08-22 11:01:58 +02:00
PavelMikus
6114b04594 improve bed adhesion estimation, comupute weight factor sign 2022-08-22 11:01:58 +02:00
PavelMikus
970c9e033d fix triangle selector painting on models with transformation 2022-08-22 11:01:58 +02:00
PavelMikus
4eaa863ba4 make supports bigger, improve malformations, TODO: do not support small extrusions, check part size 2022-08-22 11:01:58 +02:00
PavelMikus
62c3ca5e99 gui integration, overhang angle hack 2022-08-22 11:01:58 +02:00
PavelMikus
14f109e703 refactored local issues to use overhang distance 2022-08-22 11:01:58 +02:00
PavelMikus
ea76977602 Quick fix for invalidation of support spots search 2022-08-22 11:01:58 +02:00
PavelMikus
1d4f41a2fd improved option logic, custom setting for object soe that it uses the painted supports 2022-08-22 11:01:58 +02:00
PavelMikus
2401556193 most extreme fiber is now taken from the current island.. this is not correct, but
from all aproximations it gives best results
2022-08-22 11:01:58 +02:00
PavelMikus
ff73cd253e fix extreme fibre distance calculation 2022-08-22 11:01:58 +02:00
PavelMikus
a6cf309020 updated weakest connection strength estimation,
fixed various issues
2022-08-22 11:01:58 +02:00
PavelMikus
dbe864ea8a refactor to use covariance to best estimate XY variance of the connection and thus second moment of area 2022-08-22 11:01:58 +02:00
PavelMikus
9cfde724f1 fix numerical issues in stability calculations 2022-08-22 11:01:58 +02:00
PavelMikus
90e77f9135 integration into FDM supports painter gizmo 2022-08-22 11:01:58 +02:00
PavelMikus
cdf68039f7 fixed bug with zero area section modulus returning nans 2022-08-22 11:01:58 +02:00
PavelMikus
2808e41238 reworked bed adhesion model to use elastic section modulus
fixed units
updated bed adhesion value
2022-08-22 11:01:58 +02:00
PavelMikus
3f7f5ec0ed Lowered default extrusion conflict force - it probably needs more adjusting,
after the bed adhesion is reworked with elastic section modulus
2022-08-22 11:01:58 +02:00
PavelMikus
50e7cc9d4c fix bug with removed object parts which were still referenced by other islands 2022-08-22 11:01:58 +02:00
PavelMikus
9ff0d49fae Implemented calculation of elastic section modulus 2022-08-22 11:01:58 +02:00
PavelMikus
ed1c4d99a7 Weakest connection break check also implemented.
Tensile force however might be too low approximation.
2022-08-22 11:01:58 +02:00
PavelMikus
3b029cef05 another bulk of fixes
GLOBAL STABILITY check works
2022-08-22 11:01:58 +02:00
PavelMikus
07049b849e fixed various bugs 2022-08-22 11:01:58 +02:00
PavelMikus
8723fb22bb add pivot tree into ObjectPart struct 2022-08-22 11:01:58 +02:00
PavelMikus
3d1f2f0cb6 implemented graph traversal, keeping the segments and the location of the weakest point for each island 2022-08-22 11:01:58 +02:00
PavelMikus
9afb350cdd remove noisy debug info 2022-08-22 11:01:58 +02:00
PavelMikus
1e4b56cc85 fix crashing when extrusion is not assigned island
Add voxel filter grid for supports padding
2022-08-22 11:01:58 +02:00
Pavel Mikus
f311ccbc4c basic implementation should be complete, bugs not fixed, last iteration copied 2022-08-22 11:01:58 +02:00
PavelMikus
3e47b19b86 added computation of stability accors the object graph, but not finished yet 2022-08-22 11:01:58 +02:00
PavelMikus
7743bf2502 store pointer to original extrusion in each line 2022-08-22 11:01:58 +02:00
PavelMikus
619309a1a4 bug fix - external extrusions were cleaned out before use 2022-08-22 11:01:58 +02:00
PavelMikus
0a8f70c1ba inital phase of refactoring, segmentation should now build graph of connected sections 2022-08-22 11:01:58 +02:00
PavelMikus
263e16ca92 draft mode of recon_thin_islands, but not working properly 2022-08-22 11:01:58 +02:00
PavelMikus
91ec455fa3 remove unnecesary randomization 2022-08-22 11:01:58 +02:00
PavelMikus
0187ed855e do not consider concave angles for curling, they actually improve the issue 2022-08-22 11:01:58 +02:00
PavelMikus
8e5cdf29ba improve curling model parameters,
other small improvements
2022-08-22 11:01:58 +02:00
PavelMikus
cf94c44fd5 add voxel grid cache to suppress accumulation of stability support points 2022-08-22 11:01:58 +02:00
PavelMikus
6a971b462d estimation of malformed and curled segments, increase extruder conflict power accordingly 2022-08-22 11:01:58 +02:00
PavelMikus
8e2e4154bd description of the functions 2022-08-22 11:01:58 +02:00
PavelMikus
864c85d47e replace convex hull computation with KDTree, improve sticking centroid estimation 2022-08-22 11:01:58 +02:00
PavelMikus
9294d5e604 improved triangle tracking in triangle selector - if not hit registered, nearest triangle is taken instead 2022-08-22 11:01:58 +02:00
PavelMikus
d5a584a2c2 fixed bug with base layers merging to single accumulator 2022-08-22 11:01:58 +02:00
PavelMikus
eaffb14921 Improved stability supports - now accounts for base convex hull, decreases area of points if too close. 2022-08-22 11:01:58 +02:00
PavelMikus
8dc3956b64 bug fixes, raycasting to find good support spot 2022-08-22 11:01:58 +02:00
PavelMikus
bef26fee2b Bugfixing and refactoring 2022-08-22 11:01:58 +02:00
PavelMikus
08071d85ee integration of the simple physical model into the refactored version 2022-08-22 11:01:58 +02:00
PavelMikus
30f072457f Refactored version without voxel grid, init commit 2022-08-22 11:01:58 +02:00
PavelMikus
51d738c564 refactored algorithm to use AABB tree instead of edge grid 2022-08-22 11:01:58 +02:00
PavelMikus
ad4502d96e implemented AABBTree version for lines 2022-08-22 11:01:58 +02:00
PavelMikus
e39d14bf98 finished base for curling stability tests
added comments
2022-08-22 11:01:58 +02:00
PavelMikus
4144b73ccd curling estimation improvements 2022-08-22 11:01:58 +02:00
PavelMikus
609f42fb18 refactoring, pressure points extracted but not accounted for 2022-08-22 11:01:58 +02:00
PavelMikus
68243edc65 vastly improved computational time by optimizing the convex hull computations 2022-08-22 11:01:58 +02:00
PavelMikus
49e6d15a67 vastly improved curling detection, 3d histogram of curled height now corresponds
with real prints
2022-08-22 11:01:58 +02:00
Godrak
9b290bd211 debug info, problem with random freezing, also support point downward projection still has issues 2022-08-22 11:01:58 +02:00
Godrak
91a4047586 Fixed various problems with support placement. 2022-08-22 11:01:58 +02:00
PavelMikus
6f6a0e7efd Another bulk of bug fixes. Some problems however persist, support points are still placed on weird spots 2022-08-22 11:01:58 +02:00
PavelMikus
6caec6926c TON of bugfixes, balancing still does not work 2022-08-22 11:01:58 +02:00
Godrak
824e3f111e extended model with balance checking - centroids of segments, bed adhesion, supports adhesion, model stability 2022-08-22 11:01:58 +02:00
Godrak
5cc9bd380b Compilation fixes after rebase 2022-08-22 11:01:58 +02:00
Godrak
148b24bd93 accumulators given base height;
object base split to separate islands by connectivity
2022-08-22 11:01:58 +02:00
PavelMikus
d9bd1080da UNFINISHED!
refactoring of algorithm to bottom up propagation of support islands
Added CentroidAccumulators for balance issues checking
2022-08-22 11:01:58 +02:00
PavelMikus
f0bdf2760c improved voxelization - fixed bugs with sinking objects.
testing version of flooding the weight matrix
2022-08-22 11:01:58 +02:00
PavelMikus
cfe9b27a6d refactoring,
initial work on weight distribution matrix
2022-08-22 11:01:58 +02:00
PavelMikus
a46e1dc79c initial works on EdgeGrid alternative 2022-08-22 11:01:58 +02:00
PavelMikus
c14b4a5d2e quick search simplified, removed expensive layer estimators
added explanations and comments
2022-08-22 11:01:58 +02:00
PavelMikus
1955cd066e include external_perimeters_first option, change paramters accordingly 2022-08-22 11:01:58 +02:00
PavelMikus
d41b20547d greatly upgraded the algorithm for support placement -
added dynamic splitting of long paths,
included flow width of current and previous layer,
refactored and renamed parameters
2022-08-22 11:01:58 +02:00
PavelMikus
e516ba0dd0 Moved TriangleSelectorWrapper methods to cpp file, added comment describing problems with FacetsAnnotations/TriangleSelector
structure
2022-08-22 11:01:58 +02:00
PavelMikus
706cd63e61 Beta version of the algorithm
Implemented long unsupported segments detection, which considers also curvature
Implemented detection of curved segments at the edge of the previous layer - danger of warping/curling
2022-08-22 11:01:57 +02:00
PavelMikus
adf39805bc work in progress:
hooked in new step: posSupportableIssuesSearch
created layout of the processing
2022-08-22 11:01:57 +02:00
YuSanka
cf144da4fe Cut WIP: Import/Export cut information to/from .3mf file
+ Fixed a crash during change object selection, when CutGizmo is On
+ Fixed Undo/Redo (was accidentally broken with 7912613dc8)
2022-08-22 10:09:32 +02:00
Lukáš Hejl
8c0db761c1 Fix #8716, #8717, and #8718: The pressure equalizer was producing a malformed GCode that caused underextrusion. 2022-08-19 15:07:11 +02:00
Vojtech Bubnik
781a9535db Fixed performance issue at backgorund processing update
with a large number of modifier meshes:
Bounding box of a chain of modifier meshes overlapping with
an object bounding box was not correctly calculated (bounding boxes
were unioned instead of intersected).
2022-08-19 15:03:39 +02:00
Lukáš Hejl
f95a6e3d33 Follow-up to 263b23fb46: Fixed an assert. 2022-08-19 09:09:59 +02:00
Lukáš Hejl
263b23fb46 Follow-up to 6f5813a849: Recalculate infill surfaces when infill_only_where_needed is enabled while switching from the Lightning infill to another infill or vice versa. 2022-08-18 21:17:39 +02:00
PavelMikus
be9cae74a0 Random seam fix - pseudorandom generator instead of rand() 2022-08-18 17:19:58 +02:00
PavelMikus
d746ece41a fix performance problem in seam placer - do not generate merged islands for each layer; use lslices insted
affects also overhang estiamtion and thus other params
2022-08-18 17:19:58 +02:00
Lukáš Hejl
952a6c882c Fixed an issue that the wipe was shorter when it was located where extrusion width was changing. 2022-08-18 17:00:28 +02:00
Vojtech Bubnik
55835aa050 Optimization of GCodeViewer vertex buffer generator:
Rounding by round_to_bin() is now 2x faster on MSVC.
2022-08-18 13:32:30 +02:00
enricoturri1966
c497306a60 Disabled tech ENABLE_OPENGL_ES before merging branch et_opengl_es_rebase into master 2022-08-18 13:22:10 +02:00
enricoturri1966
2b996158d2 Merge branch 'master' of https://github.com/Prusa-Development/PrusaSlicerPrivate into et_opengl_es_rebase 2022-08-18 12:51:55 +02:00
Lukáš Hejl
499c2253bb Fix of #8704 - Travels in spiral vase mode when Arachne is used.
Now Arachne is used just for bottom layers, and for spiralizer layers is used Classic perimeter generator.
2022-08-18 11:22:47 +02:00
Lukáš Hejl
6f5813a849 Fix of #8648 - Lightning infill wasn't connected to perimeters when it was combined with the option "Only infill where needed".
Now Lightning infill will ignore this setting and treat it as off. Because Lightning infill and "Only infill where needed" do a similar thing, and their combination doesn't make much sense.
2022-08-18 11:22:45 +02:00
Lukáš Hejl
2115b40728 Fixed incorrectly computed starting position in Concentric infill when Arachne is used. 2022-08-18 11:22:39 +02:00
Vojtech Bubnik
c03085a1f6 Performance improvement in G-code export for support material
in suppression of retracts when traveling over support regions.
2022-08-18 10:45:18 +02:00
Vojtech Bubnik
a93620621d Performance improvement of GCodeProcessor:
Replaced std::string with std::string_view for constant parameters
Replaced boost:istarts_with() with boost::starts_with()
2022-08-18 10:33:26 +02:00
Vojtech Bubnik
01031779b7 Performance improvement of GCodeProcessor:
Replaced std::string with std::string_view for constant parameters
Replaced boost:istarts_with() with boost::starts_with()
2022-08-18 10:30:20 +02:00
Lukas Matena
e9f0f4bd0d Fix error message (related to #8703) 2022-08-17 22:21:09 +02:00
YuSanka
79e9df4b64 Merge remote-tracking branch 'PRIVATE/master' into ys_cut 2022-08-17 10:05:44 +02:00
YuSanka
5ec84adb14 Cut WIP: Add only needed modifiers 2022-08-17 09:58:20 +02:00
Filip Sykala - NTB T15p
4fddeccdac Try fix MacOs Build on build server 2022-08-16 18:04:36 +02:00
Vojtech Bubnik
42b546ae9c WIP TreeSupports: Refactored TreeModelVolumes for clarity 2022-08-16 11:54:30 +02:00
Lukas Matena
43315fc1a1 Fixed missing retractions for travels crossing support islands
The bug was introduced in 576c167 (GCode.cpp)
2022-08-15 17:22:45 +02:00
YuSanka
a8919b1e91 Cut WIP: Set all dowels as a separate objects
ObjectList: Don't show connectors for cut objects
2022-08-15 16:55:17 +02:00
Lukas Matena
deac513faa Fixed conflicts after merge 2022-08-15 15:23:59 +02:00
Lukas Matena
bce2b148f4 Merged 2.5.0-beta1 into master (NO CONFLICTS FIXED) 2022-08-15 13:41:40 +02:00
Vojtech Bubnik
85e9ae75bb WIP Tree Supports: Enabled support enforcers / blockers 2022-08-15 10:16:16 +02:00
Vojtech Bubnik
0cdc482615 Optimization: Replaced lrint() with round() as lrint() cannot be
inlined, at least not on MSVC.
2022-08-15 08:42:25 +02:00
Vojtech Bubnik
af7108f792 WIP Tree Supports: Bunch of fixes and optimizations 2022-08-15 08:41:24 +02:00
YuSanka
7912613dc8 Cut WIP: Fixed crash on second "Perform cut"
+ some code cleaning
2022-08-12 17:59:36 +02:00
Lukáš Hejl
17e7b182ee Follow-up to 0161a59a93: Too big epsilon created tiny unconnected extrusions, so epsilon was changed to the smallest value that allows resolving rounding issues after division by two. 2022-08-12 09:48:34 +02:00
Lukáš Hejl
4fa76b2d8b Reconnected endpoints of closed polyline when PolylineStitcher produced an open polyline mark as closed. 2022-08-12 09:48:34 +02:00
Lukáš Hejl
f60b88ba3e Fix of #8597 - Assert on Windows about decrementing of std::vector::begin() in a specific case. 2022-08-12 09:48:34 +02:00
Lukáš Hejl
e838acdcd1 Added a lot of debugging outputs (SVG) into SkeletalTrapezoidation. 2022-08-12 09:48:34 +02:00
Lukas Matena
661bb522cf Fixed compiler warnings 2022-08-12 09:40:19 +02:00
Lukas Matena
ea0a68a073 Merge branch lm_tm_step_sq into master_250 2022-08-11 16:51:32 +02:00