Vojtech Bubnik
139b58a6f2
Adaptive Cubic infill with anchors: Trimming anchors with not only
...
with a neighbor T-joint line, but also with other crossing lines.
2020-11-06 08:56:53 +01:00
Vojtech Bubnik
239d588c5d
1) Implemented anchoring of infill lines to perimeters with length
...
limited anchors, while before a full perimeter segment was always
taken if possible.
2) Adapted the line infills (grid, stars, triangles, cubic) to 1).
This also solves a long standing issue of these infills producing
anchors for each sweep direction independently, thus possibly
overlapping and overextruding, which was quite detrimental
in narrow areas.
3) Refactored cubic adaptive infill anchroing algorithm
for performance and clarity.
2020-11-05 17:32:40 +01:00
Vojtech Bubnik
414fdaefc5
Merge remote-tracking branch 'remotes/origin/master' into lh_adaptive_infill_hooks
2020-11-03 15:07:38 +01:00
Vojtech Bubnik
50b603df5d
Optimized for reduced memory allocation and clarity.
2020-10-29 11:37:28 +01:00
Vojtech Bubnik
3e50699576
Renamed Line::offset to extend
...
Don't use unscaled constants! What if the scaling constant changes
in the future?
2020-10-20 09:17:26 +02:00
Lukáš Hejl
958acad85b
Fix another compiler warnings
2020-10-12 00:17:17 +02:00
Lukáš Hejl
caafcf43b0
Fix compiler warning and fix a bug in connecting infill using hooks
2020-10-11 23:31:59 +02:00
Lukáš Hejl
de242f48cb
Refactoring of the adaptive infill using hooks
2020-10-11 03:46:11 +02:00
Lukáš Hejl
cd2881e14e
Orient hooks in the direction of the adjacent extrusion line
2020-10-10 22:38:22 +02:00
Lukáš Hejl
53975eeaa3
Rework of hooks adding
2020-10-10 22:25:51 +02:00
Lukáš Hejl
0b4733f656
The length of the hook is derived from spacing
2020-10-10 21:34:04 +02:00
Vojtech Bubnik
7fbdda9080
Renamed monotonous infill to monotonic.
2020-10-05 16:38:28 +02:00
Lukáš Hejl
7a9aec2b0b
Connect infill with perimeters using hooks
2020-10-02 11:15:55 +02:00
Lukáš Hejl
1a8a5984ad
Connect lines in the adaptive infill using hooks
2020-10-02 04:18:44 +02:00
Lukáš Hejl
0b0709b3d8
Fix crash in adaptive infill when an extrusion line width is zero.
...
When an extrusion line width is set to zero, then an extrusion line width is calculated from nozzle diameter.
2020-09-25 09:54:27 +02:00
Vojtech Bubnik
230dbb7394
Adaptive Cubic infill:
...
1) Fixed a wrong offset when extracting infill lines from the octree.
2) Added a variant for testing triangle in a bounding sphere
when buildind the octree. Currently not used as the box test
is more tight.
3) "Bridging infill" regions are now triangulated and used to densify
the octree as well to support the bridging infill correctly.
2020-09-22 08:53:45 +02:00
Vojtech Bubnik
6cdb19971f
Fixed crash in Adaptive Cubic infill if just a single line was extracted.
...
New function to chain lines, however not used by the Adaptive Cubic infill.
2020-09-21 11:10:57 +02:00
Lukas Matena
f2951b53c0
Fix build on Linux
2020-09-18 13:37:37 +02:00
Vojtech Bubnik
348c654c26
Adaptive infill:
...
Fixing compilation on Linux,
WIP: Better chainining of infill lines.
2020-09-18 13:35:35 +02:00
Vojtech Bubnik
7e756b20e6
Adaptive infill: Reshuffled the namespaces.
2020-09-18 10:53:50 +02:00
Vojtech Bubnik
37c5fe9923
Refactoring of adaptive cubic / support cubic:
...
1) Octree is built directly from the triangle mesh by checking
overlap of a triangle with an octree cell. This shall produce
a tighter octree with less dense cells.
2) The same method is used for both the adaptive / support cubic infill,
where for the support cubic infill the non-overhang triangles are
ignored.
The AABB tree is no more used.
3) Optimized extraction of continuous infill lines in O(1) instead of O(n^2)
2020-09-17 18:39:28 +02:00
Lukáš Hejl
137e7a0712
Fix compiler warnings and failing compilation on macOS
2020-09-10 22:57:58 +02:00
Lukáš Hejl
e9a325c9ca
Fix rotation in support cubic infill
2020-09-10 22:30:49 +02:00
Lukáš Hejl
f49144a9ef
Move support cubic infill to separate class.
...
Support infill is enabled in the GUI.
2020-09-10 16:53:08 +02:00
Lukáš Hejl
8fb9b290b2
A prototype of adaptive support infill
2020-09-10 14:55:48 +02:00
Lukáš Hejl
680b1b9809
Construct octree based on inserted points
2020-09-10 14:52:26 +02:00
Lukáš Hejl
70cb67430c
Move rotation from building octree to infill generating
2020-09-10 14:52:21 +02:00
Vojtech Bubnik
7b318e1698
Refactoring of adaptive cubic infill:
...
Don't create an octree for the infill if it is not needed.
2020-09-09 15:55:06 +02:00
Lukáš Hejl
97e62be902
Check if exist any boundary polyline
2020-09-07 09:14:06 +02:00
Lukáš Hejl
ce18b824ad
Octree representation rework
2020-09-03 19:21:55 +02:00
Lukáš Hejl
184cb7afd9
Fix bug in lines merging
2020-09-03 14:28:25 +02:00
Lukáš Hejl
353c65fa4c
Connect infill to perimeters
2020-09-03 13:05:28 +02:00
Lukáš Hejl
a3a1c20172
Code cleanup
2020-09-03 11:56:41 +02:00
Lukáš Hejl
fd3a31651c
Octree's first cube depends on model size.
2020-09-03 08:04:05 +02:00
Lukáš Hejl
8e6760e033
Fix crash on inconsistent input
2020-08-30 20:38:07 +02:00
Lukáš Hejl
b28f9b8935
Fix discontinuous extrusion lines for adaptive infill
2020-08-27 13:04:53 +02:00
Lukáš Hejl
c5a73a7cd6
Switch to smart pointers
2020-08-27 07:28:43 +02:00
Lukáš Hejl
cb328c99aa
Polylines merging
2020-08-27 01:59:35 +02:00
Lukáš Hejl
fb24d8167a
Add function for check existence of triangle in define radius
2020-08-26 23:28:52 +02:00
Lukáš Hejl
eaaff4e707
Generating polylines from octree
2020-08-26 22:18:51 +02:00
Lukáš Hejl
3ac16d9c9c
Building octree based on distance from mesh
2020-08-26 18:15:59 +02:00
Lukáš Hejl
42a7f2b1d8
Preparation for new infill
2020-08-26 16:51:34 +02:00