53 Commits

Author SHA1 Message Date
Martin Šach
003232dfb6 Add tests for SupportSpotsGenerator::ObjectPart construction.
Ensuring that ObjectParts in SupportSpotsGenerator are properly
generated from slice is crucial for any further computations.
2023-09-26 16:11:19 +02:00
Martin Šach
13579fff45 Move definitons to header in the SupportSpotsGenerator.
Moving the definitions to a header file will enable testing the
functions involved.
2023-09-26 16:11:19 +02:00
Martin Šach
6164051d60 Use proper formula for second moment of area.
SupportSpotsGenerator originally used a heuristic formula. Current
formula is properly derived using known properties of
second moment of area. Several tests of this formula are added.
2023-09-22 13:30:05 +02:00
ps_copyright
f32859c302 final copyright headers 2023-09-01 14:49:07 +02:00
Pavel Mikus
3e42d16f62 minor parameter changes 2023-04-21 10:04:45 +02:00
Pavel Mikus
b04e3bc25e Initial implementation, requieres both dynamic speed and avoid curled overhangs options to be enabled
Also implements new, probably far better estimation of curled height of filament
2023-04-21 10:04:45 +02:00
PavelMikus
696b316e2b initial implementation, trying to filter out surfaces that need expansion 2023-02-17 15:38:57 +01:00
PavelMikus
73635e0855 Lower the curled height tolerance from 0.3 to 0.1 mm of the curled overhang avoidance algorithm. 2023-02-09 13:36:42 +01:00
PavelMikus
716e0254f4 Fix notifications during GCode export - only CRTICAL are now shown
Relax support detector parameters and warnings
2023-01-31 11:12:36 +01:00
Pavel Mikus
66a4b5b82a Refactored stability alert step from object step into print step,
implemented stability issues grouping based on number of issues and objects,
maximum of single warning message emitted
2023-01-29 20:11:50 +01:00
PavelMikus
c09a44779d brim integration into SupportSpotGenerator 2023-01-25 17:01:58 +01:00
PavelMikus
c31e3ec1a2 Bugfix in extrusion quality estimator, Refactoring of alerts, rename of autogenerate button 2023-01-25 17:01:58 +01:00
PavelMikus
a4de5c6553 initial warnings version 2023-01-25 17:01:58 +01:00
PavelMikus
fb4c1bf612 compilation fix 2023-01-25 17:01:58 +01:00
PavelMikus
41f1b83ae4 raft layers, partial objects memory, params acceleration 2023-01-25 17:01:58 +01:00
PavelMikus
f2deefd1de Support spot generator improvement - supporting bridges only in one direction 2023-01-25 17:01:58 +01:00
PavelMikus
821d2391b4 Added SupportPointCause describing the reason for the support point 2023-01-25 17:01:58 +01:00
PavelMikus
be61ab37f4 Document extensively the generated SupportPoint structure,
fix wrong estimation of weight torque for connections
2023-01-19 15:07:06 +01:00
PavelMikus
d20f880124 local issues support generator fix 2023-01-11 17:15:11 +01:00
PavelMikus
727e7cc4f1 add throw if canceled calls into support spot generating algorithm 2023-01-11 17:15:11 +01:00
Pavel Mikus
a57680ea67 BUGFIX in aabb intersections, additional debug info 2023-01-11 17:15:11 +01:00
Pavel Mikus
ec4cc2e694 refactored and unified code for curled up filament estimation 2023-01-11 17:15:11 +01:00
Pavel Mikus
72a25e7ad0 use new extrusion quality estimator function in support spot generator; fix issue with local support points and incorrect distance sign; 2023-01-11 17:15:11 +01:00
PavelMikus
49b68b936c refactored support spot generator to store data in the shared PrintObjectRegions struct, automatic coloring moved to frontend.
There are still issues with multiple instances
2022-12-13 13:13:31 +01:00
Pavel Mikuš
3fa1615518
Refactoring FDM support spots generator to use Z-Graph (#11)
* import updates from curling avoidance branch

* fix compilation issues

* Refactoring FDM support spots generator to use the new Z-graph built during slicing

* fix local issues bugs

* fix bugs, add new filter for too short extrusions

* fix bugs with nonexistent weakest area

* Use links of Z graph after fix, format the code

* remove unnecesary includes
2022-11-28 10:47:04 +01:00
PavelMikus
a0243affeb fix avoidance algorithm, improve curling filament estimation 2022-11-14 11:47:25 +01:00
Pavel Mikuš
633ce8aa21
Pm jps path finding (#8)
New step - estimation of curling on both the model and the support extrusions.
Improvements in curled filament estimation algortihm
Implementation of Jump Point Search algorithm 
Use of JPS algorithm to avoid curled extrusions during travel moves in Gcode export
2022-11-09 13:33:58 +01: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
PavelMikus
8a1a31992a use Polyline instead of Points, so that there are no duplicate points 2022-09-06 16:29:17 +02:00
PavelMikus
905c602995 remove underscore from varaibles, its not C++ friendly practice 2022-09-06 12:23:42 +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
PavelMikus
3773de2957 hardcode overhang angles, remove volumetric filtering (does not work correctly) 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
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
9ff0d49fae Implemented calculation of elastic section modulus 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
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
864c85d47e replace convex hull computation with KDTree, improve sticking centroid estimation 2022-08-22 11:01:58 +02:00