Fixed a bug where zaa_dont_alternate_fill_direction still had an effect even when ZAA is disabled.

This commit is contained in:
SoftFever
2026-04-28 18:47:56 +08:00
parent 2957508b4a
commit 1acab58d60

View File

@@ -1218,7 +1218,7 @@ void Layer::make_fills(FillAdaptive::Octree* adaptive_fill_octree, FillAdaptive:
std::unique_ptr<Fill> f = std::unique_ptr<Fill>(Fill::new_from_type(surface_fill.params.pattern));
f->set_bounding_box(bbox);
f->layer_id = this->id();
f->dont_alternate_fill_direction = this->object()->config().zaa_dont_alternate_fill_direction;
f->dont_alternate_fill_direction = this->object()->config().zaa_enabled && this->object()->config().zaa_dont_alternate_fill_direction;
f->z = this->print_z;
f->angle = surface_fill.params.angle;
f->fixed_angle = surface_fill.params.fixed_angle;
@@ -1419,7 +1419,7 @@ Polylines Layer::generate_sparse_infill_polylines_for_anchoring(FillAdaptive::Oc
std::unique_ptr<Fill> f = std::unique_ptr<Fill>(Fill::new_from_type(surface_fill.params.pattern));
f->set_bounding_box(bbox);
f->layer_id = this->id() - this->object()->get_layer(0)->id(); // We need to subtract raft layers.
f->dont_alternate_fill_direction = this->object()->config().zaa_dont_alternate_fill_direction;
f->dont_alternate_fill_direction = this->object()->config().zaa_enabled && this->object()->config().zaa_dont_alternate_fill_direction;
f->z = this->print_z;
f->angle = surface_fill.params.angle;
f->fixed_angle = surface_fill.params.fixed_angle;
@@ -1592,7 +1592,7 @@ void Layer::make_ironing()
std::unique_ptr<Fill> f = std::unique_ptr<Fill>(Fill::new_from_type(f_pattern));
f->set_bounding_box(this->object()->bounding_box());
f->layer_id = this->id();
f->dont_alternate_fill_direction = this->object()->config().zaa_dont_alternate_fill_direction;
f->dont_alternate_fill_direction = this->object()->config().zaa_enabled && this->object()->config().zaa_dont_alternate_fill_direction;
f->z = this->print_z;
f->overlap = 0;
for (size_t i = 0; i < by_extruder.size();) {
@@ -1605,7 +1605,7 @@ void Layer::make_ironing()
f = std::unique_ptr<Fill>(Fill::new_from_type(f_pattern));
f->set_bounding_box(this->object()->bounding_box());
f->layer_id = this->id();
f->dont_alternate_fill_direction = this->object()->config().zaa_dont_alternate_fill_direction;
f->dont_alternate_fill_direction = this->object()->config().zaa_enabled && this->object()->config().zaa_dont_alternate_fill_direction;
f->z = this->print_z;
f->overlap = 0;
}