Small area flow compensator improvements #1292

Closed
opened 2026-04-05 17:13:13 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @ianalexis on 12/23/2025

Closes #11590

Description

PchipInterpolator

Swapped out the tk::spline implementation for PchipInterpolatorHelper in SmallAreaInfillFlowCompensator. Updated member types and method calls to use the new interpolator for improved flow compensation modeling.

Two near values can create a spike in the estimation:
imagen

With Pchip it will create a better interpolation
imagen

Throw error

Currently, when there is an error in a value, it fails silently and does not slice normally, which can give a false impression that it is working when it is not. Now the message is displayed and the slice is stopped.

Strictly increasing flow compensation factors

Added a check to ensure that flow compensation factors in SmallAreaInfillFlowCompensator strictly increase with extrusion length, throwing an exception if this condition is not met. This improves input validation and prevents invalid compensation models.

*Originally created by @ianalexis on 12/23/2025* Closes #11590 # Description ## PchipInterpolator Swapped out the tk::spline implementation for PchipInterpolatorHelper in SmallAreaInfillFlowCompensator. Updated member types and method calls to use the new interpolator for improved flow compensation modeling. Two near values can create a spike in the estimation: <img width="1586" height="858" alt="imagen" src="https://github.com/user-attachments/assets/c7e82381-70bc-4e36-931f-1cfcab6b6271" /> With Pchip it will create a better interpolation <img width="1586" height="858" alt="imagen" src="https://github.com/user-attachments/assets/9017a368-ee68-4e15-aedd-1972deb4924f" /> ## Throw error Currently, when there is an error in a value, it fails silently and does not slice normally, which can give a false impression that it is working when it is not. Now the message is displayed and the slice is stopped. ## Strictly increasing flow compensation factors Added a check to ensure that flow compensation factors in SmallAreaInfillFlowCompensator strictly increase with extrusion length, throwing an exception if this condition is not met. This improves input validation and prevents invalid compensation models.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/OrcaSlicer#1292