Commit graph

69 commits

Author SHA1 Message Date
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
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
bdcb773202 replace triangulation in SupportSpotGenerator with triangle formula and winding number
Use the same apporach in computation of polygon area principal components
2023-01-18 16:01:09 +01:00
Vojtech Bubnik
ca0c83d914 The new ExtrusionRole implementation newly supports both "Bridging"
and "External" attributes at the same time.
PerimeterGenerator was updated to make use of it and set "External"
attribute for overhang perimeters.
2023-01-16 14:39:57 +01:00
Vojtech Bubnik
d1f610d957 Extending the expressivity of ExtrusionRole
Moved is_xx() test functions to ExtrusionRole enum class,
changed the tests to use the new ExtrusionRole bitmask.
Follow-up to 5991850db1
e50e96bb26
c64dbacf88
2023-01-16 12:39:08 +01:00
Vojtech Bubnik
5991850db1 WIP Extending the expressivity of ExtrusionRole
Co-authored-by: supermerill <merill@free.fr>
Based on the unfinished idea of @supermerill, defining ExtrusionRole
as a bit mask of ExtrusionRoleModifier.
Because the ExtrusionRole was used for both ExtrusionEntity and
G-code export / G-code viewer, the original ExtrusionRole had to be split
to ExtrusionRole and GCodeExtrusionRole to support bitmask attributes
for the former while keeing a low number of ordinary values for the latter.
2023-01-16 10:14:46 +01:00
PavelMikus
9ccb413c02 Extra perimeters fix 2023-01-11 17:15:11 +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
dbaa0f72d1 fix crash in malformations estimation - the nearest line of the current support extrusion may not be in the previous layer lines for some reason (maybe per object ordering?) 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
Vojtech Bubnik
6f20c68c8d Follow-up to 1912b834b1
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 ()
* 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 ()
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