52 Commits

Author SHA1 Message Date
Vojtech Bubnik
6f20c68c8d Follow-up to 1912b834b19968f114c9f0ed41895fb30ab5e35b
Fixed a typo in SupportSpotsGenerator, where thin fills were pulled
    from an incorrect region.
2023-01-10 12:37:44 +01:00
Vojtech Bubnik
1912b834b1 Fixed a typo in SupportSpotsGenerator, where thin fills were pulled
from an incorrect region.
2023-01-10 12:18:47 +01:00
PavelMikus
5690be1b76 fix issues after rebase 2022-12-14 14:49:20 +01:00
PavelMikus
38a287fec4 first implementation, but for overhangs the code is not run for some reason 2022-12-14 14:49:20 +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
PavelMikus
15046aba42 fix compilation issues - missing template keywords 2022-12-12 11:11:08 +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
Vojtech Bubnik
a98467f661 Merge remote-tracking branch 'remotes/origin/master' into vb_treesupports 2022-11-18 13:26:48 +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
Vojtech Bubnik
ee626eb65a WIP: Layers split into islands, islands overlapping in Z interconnected
into a graph with links to the layer above / below.

In addition:
Members of LayerRegion were made private, public interface const only.
this->m_xxx replaced with just m_xxx
SurfacesPtr was made a vector of const pointers.
2022-10-26 18:41:39 +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
PavelMikus
9e2a555f1b fix supporting of start and end of extrusion line 2022-09-07 18:00:04 +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
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
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
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
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
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