Add "2D Lattice" fill pattern for lightweight aircraft structures (#8293)

* Add 2D lattice infill pattern

* Add state invalidation behavior for lattice infill angles

* Update SurfaceFillParams methods to account for lattice infill angles

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
This commit is contained in:
Eric Maglio 2025-02-11 16:39:29 -08:00 committed by GitHub
parent c21b044a9c
commit 5145707801
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 89 additions and 5 deletions

View file

@ -1092,7 +1092,9 @@ bool PrintObject::invalidate_state_by_config_options(
|| opt_key == "infill_anchor_max"
|| opt_key == "top_surface_line_width"
|| opt_key == "initial_layer_line_width"
|| opt_key == "small_area_infill_flow_compensation") {
|| opt_key == "small_area_infill_flow_compensation"
|| opt_key == "lattice_angle_1"
|| opt_key == "lattice_angle_2") {
steps.emplace_back(posInfill);
} else if (opt_key == "sparse_infill_pattern") {
steps.emplace_back(posPrepareInfill);
@ -3504,6 +3506,7 @@ void PrintObject::combine_infill()
((infill_pattern == ipRectilinear ||
infill_pattern == ipMonotonic ||
infill_pattern == ipGrid ||
infill_pattern == ip2DLattice ||
infill_pattern == ipLine ||
infill_pattern == ipHoneycomb) ? 1.5f : 0.5f) *
layerms.back()->flow(frSolidInfill).scaled_width();