1
0
mirror of https://github.com/FULU-Foundation/OrcaSlicer-bambulab.git synced 2026-07-17 09:04:27 +00:00
Commit Graph

138 Commits

Author SHA1 Message Date
Lukas Matena b85de89751 Fixing Clang warnings 2 2021-02-08 17:52:29 +01:00
Vojtech Bubnik 5f86d11c74 EdgeGrid refactoring to support both open and closed contours.
Squashed commit of the following:

commit 4e13a8fe19abcc9aae39a9bc4c7953a743196504
Merge: 6ae766409 6f89da1f3
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date:   Fri Feb 5 11:19:35 2021 +0100

    Merge remote-tracking branch 'remotes/origin/master' into vb_edgegrid_open_lines

commit 6ae76640942269993c942861f0444088843e3fa1
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date:   Fri Feb 5 11:14:48 2021 +0100

    EdgeGrid enhancement to accept both the open and closed lines.

commit 36a5efcd558bd5fd5f46b5f561387a2c73221553
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date:   Fri Feb 5 10:52:14 2021 +0100

    EdgeGrid improvements: Documentation, one bug fix after recent refactoring.

commit 6f89da1f39
Author: tamasmeszaros <meszaros.q@gmail.com>
Date:   Thu Feb 4 20:31:50 2021 +0100

    Disable libicu for boost-regex

    Should have been disabled from the beginning

commit ffc77b1a72a0be9b5622fd33defeebb24bf07b34
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date:   Thu Feb 4 18:40:33 2021 +0100

    EdgeGrid: Annotated those methods that do not work with open contours.

commit 8039a645b4bf0c46c99b90a9c34e7189d7442f86
Author: Vojtech Bubnik <bubnikv@gmail.com>
Date:   Thu Feb 4 18:28:21 2021 +0100

    Refactoring of EdgeGrid structure to support both closed and open lines.
2021-02-05 11:21:04 +01:00
Lukas Matena dc4bdad84a Fixed some more GCC warnings 2021-01-29 15:17:03 +01:00
Lukas Matena 2d32c80b75 Fixing GCC warnings 2 2021-01-29 10:46:52 +01:00
Lukas Matena b5280fbed9 Fixing GCC warnings 1 2021-01-29 10:46:33 +01:00
Vojtech Bubnik 59911e7c35 Slight improvement in Hilbert infill by using constexpr 2021-01-15 09:34:50 +01:00
Vojtech Bubnik 93a5906a18 Fixed numerical issue with the new algorithm to connect infill lines
with perimeters:
1) Increased accuracy of the contour length parametrization from
   float to double, as double should capture the difference of
   32bit coord_t with full accuracy (or at least very close).
2) The algorithm to insert the T-joint points into the infill perimeter
   contour was improved to avoid inserting duplicate points.
2021-01-06 12:18:05 +01:00
Vojtech Bubnik 3c9f3d2b66 Fixing the infill order for concentric infill to outside-in.
Relies to:
Concentric Fill Start Point - New Feature Request #4948
Feature Request: Archimedean Chords - Option to define direction of travel (Inside-Out or Outside-In) #5214
2021-01-06 11:05:32 +01:00
Vojtech Bubnik 1076e077ce Fix of Adaptive cubic infill weird behavior #5633
Enabling reordering of infill paths for Support Cubic and Adaptive Cubic
infill types.
2021-01-04 15:42:23 +01:00
Lukáš Hejl dc2e7aeb4e Fixed wrong generation of Adaptive Cubic and Support Cubic infill when infill extrusion width is set in percent. 2020-12-21 14:14:06 +01:00
Vojtech Bubnik c7aee35552 Merge of Fix proposal for crash on rectilinear #5399 2020-12-08 08:45:16 +01:00
Vojtech Bubnik 3e54c0b775 Gyroid infill: Lowered the threshold to drop infill line segments. 2020-11-25 14:56:11 +01:00
Vojtech Bubnik e5b3af0e53 Fix of Monotonic infill leaves gaps in top infill where rectilinear does not #5259
and Chyba nebo vlastnost výplně Monotonic? #5225
2020-11-25 14:56:11 +01:00
Vojtech Bubnik 62bdc192d8 Fix of [2.3.0-alpha4] Crash - several models cause crash when slicing #5208
Fixed some issues in internal anchors of the Adaptive Cubic infill.
The ugly and dangerous implicit casting operators in Line, MultiPoint,
Polyline and Polygon were made explicit.
2020-11-24 16:01:08 +01:00
Vojtech Bubnik f0606c2a76 Merge of https://github.com/prusa3d/PrusaSlicer/pull/2856
Add aligned rectilinear infill functionality by @m-schubert
Implements [Feature Request] Aligned rectilinear infill #1938
2020-11-21 14:10:17 +01:00
Vojtech Bubnik 54a5c1da1e Fixed crash in reworked infill anchoring due to numeric issues.
Added some more asserts to EdgeGrid.
2020-11-20 18:47:06 +01:00
Lukáš Hejl f394d26f83 Added missing includes to fix build on gcc 9 2020-11-20 15:19:49 +01:00
Vojtech Bubnik 8d1e13fccd Anchoring of sparse infills can now be disabled. 2020-11-20 13:36:58 +01:00
Vojtech Bubnik 620f94331c fix of OSX build: workaround of non-standard std::optional 2020-11-16 13:44:15 +01:00
Vojtech Bubnik a864d584a6 Fillers: Renamed Rectilinear2 to Rectilinear. 2020-11-16 13:24:57 +01:00
Vojtech Bubnik 2249e5d4b2 Renamed FillRectilinear.cpp,h to FillLine.cpp,h 2020-11-16 13:17:18 +01:00
Vojtech Bubnik db05f00860 Fixing compilation issues. 2020-11-16 13:11:58 +01:00
Vojtech Bubnik 812cbade4d Fills:
1) New algorithm for connecting along the perimeters is now applied
   to Honeycomb, Hilbert and similar planar filling curves.
2) The old expensive path chaining is not applied if the new algorithm
   to connect along the perimeter lines is called afterwards.
2020-11-16 12:51:51 +01:00
Vojtech Bubnik e9fa36ea7d Fillers: Removal of old FillRectilinear, using of "override" instead
of "virtual" where applicable.
2020-11-16 11:16:44 +01:00
Vojtech Bubnik 4280fdb5f2 Reworked connection of infill lines to perimeter lines.
Added a new "infill_anchor" parameter.
2020-11-16 10:54:00 +01:00
Vojtech Bubnik 4d102ac8ca FillAdaptive:
1) More accurate trimming of an anchor with another infill line
   or by another anchor line.
2) Trimming of very short infill lines, which are not anchored,
   by another infill lines.
2020-11-11 16:49:11 +01:00
Vojtech Bubnik 26836db629 FillAdaptive: Handling of a special case when the infill lines
touch at their ends.
2020-11-11 11:51:26 +01:00
Vojtech Bubnik decda76344 AdaptiveInfill:
1) Shortening the anchor lines when touching another infill line
   to avoid over extrusion.
2) Reduction of the Intersection structure complexity by referencing
   the source lines.
2020-11-10 15:54:32 +01:00
Vojtech Bubnik 89df9c1038 Improvement of AdaptiveFill:
1) Merging of collinear infill lines separated by a thin gap created
   by trimming with the boundary polygon.
2) Sorting of the T-joints separately to the left / right of the common
   line.
3) Trimming self intersections of the anchor lines.
4) Dropping of very short segments, not anchoring short segments.
2020-11-10 13:56:12 +01:00
Vojtech Bubnik 517477f0dd Fix of the previous Adaptive Cubic infill refactoring
plus couple of fixes of the old logic.
2020-11-06 16:24:15 +01:00
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 502aa42ac0 Removed FillRectilinear3, it was a dead end. 2020-10-28 13:33:22 +01:00
Vojtech Bubnik 751ae8e789 Fixed crash in monotonous infill due to some unexpected pinching
of the inner contour at a single vertical infill line without
pinching the outer contour.
2020-10-27 09:38:51 +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 b8d574093d Small rework of connecting infill with perimeters using hooks
Hooks are preferably generated in the direction of printed perimeters.
Small refactoring of the algorithm. Some parts of the algorithm are better documented.
2020-10-11 15:45:50 +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