diff --git a/README.md b/README.md
index c162a11aad..5b49cf60db 100644
--- a/README.md
+++ b/README.md
@@ -37,10 +37,8 @@ If you come across any of these in search results, please report them as unsafe
-
-
# Main features
- **[Advanced Calibration Tools](https://github.com/SoftFever/OrcaSlicer/wiki/Calibration)**
@@ -48,7 +46,7 @@ If you come across any of these in search results, please report them as unsafe
- **[Precise Wall](https://github.com/SoftFever/OrcaSlicer/wiki/quality_settings_precision#precise-wall) and [Seam Control](https://github.com/SoftFever/OrcaSlicer/wiki/quality_settings_seam)**
Adjust outer wall spacing and apply scarf seams to enhance print accuracy.
- **[Sandwich Mode](https://github.com/SoftFever/OrcaSlicer/wiki/quality_settings_wall_and_surfaces#innerouterinner) and [Polyholes](https://github.com/SoftFever/OrcaSlicer/wiki/quality_settings_precision#polyholes) Support**
- Use varied infill patterns and accurate hole shapes for improved clarity.
+ Use varied infill [patterns](https://github.com/SoftFever/OrcaSlicer/wiki/strength_settings_patterns) and accurate hole shapes for improved clarity.
- **[Overhang](https://github.com/SoftFever/OrcaSlicer/wiki/quality_settings_overhangs) and [Support Optimization](https://github.com/SoftFever/OrcaSlicer/wiki#support-settings)**
Modify geometry for printable overhangs with precise support placement.
- **[Granular Controls](https://github.com/SoftFever/OrcaSlicer/wiki#process-settings) and Customization**
@@ -77,16 +75,19 @@ Please note that the wiki is a work in progress. We appreciate your patience as
# Download
## Stable Release
+
📥 **[Download the Latest Stable Release](https://github.com/SoftFever/OrcaSlicer/releases/latest)**
-Visit our GitHub Releases page for the latest stable version of Orca Slicer, recommended for most users.
+Visit our GitHub Releases page for the latest stable version of OrcaSlicer, recommended for most users.
## Nightly Builds
-🌙 **[Download the Latest Nightly Build](https://github.com/SoftFever/OrcaSlicer/releases/tag/nightly-builds)**
-Explore the latest developments in Orca Slicer with our nightly builds. Feedback on these versions is highly appreciated.
+🌙 **[Download the Latest Nightly Build](https://github.com/SoftFever/OrcaSlicer/releases/tag/nightly-builds)**
+Explore the latest developments in OrcaSlicer with our nightly builds. Feedback on these versions is highly appreciated.
# How to install
+
## Windows
+
Download the **Windows Installer exe** for your preferred version from the [releases page](https://github.com/SoftFever/OrcaSlicer/releases).
- *For convenience there is also a portable build available.*
@@ -102,15 +103,18 @@ Download the **Windows Installer exe** for your preferred version from the [rel
- This file may already be available on your computer if you've installed visual studio. Check the following location: `%VCINSTALLDIR%Redist\MSVC\v142`
-Windows Package Manager:
+Windows Package Manager
+
```shell
-winget install --id=SoftFever.OrcaSlicer --exact
+winget install --id=SoftFever.OrcaSlicer -e
```
-## Mac:
+## Mac
+
1. Download the DMG for your computer: `arm64` version for Apple Silicon and `x86_64` for Intel CPU.
2. Drag OrcaSlicer.app to Application folder.
3. *If you want to run a build from a PR, you also need to follow the instructions below:*
+
Quarantine
@@ -120,27 +124,33 @@ winget install --id=SoftFever.OrcaSlicer --exact
- Option 2:
Execute this command in terminal:
+
```shell
- xattr -dr com.apple.quarantine /Applications/OrcaSlicer.app`
+ xattr -dr com.apple.quarantine /Applications/OrcaSlicer.app
```
+
- Option 3:
- Step 1: open the app, a warning window will pop up

- - Step 2: in `System Settings` -> `Privacy & Security`, click `Open Anyway`:
+ - Step 2: in `System Settings` -> `Privacy & Security`, click `Open Anyway`:

| @@ -172,31 +184,29 @@ Thank you! :) |
+
```
### Image Cropping and Highlighting
@@ -208,7 +222,7 @@ Example:
To ensure clarity:
- Crop images to focus on relevant areas.
-- Use annotations like arrows or shapes (circles, rectangles) to highlight key parts—but avoid overloading the image.
+- Use simple annotations (arrows, circles, rectangles) to highlight important parts without overloading the image.
### Recommended Formats
@@ -218,11 +232,12 @@ To ensure clarity:
## Structuring Content
-Each wiki page should have a clear objective, which helps determine the structure of the content. After a brief introduction, use one of the following formats:
+Each page should have a clear objective. After a short introduction, choose a structure that fits the content:
-- **Step-by-Step Guide:** Organize content into sections and subsections for tasks requiring sequential actions (e.g., calibration procedures).
-- **GUI-Based Reference:** If sequence isn’t crucial, structure the content following Orca Slicer’s GUI. This format works well for configurable settings or feature overviews.
- - Example: Explain **Layer Height** before **Initial Layer Height**, as the former applies globally while the latter is specific to the first layer.
+- **Step-by-step guides:** Use for sequential procedures (for example calibration).
+- **GUI-based reference:** Describe settings following OrcaSlicer's UI when sequence isn't required.
+
+Example: explain **Layer Height** before **Initial Layer Height**, since the former is global and the latter only applies to the first layer.
## Commands and Code Blocks
@@ -247,5 +262,5 @@ When adding commands or code blocks please use the [Code Block with Syntax Highl
## External Links
-Be careful when linking to external resources. Ensure that the links are relevant and reliable.
-Papers, articles, and other resources should be cited properly.
+Be careful when linking to external resources.
+Ensure links are relevant and reliable and cite papers or articles when appropriate.
diff --git a/doc/developer-reference/Localization_guide.md b/doc/developer-reference/Localization_guide.md
index ad84ad6ea0..c5d473901f 100644
--- a/doc/developer-reference/Localization_guide.md
+++ b/doc/developer-reference/Localization_guide.md
@@ -1,6 +1,6 @@
# Localization and translation guide
-The purpose of this guide is to describe how to contribute to the Orca Slicer translations. We use GNUgettext for extracting string resources from the project and PoEdit for editing translations.
+The purpose of this guide is to describe how to contribute to the OrcaSlicer translations. We use GNUgettext for extracting string resources from the project and PoEdit for editing translations.
Those can be downloaded here:
@@ -34,9 +34,9 @@ Notice. When the translation is complete you need to:
- copy OrcaSlicer_xx.mo into resources/i18n/xx and rename it to OrcaSlicer.mo, then push the changed file.
( name of folder "fr" means "French" - the translation language).
-### Scenario 3. How do I add a new text resource when implementing a feature to Orca Slicer
+### Scenario 3. How do I add a new text resource when implementing a feature to OrcaSlicer
-Each string resource in Orca Slicer available for translation needs to be explicitly marked using L() macro like this:
+Each string resource in OrcaSlicer available for translation needs to be explicitly marked using L() macro like this:
```C++
auto msg = L("This message to be localized")
@@ -45,7 +45,7 @@ auto msg = L("This message to be localized")
To get translated text use one of needed macro/function (`_(s)` or `_CHB(s)` ).
If you add new file resource, add it to the list of files containing macro `L()`
-### Scenario 4. How do I use GNUgettext to localize my own application taking Orca Slicer as an example
+### Scenario 4. How do I use GNUgettext to localize my own application taking OrcaSlicer as an example
1. For convenience create a list of files with this macro `L(s)`. We have
https://github.com/softfever/OrcaSlicer/blob/master/localization/i18n/list.txt.
@@ -86,13 +86,13 @@ If you add new file resource, add it to the list of files containing macro `L()`
When you have Catalog to translation open POT or PO file in PoEdit and start translating.
-## General guidelines for Orca Slicer translators
+## General guidelines for OrcaSlicer translators
- We recommend using _PoEdit_ application for translation (as described above). It will help you eliminate most punctuation errors and will show you strings with "random" translations (if the fuzzy parameter was used).
-- To check how the translated text looks on the UI elements, test it :) If you use _PoEdit_, all you need to do is save the file. At this point, a MO file will be created. Rename it Orca Slicer.mo, and you can run Orca Slicer (see above).
+- To check how the translated text looks on the UI elements, test it :) If you use _PoEdit_, all you need to do is save the file. At this point, a MO file will be created. Rename it OrcaSlicer.mo, and you can run OrcaSlicer (see above).
-- If you see an encoding error (garbage characters instead of Unicode) somewhere in Orca Slicer, report it. It is likely not a problem of your translation, but a bug in the software.
+- If you see an encoding error (garbage characters instead of Unicode) somewhere in OrcaSlicer, report it. It is likely not a problem of your translation, but a bug in the software.
- See on which UI elements the translated phrase will be used. Especially if it's a button, it is very important to decide on the translation and not write alternative translations in parentheses, as this will significantly increase the width of the button, which is sometimes highly undesirable:
diff --git a/doc/images/Flow-Rate/flowcalibration-example.png b/doc/images/Flow-Rate/flowcalibration-example.png
index 5f325f2977..a9903966b1 100644
Binary files a/doc/images/Flow-Rate/flowcalibration-example.png and b/doc/images/Flow-Rate/flowcalibration-example.png differ
diff --git a/doc/images/Flow-Rate/flowcalibration-guide.png b/doc/images/Flow-Rate/flowcalibration-guide.png
new file mode 100644
index 0000000000..77bda5091a
Binary files /dev/null and b/doc/images/Flow-Rate/flowcalibration-guide.png differ
diff --git a/doc/images/Flow-Rate/flowcalibration-yolo.gif b/doc/images/Flow-Rate/flowcalibration-yolo.gif
index 38420b5bda..de4aaee116 100644
Binary files a/doc/images/Flow-Rate/flowcalibration-yolo.gif and b/doc/images/Flow-Rate/flowcalibration-yolo.gif differ
diff --git a/doc/images/Flow-Rate/flowcalibration_update_flowrate.png b/doc/images/Flow-Rate/flowcalibration_update_flowrate.png
index 6ac5024733..44dab31b13 100644
Binary files a/doc/images/Flow-Rate/flowcalibration_update_flowrate.png and b/doc/images/Flow-Rate/flowcalibration_update_flowrate.png differ
diff --git a/doc/images/Flow-Rate/flowrate-Bambulab-uncheck.png b/doc/images/Flow-Rate/flowrate-Bambulab-uncheck.png
index b362a3d689..eb6748f0e8 100644
Binary files a/doc/images/Flow-Rate/flowrate-Bambulab-uncheck.png and b/doc/images/Flow-Rate/flowrate-Bambulab-uncheck.png differ
diff --git a/doc/images/Flow-Rate/monotonic-flow-rate/flowcalibration_update_flowrate_monotonic.png b/doc/images/Flow-Rate/monotonic-flow-rate/flowcalibration_update_flowrate_monotonic.png
new file mode 100644
index 0000000000..1db9320a14
Binary files /dev/null and b/doc/images/Flow-Rate/monotonic-flow-rate/flowcalibration_update_flowrate_monotonic.png differ
diff --git a/doc/images/Flow-Rate/monotonic-flow-rate/flowrate-0-5-monotonic.jpg b/doc/images/Flow-Rate/monotonic-flow-rate/flowrate-0-5-monotonic.jpg
index adf114ee2a..7e8108fe3d 100644
Binary files a/doc/images/Flow-Rate/monotonic-flow-rate/flowrate-0-5-monotonic.jpg and b/doc/images/Flow-Rate/monotonic-flow-rate/flowrate-0-5-monotonic.jpg differ
diff --git a/doc/images/Flow-Rate/monotonic-flow-rate/flowrate-6-monotonic.jpg b/doc/images/Flow-Rate/monotonic-flow-rate/flowrate-6-monotonic.jpg
index 2e166982cb..cb1d5837a4 100644
Binary files a/doc/images/Flow-Rate/monotonic-flow-rate/flowrate-6-monotonic.jpg and b/doc/images/Flow-Rate/monotonic-flow-rate/flowrate-6-monotonic.jpg differ
diff --git a/doc/images/Flow-Rate/monotonic-flow-rate/flowrate-pass1-monotonic.jpg b/doc/images/Flow-Rate/monotonic-flow-rate/flowrate-pass1-monotonic.jpg
index 01ef036ea5..19cd606e35 100644
Binary files a/doc/images/Flow-Rate/monotonic-flow-rate/flowrate-pass1-monotonic.jpg and b/doc/images/Flow-Rate/monotonic-flow-rate/flowrate-pass1-monotonic.jpg differ
diff --git a/doc/images/Flow-Rate/monotonic-flow-rate/flowrate-pass2-monotonic.jpg b/doc/images/Flow-Rate/monotonic-flow-rate/flowrate-pass2-monotonic.jpg
index 2e09a8a127..333d1bc31e 100644
Binary files a/doc/images/Flow-Rate/monotonic-flow-rate/flowrate-pass2-monotonic.jpg and b/doc/images/Flow-Rate/monotonic-flow-rate/flowrate-pass2-monotonic.jpg differ
diff --git a/doc/images/fill/fill-combination.png b/doc/images/fill/fill-combination.png
new file mode 100644
index 0000000000..29bca84ab8
Binary files /dev/null and b/doc/images/fill/fill-combination.png differ
diff --git a/doc/images/fill/fill-direction-to-model.png b/doc/images/fill/fill-direction-to-model.png
new file mode 100644
index 0000000000..890c9336a4
Binary files /dev/null and b/doc/images/fill/fill-direction-to-model.png differ
diff --git a/doc/images/fill/fill-direction.png b/doc/images/fill/fill-direction.png
new file mode 100644
index 0000000000..2ae10348d8
Binary files /dev/null and b/doc/images/fill/fill-direction.png differ
diff --git a/doc/images/fill/fill-rotation.png b/doc/images/fill/fill-rotation.png
new file mode 100644
index 0000000000..d60ac1c224
Binary files /dev/null and b/doc/images/fill/fill-rotation.png differ
diff --git a/doc/images/fill/infill-top-2d-honeycomb.png b/doc/images/fill/infill-top-lateral-honeycomb.png
similarity index 100%
rename from doc/images/fill/infill-top-2d-honeycomb.png
rename to doc/images/fill/infill-top-lateral-honeycomb.png
diff --git a/doc/images/fill/infill-top-2d-lattice.png b/doc/images/fill/infill-top-lateral-lattice.png
similarity index 100%
rename from doc/images/fill/infill-top-2d-lattice.png
rename to doc/images/fill/infill-top-lateral-lattice.png
diff --git a/doc/images/fill/infill-top-monotonic-line.png b/doc/images/fill/infill-top-monotonic-line.png
new file mode 100644
index 0000000000..e08eb51947
Binary files /dev/null and b/doc/images/fill/infill-top-monotonic-line.png differ
diff --git a/doc/images/fill/infill-top-monotonic.png b/doc/images/fill/infill-top-monotonic.png
new file mode 100644
index 0000000000..f81928be80
Binary files /dev/null and b/doc/images/fill/infill-top-monotonic.png differ
diff --git a/doc/images/fill/infill-top-tpms-fk.png b/doc/images/fill/infill-top-tpms-fk.png
new file mode 100644
index 0000000000..b46b038915
Binary files /dev/null and b/doc/images/fill/infill-top-tpms-fk.png differ
diff --git a/doc/images/walls/walls-big-detect-thin-off-on.png b/doc/images/walls/walls-big-detect-thin-off-on.png
new file mode 100644
index 0000000000..61be7244da
Binary files /dev/null and b/doc/images/walls/walls-big-detect-thin-off-on.png differ
diff --git a/doc/images/walls/walls-small-detect-thin-off.png b/doc/images/walls/walls-small-detect-thin-off.png
new file mode 100644
index 0000000000..9d2722fa03
Binary files /dev/null and b/doc/images/walls/walls-small-detect-thin-off.png differ
diff --git a/doc/images/walls/walls-small-detect-thin-on.png b/doc/images/walls/walls-small-detect-thin-on.png
new file mode 100644
index 0000000000..70593d52e1
Binary files /dev/null and b/doc/images/walls/walls-small-detect-thin-on.png differ
diff --git a/doc/images/walls/walls.png b/doc/images/walls/walls.png
new file mode 100644
index 0000000000..7cdd527801
Binary files /dev/null and b/doc/images/walls/walls.png differ
diff --git a/doc/print_settings/quality/quality_settings_ironing.md b/doc/print_settings/quality/quality_settings_ironing.md
index bdb116668e..5b34cfb31a 100644
--- a/doc/print_settings/quality/quality_settings_ironing.md
+++ b/doc/print_settings/quality/quality_settings_ironing.md
@@ -11,7 +11,7 @@ Ironing is a process used to improve the surface finish of 3D prints by smoothin
This setting controls which layer being ironed.
-- **Top Surfaces**: All [top surfaces](strength_settings_top_bottom_shells) will be ironed. This is the most common setting and is used to smooth out the top layers of the print.
+- **Top Surfaces**: All [top surfaces](strength_settings_top_bottom_shells) will be ironed. This is the most common setting and is used to smooth out the top layers of the print.

- **Topmost Surface**: Only the last [top layer](strength_settings_top_bottom_shells) of the print will be ironed. This is useful for prints where only the last layer needs to be smoothed.

@@ -21,7 +21,14 @@ This setting controls which layer being ironed.
## Pattern
The pattern that will be used when ironing. Usually, the best pattern is the one with the most efficient coverage of the surface.
-You can learn more about the different patterns in the [Sparse infill pattern](strength_settings_infill#sparse-infill-pattern) section.
+
+> [!TIP]
+> See [Infill Patterns Wiki List](strength_settings_patterns) with **detailed specifications**, including their strengths and weaknesses.
+
+ The ironing patterns are:
+
+- **[Concentric](strength_settings_patterns#concentric)**
+- **[Rectilinear](strength_settings_patterns#rectilinear)**
## Flow
@@ -39,12 +46,12 @@ The distance to keep from the edges, which can help prevent over-extrusion at th

-If this value is set to 0, the ironing toolpath will start directly at the perimeter edges without any inward offset. This means the ironing pattern will extend all the way to the outer boundaries of the top surface being ironed.
+If this value is set to 0, the ironing toolpath will start directly at the perimeter edges without any inward offset. This means the [ironing pattern](#pattern) will extend all the way to the outer boundaries of the top surface being ironed.
## Angle
The angle ironing is done at.
-A negative number disables this function and uses the [sparse infill direction](strength_settings_infill#sparse-infill-direction).
+A negative number disables this function and uses the [sparse infill direction](strength_settings_infill#direction).
## Speed
diff --git a/doc/print_settings/quality/quality_settings_line_width.md b/doc/print_settings/quality/quality_settings_line_width.md
index c508ff7044..8e393a5920 100644
--- a/doc/print_settings/quality/quality_settings_line_width.md
+++ b/doc/print_settings/quality/quality_settings_line_width.md
@@ -54,7 +54,7 @@ If you need stronger infill, it's recommended to use [infill line multiplier](st
### Internal Solid Infill
-Used for solid top/bottom layers or [100% infill](strength_settings_infill##sparse-infill-density).
+Used for solid top/bottom layers or [100% infill](strength_settings_infill#sparse-infill-density).
Recommended: **~110%** for good layer adhesion and visual quality.
### Support
diff --git a/doc/print_settings/quality/quality_settings_seam.md b/doc/print_settings/quality/quality_settings_seam.md
index ad23847028..b0a5dce3a3 100644
--- a/doc/print_settings/quality/quality_settings_seam.md
+++ b/doc/print_settings/quality/quality_settings_seam.md
@@ -109,7 +109,7 @@ Disadvantages:
- Requires tuning of parameters like length, speed, and flow for best results
> [!NOTE]
-> Read more here: [Better Seams - An Orca Slicer Guide](https://www.printables.com/model/783313-better-seams-an-orca-slicer-guide-to-using-scarf-s).
+> Read more here: [Better Seams - An OrcaSlicer Guide](https://www.printables.com/model/783313-better-seams-an-orca-slicer-guide-to-using-scarf-s).
#### Scarf joint seam Type
diff --git a/doc/print_settings/quality/quality_settings_wall_and_surfaces.md b/doc/print_settings/quality/quality_settings_wall_and_surfaces.md
index c5d5719f7c..e880d600bc 100644
--- a/doc/print_settings/quality/quality_settings_wall_and_surfaces.md
+++ b/doc/print_settings/quality/quality_settings_wall_and_surfaces.md
@@ -38,7 +38,7 @@ Use Outer/Inner for the same external wall quality and dimensional accuracy bene
### Print infill first
-When this option is enabled, the [infill](strength_settings_infill) and [top/bottom shells](strength_settings_top_bottom_shells) is printed first, followed by the walls. This can be useful for some overhangs where the infill can support the walls.
+When this option is enabled, the [infill](strength_settings_infill) and [top/bottom shells](strength_settings_top_bottom_shells) are printed first, followed by the walls. This can be useful for some overhangs where the infill can support the walls.

@@ -68,7 +68,7 @@ The actual top surface flow used is calculated by multiplying this value with th
## Only one wall
Use only one wall on flat surfaces, to give more space to the [top infill pattern](strength_settings_top_bottom_shells#surface-pattern).
-Specially useful in small features, like letters, where the top surface is very small and concentric pattern from walls would not cover it properly.
+Specially useful in small features, like letters, where the top surface is very small and [concentric pattern](strength_settings_patterns#concentric) from walls would not cover it properly.

diff --git a/doc/print_settings/quality/quality_settings_wall_generator.md b/doc/print_settings/quality/quality_settings_wall_generator.md
index 89482d3562..e464ee5c76 100644
--- a/doc/print_settings/quality/quality_settings_wall_generator.md
+++ b/doc/print_settings/quality/quality_settings_wall_generator.md
@@ -26,6 +26,9 @@ The Arachne wall generator dynamically adjusts extrusion width to follow the sha

+> [!NOTE]
+> [A Framework for Adaptive Width Control of Dense Contour-Parallel Toolpaths in Fused Deposition Modeling](https://www.sciencedirect.com/science/article/pii/S0010448520301007?via%3Dihub)
+
### Wall transitioning threshhold angle
Defines the minimum angle (in degrees) required for the algorithm to create a transition between an even and odd number of walls. If a wedge shape exceeds this angle, no extra center wall will be added. Lowering this value reduces center walls but may cause under- or over-extrusion in sharp corners.
diff --git a/doc/print_settings/speed/speed_settings_acceleration.md b/doc/print_settings/speed/speed_settings_acceleration.md
index 8bc35158fd..1352a950c3 100644
--- a/doc/print_settings/speed/speed_settings_acceleration.md
+++ b/doc/print_settings/speed/speed_settings_acceleration.md
@@ -23,11 +23,11 @@ The default acceleration of both normal printing and travel.
## Outer wall
-Acceleration for [outer wall](speed_settings_walls#outer-wall) printing. This is usually set to a lower value than normal printing to ensure better quality.
+Acceleration for [outer wall](speed_settings_other_layers_speed#outer-wall) printing. This is usually set to a lower value than normal printing to ensure better quality.
## Inner wall
-Acceleration for [inner wall](speed_settings_walls#inner-wall) printing. This is usually set to a higher value than outer wall printing to improve speed.
+Acceleration for [inner wall](speed_settings_other_layers_speed#inner-wall) printing. This is usually set to a higher value than outer wall printing to improve speed.
## Bridge
diff --git a/doc/print_settings/speed/speed_settings_advanced.md b/doc/print_settings/speed/speed_settings_advanced.md
index 288d1ef90d..d86834d626 100644
--- a/doc/print_settings/speed/speed_settings_advanced.md
+++ b/doc/print_settings/speed/speed_settings_advanced.md
@@ -184,7 +184,7 @@ In this case, the printer slows down and then accelerates independently of what
## Credits
-- **Original feature authors and creators:** The Prusa Slicer team, including [@bubnikv](https://github.com/bubnikv), [@hejllukas](https://github.com/hejllukas).
+- **Original feature authors and creators:** The PrusaSlicer team, including [@bubnikv](https://github.com/bubnikv), [@hejllukas](https://github.com/hejllukas).
- **Enhanced by:** [@MGunlogson](https://github.com/MGunlogson), introducing the feature to external perimeters, enhancing it by taking into account travel, retraction and implementing near-contiguous extrusions pressure equalizer adjustments.
- **Ported to Orca:** [@igiannakas](https://github.com/igiannakas).
- **Enhanced by:** [@noisyfox](https://github.com/Noisyfox), per object pressure equalization and fixing calculation logic bugs.
diff --git a/doc/print_settings/speed/speed_settings_initial_layer_speed.md b/doc/print_settings/speed/speed_settings_initial_layer_speed.md
index 1542f38962..fc1a5ed635 100644
--- a/doc/print_settings/speed/speed_settings_initial_layer_speed.md
+++ b/doc/print_settings/speed/speed_settings_initial_layer_speed.md
@@ -4,12 +4,12 @@ Printing the first layer slower than the rest of the print is a widely recommend
## Initial layer
-This setting determines the printing speed for the first layer, excluding [solid infill](strength_settings_top_bottom_shells) regions. It applies to the [outer/inner walls](strength_settings_walls), [sparse infill](strength_settings_infill) when [bottom layers](strength_settings_top_bottom_shells#shells-layers) is set to 0.
+This setting determines the printing speed for the first layer, excluding [solid infill](strength_settings_top_bottom_shells) regions. It applies to the [outer/inner walls](strength_settings_walls), [sparse infill](strength_settings_infill) when [bottom layers](strength_settings_top_bottom_shells#shell-layers) is set to 0.
Adjusting this speed helps ensure proper adhesion and print quality for the initial layer.
## Initial layer infill
-Defines the speed used specifically for [solid infill](strength_settings_top_bottom_shells#shells-layers) regions on the first layer. These areas require more precise and consistent extrusion to create a flat and stable surface for subsequent layers. Printing this section too fast may result in high internal stresses (increased risk of warping), poor layer uniformity, or adhesion failures.
+Defines the speed used specifically for [solid infill](strength_settings_top_bottom_shells#shell-layers) regions on the first layer. These areas require more precise and consistent extrusion to create a flat and stable surface for subsequent layers. Printing this section too fast may result in high internal stresses (increased risk of warping), poor layer uniformity, or adhesion failures.
## Initial layer travel speed
diff --git a/doc/print_settings/speed/speed_settings_other_layers_speed.md b/doc/print_settings/speed/speed_settings_other_layers_speed.md
index e7efceb059..cca1b32d9a 100644
--- a/doc/print_settings/speed/speed_settings_other_layers_speed.md
+++ b/doc/print_settings/speed/speed_settings_other_layers_speed.md
@@ -7,8 +7,8 @@
>
> - [Maximum Volumetric Speed](volumetric-speed-calib)
> - Machine / Motion ability
-> - [Acceleration](speed-settings-acceleration)
-> - [Jerk settings](speed-settings-jerk)
+> - [Acceleration](speed_settings_acceleration)
+> - [Jerk settings](speed_settings_jerk_xy)
- [Speed limitations](#speed-limitations)
- [Outer wall](#outer-wall)
@@ -62,8 +62,8 @@ For example, if the threshold is set to 5 mm, then the perimeter length must be
## Sparse infill
-Speed of [sparse infill](strength_settings_infill#sparse-infill) which is printed faster than solid infill to reduce print time.
-In case you are using your Infill Pattern as aesthetic feature, you may want to set it closer to the [outer wall speed](#outer-wall) to get better quality.
+Speed of [sparse infill](strength_settings_infill) which is printed faster than solid infill to reduce print time.
+In case you are using your [Infill Pattern](strength_settings_infill) as aesthetic feature, you may want to set it closer to the [outer wall speed](#outer-wall) to get better quality.
## Internal solid infill
diff --git a/doc/print_settings/speed/speed_settings_overhang_speed.md b/doc/print_settings/speed/speed_settings_overhang_speed.md
index b362bfe474..41dd8829c3 100644
--- a/doc/print_settings/speed/speed_settings_overhang_speed.md
+++ b/doc/print_settings/speed/speed_settings_overhang_speed.md
@@ -2,7 +2,7 @@
- [Slow down for overhang](#slow-down-for-overhang)
- [Slow down for curled perimeters](#slow-down-for-curled-perimeters)
- - [Overhang speed](#overhang-speed-1)
+ - [Speed](#speed)
- [Bridge speed](#bridge-speed)
## Slow down for overhang
@@ -21,7 +21,7 @@ It is generally recommended to have this option switched on unless your printer
> [!NOTE]
> When this option is enabled, overhang perimeters are treated like overhangs, meaning the overhang speed is applied even if the overhanging perimeter is part of a bridge. For example, when the perimeters are 100% overhanging, with no wall supporting them from underneath, the 100% overhang speed will be applied.
-### Overhang speed
+### Speed
This is the speed for various overhang degrees. Overhang degrees are expressed as a percentage of [line width](quality_settings_line_width).
diff --git a/doc/print_settings/strength/infill_desc_calculator.xlsx b/doc/print_settings/strength/infill_desc_calculator.xlsx
index 98bbbcadab..266ee309b6 100644
Binary files a/doc/print_settings/strength/infill_desc_calculator.xlsx and b/doc/print_settings/strength/infill_desc_calculator.xlsx differ
diff --git a/doc/print_settings/strength/strength_settings_advanced.md b/doc/print_settings/strength/strength_settings_advanced.md
index 076be86dff..461f998c44 100644
--- a/doc/print_settings/strength/strength_settings_advanced.md
+++ b/doc/print_settings/strength/strength_settings_advanced.md
@@ -10,38 +10,46 @@
## Align infill direction to model
-Aligns infill and surface fill directions to follow the model's orientation on the build plate. When enabled, fill directions rotate with the model to maintain optimal strength characteristics.
+Aligns infill and surface fill directions to follow the model's orientation on the build plate.
+When enabled, fill directions rotate with the model to maintain optimal characteristics.
+
+
## Bridge infill direction
-Bridging angle override. If left to zero, the bridging angle will be calculated automatically. Otherwise the provided angle will be used for bridges. Use 180° for zero angle.
+Bridging angle override.
+If left at zero, the bridging angle will be calculated automatically. Otherwise, the provided angle will be used for bridges.
+Use 180° to represent a zero angle.
## Minimum sparse infill threshold
-Sparse infill area which is smaller than threshold value is replaced by internal solid infill.
+Sparse infill areas smaller than the threshold value are replaced by [internal solid infill](strength_settings_infill#internal-solid-infill).
+This setting helps to ensure that small areas of sparse infill do not compromise the strength of the print. It is particularly useful for models with intricate designs or small features where sparse infill may not provide sufficient support.
## Infill Combination
-Automatically Combine sparse infill of several layers to print together to reduce time. Wall is still printed with original layer height.
+Automatically combine [sparse infill](strength_settings_infill) of several layers so they print together and reduce print time and while increasing strength. While walls are still printed with the original [layer height](quality_settings_layer_height).
+
+
### Max layer height
Maximum layer height for the combined sparse infill.
-Set it to 0 or 100% to use the nozzle diameter (for maximum reduction in print time) or a value of ~80% to maximize sparse infill strength.
+Set it to 0 or 100% to use the nozzle diameter (for maximum reduction in print time), or to a value of ~80% to maximize sparse infill strength.
-The number of layers over which infill is combined is derived by dividing this value with the layer height and rounded down to the nearest decimal.
+The number of layers over which infill is combined is derived by dividing this value by the layer height and rounding down to the nearest decimal.
-Use either absolute mm values (eg. 0.32mm for a 0.4mm nozzle) or % values (eg 80%). This value must not be larger than the nozzle diameter.
+Use either absolute mm values (e.g., 0.32mm for a 0.4mm nozzle) or percentages (e.g., 80%). This value must not be larger than the nozzle diameter.
## Detect narrow internal solid infill
-This option will auto-detect narrow internal solid infill areas. If enabled, the concentric pattern will be used for the area to speed up printing. Otherwise, the rectilinear pattern will be used by default.
+This option auto-detects narrow internal solid infill areas. If enabled, the [concentric pattern](strength_settings_patterns#concentric) will be used in those areas to speed up printing. Otherwise, the [rectilinear pattern](strength_settings_patterns#rectilinear) will be used by default.
## Ensure vertical shell thickness
-Add solid infill near sloping surfaces to guarantee the vertical shell thickness (top+bottom solid layers).
+Add solid infill near sloping surfaces to guarantee the vertical shell thickness (top and bottom solid layers).
-- **None**: No solid infill will be added anywhere. Caution: Use this option carefully if your model has sloped surfaces.
+- **None**: No solid infill will be added anywhere. **Caution:** Use this option carefully if your model has sloped surfaces.
- **Critical Only**: Avoid adding solid infill for walls.
- **Moderate**: Add solid infill for heavily sloping surfaces only.
- **All (default)**: Add solid infill for all suitable sloping surfaces.
diff --git a/doc/print_settings/strength/strength_settings_infill.md b/doc/print_settings/strength/strength_settings_infill.md
index a306d1b554..36850e5391 100644
--- a/doc/print_settings/strength/strength_settings_infill.md
+++ b/doc/print_settings/strength/strength_settings_infill.md
@@ -14,39 +14,21 @@ Infill is the internal structure of a 3D print, providing strength and support.
- [Anchor](#anchor)
- [Internal Solid Infill](#internal-solid-infill)
- [Sparse Infill Pattern](#sparse-infill-pattern)
- - [Rectilinear](#rectilinear)
- - [Aligned Rectilinear](#aligned-rectilinear)
- - [Zig Zag](#zig-zag)
- - [Cross Zag](#cross-zag)
- - [Locked Zag](#locked-zag)
- - [Line](#line)
- - [Grid](#grid)
- - [Triangles](#triangles)
- - [Tri-hexagon](#tri-hexagon)
- - [Cubic](#cubic)
- - [Adaptive Cubic](#adaptive-cubic)
- - [Quarter Cubic](#quarter-cubic)
- - [Support Cubic](#support-cubic)
- - [Lightning](#lightning)
- - [Honeycomb](#honeycomb)
- - [3D Honeycomb](#3d-honeycomb)
- - [2D Honeycomb](#2d-honeycomb)
- - [2D Lattice](#2d-lattice)
- - [Cross Hatch](#cross-hatch)
- - [TPMS-D](#tpms-d)
- - [Gyroid](#gyroid)
- - [Concentric](#concentric)
- - [Hilbert Curve](#hilbert-curve)
- - [Archimedean Chords](#archimedean-chords)
- - [Octagram Spiral](#octagram-spiral)
- [Credits](#credits)
## Sparse infill density
-Density usually should be calculated as a % of the total infill volume, not the total print volume.
-Higher density increases strength but also material usage and print time. Lower density saves material and time but reduces strength.
+Infill density determines the amount of material used to fill the interior of a 3D print. It is usually expressed as a percentage, with 100% being completely solid.
-Nevertheless, **not all patterns interpret density the same way**, so the actual material usage may vary. You can see each pattern's material usage in the [Sparse Infill Pattern](#sparse-infill-pattern) section.
+- Higher density increases
+ - Strength
+ - Material usage
+ - Print time.
+
+> [!NOTE]
+> Density usually is calculated as a % of the total infill volume, not the total print volume.
+> Nevertheless, **not all patterns interpret density the same way**, so the actual material usage may vary.
+> You can see each pattern's material usage in the [Patterns section](strength_settings_patterns).
## Fill Multiline
@@ -73,14 +55,14 @@ This setting allows you to generate your selected [infill pattern](#sparse-infil
### Use cases
-- Increasing the number of lines (e.g., 2 or 3) can improve part strength and print speed without increasing material usage.
-- Fire-retardant applications: Some flame-resistant materials (like PolyMax PC-FR) require a minimum printed wall/infill thickness—often 1.5–3 mm—to comply with standards. Since infill contributes to overall part thickness, using multiple lines helps achieve the necessary thickness without switching to a large nozzle or printing with 100% infill. This is especially useful for high-temperature materials like PC, which are prone to warping when fully solid.
-- Creating aesthetically pleasing infill patterns (like [Grid](#grid) or [Honeycomb](#honeycomb)) with multiple line widths—without relying on CAD modeling or being limited to a single extrusion width.
+- Increasing the number of lines (e.g., 2 or 3) can **improve part strength** and **print speed** without increasing material usage.
+- **Fire-retardant applications:** Some flame-resistant materials (like PolyMax PC-FR) require a minimum printed wall/infill thickness—often 1.5–3 mm—to comply with standards. Since infill contributes to overall part thickness, using multiple lines helps achieve the necessary thickness without switching to a large nozzle or printing with 100% infill. This is especially useful for high-temperature materials like PC, which are prone to warping when fully solid.
+- Creating **aesthetic** infill patterns (like [Grid](strength_settings_patterns#grid) or [Honeycomb](strength_settings_patterns#honeycomb)) with multiple line widths—without relying on CAD modeling or being limited to a single extrusion width.

> [!WARNING]
-> For self intersecting infills (e.g. [Cubic](#cubic), [Grid](#grid)) multiline count greater than 3 may cause layer shift, extruder clog or other issues due to overlapping of lines on intersection points.
+> For self intersecting infills (e.g. [Cubic](strength_settings_patterns#cubic), [Grid](strength_settings_patterns#grid)) multiline count greater than 3 may cause layer shift, extruder clog or other issues due to overlapping of lines on intersection points.
>
> 
@@ -93,6 +75,8 @@ This setting allows you to generate your selected [infill pattern](#sparse-infil
Controls the direction of the infill lines to optimize or strengthen the print.
+
+
### Rotation
This parameter adds a rotation to the sparse infill direction for each layer according to the specified template.
@@ -104,6 +88,8 @@ For example:
0,90
```
+
+
The first layer uses 0°, the second uses 90°, and the pattern repeats for subsequent layers.
Other examples:
@@ -120,7 +106,7 @@ Other examples:
> If there are more layers than angles, the sequence repeats.
> [!IMPORTANT]
-> Not all sparse infill patterns support rotation.
+> Not all sparse [patterns](strength_settings_patterns) support rotation.
## Infill Wall Overlap
@@ -136,7 +122,8 @@ Infill area is enlarged slightly to overlap with wall for better bonding. The pe
## Apply gap fill
-Enables gap fill for the selected solid surfaces. The minimum gap length that will be filled can be controlled from the filter out tiny gaps option.
+Enables gap fill for the selected solid surfaces.
+The minimum gap length that will be filled can be controlled from the filter out tiny gaps option.
1. **Everywhere:** Applies gap fill to top, bottom and internal solid surfaces for maximum strength.
2. **Top and Bottom surfaces:** Applies gap fill to top and bottom surfaces only, balancing print speed, reducing potential over extrusion in the solid infill and making sure the top and bottom surfaces have no pinhole gaps.
@@ -151,7 +138,8 @@ However this is not advised, as gap fill between perimeters is contributing to t
## Filter out tiny gaps
-Don't print gap fill with a length is smaller than the threshold specified (in mm). This setting applies to top, bottom and solid infill and, if using the classic perimeter generator, to wall gap fill.
+Don't print gap fill with a length is smaller than the threshold specified (in mm).
+This setting applies to top, bottom and solid infill and, if using the [classic perimeter generator](quality_settings_wall_generator#classic), to wall gap fill.
## Anchor
@@ -168,375 +156,12 @@ OrcaSlicer tries to connect two close infill lines to a short perimeter segment.
## Internal Solid Infill
-Line pattern of internal solid infill. If the [detect narrow internal solid infill](strength_settings_advanced#detect-narrow-internal-solid-infill) be enabled, the concentric pattern will be used for the small area.
+Line pattern of internal solid infill. If the [detect narrow internal solid infill](strength_settings_advanced#detect-narrow-internal-solid-infill) be enabled, the [concentric pattern](strength_settings_patterns#concentric) will be used for the small area.
## Sparse Infill Pattern
-Infill patterns determine how material is distributed within a print. Different patterns can affect strength, flexibility, and print speed using the same density setting.
-
-There is no one-size-fits-all solution, as the best pattern depends on the specific print and its requirements.
-
-Many patterns may look similar and have similar overall specifications, but they can behave very differently in practice.
-As most settings in 3D printing, experience is the best way to determine which pattern works best for your specific needs.
-
-| SVG | Pattern | X-Y Strength | Z Strength | Material Usage | Print Time |
-|---|---|---|---|---|---|
-|  | [Rectilinear](#rectilinear) | Normal-Low | Low | Normal | Normal-Low |
-|  | [Aligned Rectilinear](#aligned-rectilinear) | Normal-Low | Normal | Normal | Normal-Low |
-|  | [Zig Zag](#zig-zag) | Normal-Low | Low | Normal | Normal |
-|  | [Cross Zag](#cross-zag) | Normal | Low | Normal | Normal |
-|  | [Locked Zag](#locked-zag) | Normal-Low | Normal-Low | Normal-High | Extra-High |
-|  | [Line](#line) | Low | Low | Normal | Normal-Low |
-|  | [Grid](#grid) | High | High | Normal | Normal-Low |
-|  | [Triangles](#triangles) | High | Normal | Normal | Normal-Low |
-|  | [Tri-hexagon](#tri-hexagon) | High | Normal-High | Normal | Normal-Low |
-|  | [Cubic](#cubic) | High | High | Normal | Normal-Low |
-|  | [Adaptive Cubic](#adaptive-cubic) | Normal-High | Normal-High | Low | Low |
-|  | [Quarter Cubic](#quarter-cubic) | High | High | Normal | Normal-Low |
-|  | [Support Cubic](#support-cubic) | Low | Low | Extra-Low | Extra-Low |
-|  | [Lightning](#lightning) | Low | Low | Ultra-Low | Ultra-Low |
-|  | [Honeycomb](#honeycomb) | High | High | High | Ultra-High |
-|  | [3D Honeycomb](#3d-honeycomb) | Normal-High | Normal-High | Normal-Low | High |
-|  | [2D Honeycomb](#2d-honeycomb) | Normal-Low | Normal-Low | Normal | Normal-Low |
-|  | [2D Lattice](#2d-lattice) | Normal-Low | Low | Normal | Normal-Low |
-|  | [Cross Hatch](#cross-hatch) | Normal-High | Normal-High | Normal | Normal-High |
-|  | [TPMS-D](#tpms-d) | High | High | Normal | High |
-|  | [Gyroid](#gyroid) | High | High | Normal | Normal-High |
-|  | [Concentric](#concentric) | Low | Normal | Normal | Normal |
-|  | [Hilbert Curve](#hilbert-curve) | Low | Normal | Normal | High |
-|  | [Archimedean Chords](#archimedean-chords) | Low | Normal | Normal | Normal-Low |
-|  | [Octagram Spiral](#octagram-spiral) | Low | Normal | Normal | Normal |
-
-> [!NOTE]
-> You can download [infill_desc_calculator.xlsx](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/print_settings/strength/infill_desc_calculator.xlsx?raw=true) used to calculate the values above.
-
-### Rectilinear
-
-Parallel lines spaced according to infill density. Each layer is printed perpendicular to the previous, resulting in low vertical bonding. Consider using new [Zig Zag](#zig-zag) infill instead.
-
-- **Horizontal Strength (X-Y):** Normal-Low
-- **Vertical Strength (Z):** Low
-- **Density Calculation:** % of total infill volume
-- **Material Usage:** Normal
-- **Print Time:** Normal-Low
-- **Material/Time (Higher better):** Normal
-
-
-
-### Aligned Rectilinear
-
-Parallel lines spaced by the infill spacing, each layer printed in the same direction as the previous layer. Good horizontal strength perpendicular to the lines, but terrible in parallel direction.
-Recommended with layer anchoring to improve not perpendicular strength.
-
-- **Horizontal Strength (X-Y):** Normal-Low
-- **Vertical Strength (Z):** Normal
-- **Density Calculation:** % of total infill volume
-- **Material Usage:** Normal
-- **Print Time:** Normal-Low
-- **Material/Time (Higher better):** Normal
-
-
-
-### Zig Zag
-
-Similar to [rectilinear](#rectilinear) with consistent pattern between layers. Allows you to add a Symmetric infill Y axis for models with two symmetric parts.
-
-- **Horizontal Strength (X-Y):** Normal-Low
-- **Vertical Strength (Z):** Low
-- **Density Calculation:** % of total infill volume
-- **Material Usage:** Normal
-- **Print Time:** Normal
-- **Material/Time (Higher better):** Normal
-
-
-
-### Cross Zag
-
-Similar to [Zig Zag](#zig-zag) but displacing each layer with Infill shift step parameter.
-
-- **Horizontal Strength (X-Y):** Normal
-- **Vertical Strength (Z):** Low
-- **Density Calculation:** % of total infill volume
-- **Material Usage:** Normal
-- **Print Time:** Normal
-- **Material/Time (Higher better):** Normal
-
-
-
-### Locked Zag
-
-Adaptive version of [Zig Zag](#zig-zag) adding an external skin texture to interlock layers and a low material skeleton.
-
-- **Horizontal Strength (X-Y):** Normal-Low
-- **Vertical Strength (Z):** Normal-Low
-- **Density Calculation:** Same as [Zig Zag](#zig-zag) but increasing near walls
-- **Material Usage:** Normal-High
-- **Print Time:** Extra-High
-- **Material/Time (Higher better):** Low
-
-
-
-### Line
-
-Similar to [rectilinear](#rectilinear), but each line is slightly rotated to improve print speed.
-
-- **Horizontal Strength (X-Y):** Low
-- **Vertical Strength (Z):** Low
-- **Density Calculation:** % of total infill volume
-- **Material Usage:** Normal
-- **Print Time:** Normal-Low
-- **Material/Time (Higher better):** Normal-High
-
-
-
-### Grid
-
-Two-layer pattern of perpendicular lines, forming a grid. Overlapping points may cause noise or artifacts.
-
-- **Horizontal Strength (X-Y):** High
-- **Vertical Strength (Z):** High
-- **Density Calculation:** % of total infill volume
-- **Material Usage:** Normal
-- **Print Time:** Normal-Low
-- **Material/Time (Higher better):** Normal
-
-
-
-### Triangles
-
-Triangle-based grid, offering strong X-Y strength but with triple overlaps at intersections.
-
-- **Horizontal Strength (X-Y):** High
-- **Vertical Strength (Z):** Normal
-- **Density Calculation:** % of total infill volume
-- **Material Usage:** Normal
-- **Print Time:** Normal-Low
-- **Material/Time (Higher better):** Normal-High
-
-
-
-### Tri-hexagon
-
-Similar to the [triangles](#triangles) pattern but offset to prevent triple overlaps at intersections. This design combines triangles and hexagons, providing excellent X-Y strength.
-
-- **Horizontal Strength (X-Y):** High
-- **Vertical Strength (Z):** Normal-High
-- **Density Calculation:** % of total infill volume
-- **Material Usage:** Normal
-- **Print Time:** Normal-Low
-- **Material/Time (Higher better):** Normal-High
-
-
-
-### Cubic
-
-3D cube pattern with corners facing down, distributing force in all directions. Triangles in the horizontal plane provide good X-Y strength.
-
-- **Horizontal Strength (X-Y):** High
-- **Vertical Strength (Z):** High
-- **Density Calculation:** % of total infill volume
-- **Material Usage:** Normal
-- **Print Time:** Normal-Low
-- **Material/Time (Higher better):** Normal-High
-
-
-
-### Adaptive Cubic
-
-[Cubic](#cubic) pattern with adaptive density: denser near walls, sparser in the center. Saves material and time while maintaining strength, ideal for large prints.
-
-- **Horizontal Strength (X-Y):** Normal-High
-- **Vertical Strength (Z):** Normal-High
-- **Density Calculation:** Same as [Cubic](#cubic) but reduced in the center
-- **Material Usage:** Low
-- **Print Time:** Low
-- **Material/Time (Higher better):** Normal
-
-
-
-### Quarter Cubic
-
-[Cubic](#cubic) pattern with extra internal divisions, improving X-Y strength.
-
-- **Horizontal Strength (X-Y):** High
-- **Vertical Strength (Z):** High
-- **Density Calculation:** % of total infill volume
-- **Material Usage:** Normal
-- **Print Time:** Normal-Low
-- **Material/Time (Higher better):** Normal
-
-
-
-### Support Cubic
-
-Support |Cubic is a variation of the [Cubic](#cubic) infill pattern that is specifically designed for support top layers. Will use more material than Lightning infill but will provide better strength. Nevertheless, it is still a low-density infill pattern.
-
-- **Horizontal Strength (X-Y):** Low
-- **Vertical Strength (Z):** Low
-- **Density Calculation:** % of layer before top shell layers
-- **Material Usage:** Extra-Low
-- **Print Time:** Extra-Low
-- **Material/Time (Higher better):** Normal
-
-
-
-### Lightning
-
-Ultra-fast, ultra-low material infill. Designed for speed and efficiency, ideal for quick prints or non-structural prototypes.
-
-- **Horizontal Strength (X-Y):** Low
-- **Vertical Strength (Z):** Low
-- **Density Calculation:** % of layer before top shell layers
-- **Material Usage:** Ultra-Low
-- **Print Time:** Ultra-Low
-- **Material/Time (Higher better):** Low
-
-
-
-### Honeycomb
-
-Hexagonal pattern balancing strength and material use. Double walls in each hexagon increase material consumption.
-
-- **Horizontal Strength (X-Y):** High
-- **Vertical Strength (Z):** High
-- **Density Calculation:** % of total infill volume
-- **Material Usage:** High
-- **Print Time:** Ultra-High
-- **Material/Time (Higher better):** Low
-
-
-
-### 3D Honeycomb
-
-This infill tries to generate a printable honeycomb structure by printing squares and octagons maintaining a vertical angle high enough to maintain contact with the previous layer.
-
-- **Horizontal Strength (X-Y):** Normal-High
-- **Vertical Strength (Z):** Normal-High
-- **Density Calculation:** Unknown
-- **Material Usage:** Normal-Low
-- **Print Time:** High
-- **Material/Time (Higher better):** Low
-
-
-
-### 2D Honeycomb
-
-Vertical Honeycomb pattern. Acceptable torsional stiffness. Developed for low densities structures like wings. Improve over [2D Lattice](#2d-lattice) offers same performance with lower densities.This infill includes a Overhang angle parameter to improve the point of contact between layers and reduce the risk of delamination.
-
-- **Horizontal Strength (X-Y):** Normal-Low
-- **Vertical Strength (Z):** Normal-Low
-- **Density Calculation:** % of total infill volume
-- **Material Usage:** Normal
-- **Print Time:** Normal-Low
-- **Material/Time (Higher better):** Normal
-
-
-
-### 2D Lattice
-
-Low-strength pattern with good flexibility. You can adjust **Angle 1** and **Angle 2** to optimize the infill for your specific model. Each angle adjusts the plane of each layer generated by the pattern. 0° is vertical.
-
-- **Horizontal Strength (X-Y):** Normal-Low
-- **Vertical Strength (Z):** Low
-- **Density Calculation:** % of total infill volume
-- **Material Usage:** Normal
-- **Print Time:** Normal-Low
-- **Material/Time (Higher better):** Normal
-
-
-
-### Cross Hatch
-
-Similar to [Gyroid](#gyroid) but with linear patterns, creating weak points at internal corners.
-Easier to slice but consider using [TPMS-D](#tpms-d) or [Gyroid](#gyroid) for better strength and flexibility.
-
-- **Horizontal Strength (X-Y):** Normal-High
-- **Vertical Strength (Z):** Normal-High
-- **Density Calculation:** % of total infill volume
-- **Material Usage:** Normal
-- **Print Time:** Normal-High
-- **Material/Time (Higher better):** Normal-Low
-
-
-
-### TPMS-D
-
-Triply Periodic Minimal Surface (Schwarz Diamond). Hybrid between [Cross Hatch](#cross-hatch) and [Gyroid](#gyroid), combining rigidity and smooth transitions. Isotropic and strong in all directions. This geometry is faster to slice than Gyroid, but slower than Cross Hatch.
-
-- **Horizontal Strength (X-Y):** High
-- **Vertical Strength (Z):** High
-- **Density Calculation:** % of total infill volume
-- **Material Usage:** Normal
-- **Print Time:** High
-- **Material/Time (Higher better):** Normal-Low
-
-
-
-### Gyroid
-
-Mathematical, isotropic surface providing equal strength in all directions. Excellent for strong, flexible prints and resin filling due to its interconnected structure. This pattern may require more time to slice because of all the points needed to generate each curve. If your model has complex geometry, consider using a simpler infill pattern like [TPMS-D](#tpms-d) or [Cross Hatch](#cross-hatch).
-
-- **Horizontal Strength (X-Y):** High
-- **Vertical Strength (Z):** High
-- **Density Calculation:** % of total infill volume
-- **Material Usage:** Normal
-- **Print Time:** Normal-High
-- **Material/Time (Higher better):** Normal-Low
-
-
-
-### Concentric
-
-Fills the area with progressively smaller versions of the outer contour, creating a concentric pattern. Ideal for 100% infill or flexible prints.
-
-- **Horizontal Strength (X-Y):** Low
-- **Vertical Strength (Z):** Normal
-- **Density Calculation:** % of total infill volume
-- **Material Usage:** Normal
-- **Print Time:** Normal
-- **Material/Time (Higher better):** Normal-High
-
-
-
-### Hilbert Curve
-
-Hilbert Curve is a space-filling curve that can be used to create a continuous infill pattern. It is known for its Esthetic appeal and ability to fill space efficiently.
-Print speed is very low due to the complexity of the path, which can lead to longer print times. It is not recommended for structural parts but can be used for Esthetic purposes.
-
-- **Horizontal Strength (X-Y):** Low
-- **Vertical Strength (Z):** Normal
-- **Density Calculation:** % of total infill volume
-- **Material Usage:** Normal
-- **Print Time:** High
-- **Material/Time (Higher better):** Low
-
-
-
-### Archimedean Chords
-
-Spiral pattern that fills the area with concentric arcs, creating a smooth and continuous infill. Can be filled with resin thanks to its interconnected hollow structure, which allows the resin to flow through it and cure properly.
-
-- **Horizontal Strength (X-Y):** Low
-- **Vertical Strength (Z):** Normal
-- **Density Calculation:** % of total infill volume
-- **Material Usage:** Normal
-- **Print Time:** Normal-Low
-- **Material/Time (Higher better):** Normal-High
-
-
-
-### Octagram Spiral
-
-Esthetic pattern with low strength and high print time.
-
-- **Horizontal Strength (X-Y):** Low
-- **Vertical Strength (Z):** Normal
-- **Density Calculation:** % of total infill volume
-- **Material Usage:** Normal
-- **Print Time:** Normal
-- **Material/Time (Higher better):** Normal-Low
-
-
+> [!TIP]
+> See [Infill Patterns Wiki List](strength_settings_patterns) with **detailed specifications**, including their strengths and weaknesses.
## Credits
diff --git a/doc/print_settings/strength/strength_settings_infill_rotation_template_metalanguage.md b/doc/print_settings/strength/strength_settings_infill_rotation_template_metalanguage.md
index 456da55c67..ee323e6c9f 100644
--- a/doc/print_settings/strength/strength_settings_infill_rotation_template_metalanguage.md
+++ b/doc/print_settings/strength/strength_settings_infill_rotation_template_metalanguage.md
@@ -1,6 +1,6 @@
# Infill rotation template metalanguage
-This metalanguage provides a way to define the [direction and rotation](strength_settings_infill#direction-and-rotation) of patterns in 3D printing.
+This metalanguage provides a way to define the [direction and rotation](strength_settings_infill#direction-and-rotation) of [patterns](strength_settings_patterns) in 3D printing.
- [Basic instructions](#basic-instructions)
- [Defined angle](#defined-angle)
diff --git a/doc/print_settings/strength/strength_settings_patterns.md b/doc/print_settings/strength/strength_settings_patterns.md
new file mode 100644
index 0000000000..d1ff653f86
--- /dev/null
+++ b/doc/print_settings/strength/strength_settings_patterns.md
@@ -0,0 +1,477 @@
+# Patterns
+
+Patterns determine how material is distributed within a print. Different patterns can affect strength, flexibility and print speed using the same density setting.
+
+There is no one-size-fits-all solution, as the best pattern depends on the specific print and its requirements.
+
+Many patterns may look similar and have similar overall specifications, but they can behave very differently in practice.
+As most settings in 3D printing, experience is the best way to determine which pattern works best for your specific needs.
+
+## Patterns Quick Reference
+
+| | Pattern | Applies to | X-Y Strength | Z Strength | Material Usage | Print Time |
+|---|---|---|---|---|---|---|
+|  | [Monotonic](#monotonic) | - **[Solid Infill](strength_settings_infill#internal-solid-infill)** - **[Surface](strength_settings_top_bottom_shells)** | Normal | Normal | Normal-High | Normal-Low |
+|  | [Monotonic line](#monotonic-line) | - **[Solid Infill](strength_settings_infill#internal-solid-infill)** - **[Surface](strength_settings_top_bottom_shells)** | Normal | Normal | Normal | Normal |
+|  | [Rectilinear](#rectilinear) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** - **[Solid Infill](strength_settings_infill#internal-solid-infill)** - **[Surface](strength_settings_top_bottom_shells)** - **[Ironing](quality_settings_ironing)** | Normal-Low | Low | Normal | Normal-Low |
+|  | [Aligned Rectilinear](#aligned-rectilinear) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** - **[Solid Infill](strength_settings_infill#internal-solid-infill)** - **[Surface](strength_settings_top_bottom_shells)** | Normal-Low | Normal | Normal | Normal-Low |
+|  | [Zig Zag](#zig-zag) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** | Normal-Low | Low | Normal | Normal-Low |
+|  | [Cross Zag](#cross-zag) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** | Normal | Low | Normal | Normal-Low |
+|  | [Locked Zag](#locked-zag) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** | Normal-Low | Normal-Low | Low | Extra-High |
+|  | [Line](#line) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** | Low | Low | Normal-High | Normal-Low |
+|  | [Grid](#grid) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** | High | High | Normal-High | Normal-Low |
+|  | [Triangles](#triangles) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** | High | Normal | Normal-High | Normal-Low |
+|  | [Tri-hexagon](#tri-hexagon) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** | High | Normal-High | Normal-High | Normal-Low |
+|  | [Cubic](#cubic) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** | High | High | Normal-High | Normal-Low |
+|  | [Adaptive Cubic](#adaptive-cubic) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** | Normal-High | Normal-High | Normal | Low |
+|  | [Quarter Cubic](#quarter-cubic) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** | High | High | Normal-High | Normal-Low |
+|  | [Support Cubic](#support-cubic) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** | Low | Low | Normal | Extra-Low |
+|  | [Lightning](#lightning) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** | Low | Low | Low | Ultra-Low |
+|  | [Honeycomb](#honeycomb) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** | High | High | Low | Ultra-High |
+|  | [3D Honeycomb](#3d-honeycomb) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** | Normal-High | Normal-High | Low | High |
+|  | [Lateral Honeycomb](#lateral-honeycomb) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** | Normal-Low | Normal-Low | Normal-High | Normal-Low |
+|  | [Lateral Lattice](#lateral-lattice) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** | Normal-Low | Low | Normal-High | Normal-Low |
+|  | [Cross Hatch](#cross-hatch) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** | Normal-High | Normal-High | Normal-Low | Normal-High |
+|  | [TPMS-D](#tpms-d) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** | High | High | Normal-Low | High |
+|  | [TPMS-FK](#tpms-fk) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** | Normal-High | Normal-High | Low | High |
+|  | [Gyroid](#gyroid) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** | High | High | Normal-Low | Normal-High |
+|  | [Concentric](#concentric) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** - **[Solid Infill](strength_settings_infill#internal-solid-infill)** - **[Surface](strength_settings_top_bottom_shells)** - **[Ironing](quality_settings_ironing)** | Low | Normal | Normal-High | Normal-Low |
+|  | [Hilbert Curve](#hilbert-curve) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** - **[Solid Infill](strength_settings_infill#internal-solid-infill)** - **[Surface](strength_settings_top_bottom_shells)** | Low | Normal | Low | High |
+|  | [Archimedean Chords](#archimedean-chords) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** - **[Solid Infill](strength_settings_infill#internal-solid-infill)** - **[Surface](strength_settings_top_bottom_shells)** | Low | Normal | Normal-High | Normal-Low |
+|  | [Octagram Spiral](#octagram-spiral) | - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** - **[Solid Infill](strength_settings_infill#internal-solid-infill)** - **[Surface](strength_settings_top_bottom_shells)** | Low | Normal | Normal-Low | Normal |
+
+> [!NOTE]
+> You can download [infill_desc_calculator.xlsx](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/print_settings/strength/infill_desc_calculator.xlsx?raw=true) used to calculate the values above.
+
+## Monotonic
+
+[Rectilinear](#rectilinear) in a uniform direction for a smoother visual surface.
+
+- **Horizontal Strength (X-Y):** Normal
+- **Vertical Strength (Z):** Normal
+- **Density Calculation:** % of total infill volume
+- **Material Usage:** Normal
+- **Print Time:** Normal-Low
+- **Material/Time (Higher better):** Normal-High
+- **Applies to:**
+ - **[Solid Infill](strength_settings_infill#internal-solid-infill)**
+ - **[Surface](strength_settings_top_bottom_shells)**
+
+
+
+## Monotonic line
+
+[Monotonic](#monotonic) but avoids overlapping with the perimeter, reducing excess material at joints. May introduce visible seams and increase print time.
+
+- **Horizontal Strength (X-Y):** Normal
+- **Vertical Strength (Z):** Normal
+- **Density Calculation:** % of total infill volume
+- **Material Usage:** Normal
+- **Print Time:** Normal
+- **Material/Time (Higher better):** Normal
+- **Applies to:**
+ - **[Solid Infill](strength_settings_infill#internal-solid-infill)**
+ - **[Surface](strength_settings_top_bottom_shells)**
+
+
+
+## Rectilinear
+
+Parallel lines spaced according to infill density. Each layer is printed perpendicular to the previous, resulting in low vertical bonding. Consider using new [Zig Zag](#zig-zag) infill instead.
+
+- **Horizontal Strength (X-Y):** Normal-Low
+- **Vertical Strength (Z):** Low
+- **Density Calculation:** % of total infill volume
+- **Material Usage:** Normal
+- **Print Time:** Normal-Low
+- **Material/Time (Higher better):** Normal
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** - **[Solid Infill](strength_settings_infill#internal-solid-infill)**
+ - **[Surface](strength_settings_top_bottom_shells)**
+ - **[Ironing](quality_settings_ironing)**
+
+
+
+## Aligned Rectilinear
+
+Parallel lines spaced by the infill spacing, each layer printed in the same direction as the previous layer. Good horizontal strength perpendicular to the lines, but terrible in parallel direction.
+Recommended with layer anchoring to improve not perpendicular strength.
+
+- **Horizontal Strength (X-Y):** Normal-Low
+- **Vertical Strength (Z):** Normal
+- **Density Calculation:** % of total infill volume
+- **Material Usage:** Normal
+- **Print Time:** Normal-Low
+- **Material/Time (Higher better):** Normal
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** - **[Solid Infill](strength_settings_infill#internal-solid-infill)**
+ - **[Surface](strength_settings_top_bottom_shells)**
+
+
+
+## Zig Zag
+
+Similar to [rectilinear](#rectilinear) with consistent pattern between layers. Allows you to add a Symmetric infill Y axis for models with two symmetric parts.
+
+- **Horizontal Strength (X-Y):** Normal-Low
+- **Vertical Strength (Z):** Low
+- **Density Calculation:** % of total infill volume
+- **Material Usage:** Normal
+- **Print Time:** Normal-Low
+- **Material/Time (Higher better):** Normal
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)**
+
+
+
+## Cross Zag
+
+Similar to [Zig Zag](#zig-zag) but displacing each layer with Infill shift step parameter.
+
+- **Horizontal Strength (X-Y):** Normal
+- **Vertical Strength (Z):** Low
+- **Density Calculation:** % of total infill volume
+- **Material Usage:** Normal
+- **Print Time:** Normal-Low
+- **Material/Time (Higher better):** Normal
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)**
+
+
+
+## Locked Zag
+
+Adaptive version of [Zig Zag](#zig-zag) adding an external skin texture to interlock layers and a low material skeleton.
+
+- **Horizontal Strength (X-Y):** Normal-Low
+- **Vertical Strength (Z):** Normal-Low
+- **Density Calculation:** Same as [Zig Zag](#zig-zag) but increasing near walls
+- **Material Usage:** Normal-High
+- **Print Time:** Extra-High
+- **Material/Time (Higher better):** Low
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)**
+
+
+
+## Line
+
+Similar to [rectilinear](#rectilinear), but each line is slightly rotated to improve print speed.
+
+- **Horizontal Strength (X-Y):** Low
+- **Vertical Strength (Z):** Low
+- **Density Calculation:** % of total infill volume
+- **Material Usage:** Normal
+- **Print Time:** Normal-Low
+- **Material/Time (Higher better):** Normal-High
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)**
+
+
+
+## Grid
+
+Two-layer pattern of perpendicular lines, forming a grid. Overlapping points may cause noise or artifacts.
+
+- **Horizontal Strength (X-Y):** High
+- **Vertical Strength (Z):** High
+- **Density Calculation:** % of total infill volume
+- **Material Usage:** Normal
+- **Print Time:** Normal-Low
+- **Material/Time (Higher better):** Normal-High
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)**
+
+
+
+## Triangles
+
+Triangle-based grid, offering strong X-Y strength but with triple overlaps at intersections.
+
+- **Horizontal Strength (X-Y):** High
+- **Vertical Strength (Z):** Normal
+- **Density Calculation:** % of total infill volume
+- **Material Usage:** Normal
+- **Print Time:** Normal-Low
+- **Material/Time (Higher better):** Normal-High
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)**
+
+
+
+## Tri-hexagon
+
+Similar to the [triangles](#triangles) pattern but offset to prevent triple overlaps at intersections. This design combines triangles and hexagons, providing excellent X-Y strength.
+
+- **Horizontal Strength (X-Y):** High
+- **Vertical Strength (Z):** Normal-High
+- **Density Calculation:** % of total infill volume
+- **Material Usage:** Normal
+- **Print Time:** Normal-Low
+- **Material/Time (Higher better):** Normal-High
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)**
+
+
+
+## Cubic
+
+3D cube pattern with corners facing down, distributing force in all directions. Triangles in the horizontal plane provide good X-Y strength.
+
+- **Horizontal Strength (X-Y):** High
+- **Vertical Strength (Z):** High
+- **Density Calculation:** % of total infill volume
+- **Material Usage:** Normal
+- **Print Time:** Normal-Low
+- **Material/Time (Higher better):** Normal-High
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)**
+
+
+
+## Adaptive Cubic
+
+[Cubic](#cubic) pattern with adaptive density: denser near walls, sparser in the center. Saves material and time while maintaining strength, ideal for large prints.
+
+- **Horizontal Strength (X-Y):** Normal-High
+- **Vertical Strength (Z):** Normal-High
+- **Density Calculation:** Same as [Cubic](#cubic) but reduced in the center
+- **Material Usage:** Low
+- **Print Time:** Low
+- **Material/Time (Higher better):** Normal
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)**
+
+
+
+## Quarter Cubic
+
+[Cubic](#cubic) pattern with extra internal divisions, improving X-Y strength.
+
+- **Horizontal Strength (X-Y):** High
+- **Vertical Strength (Z):** High
+- **Density Calculation:** % of total infill volume
+- **Material Usage:** Normal
+- **Print Time:** Normal-Low
+- **Material/Time (Higher better):** Normal-High
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)**
+
+
+
+## Support Cubic
+
+Support |Cubic is a variation of the [Cubic](#cubic) infill pattern that is specifically designed for support top layers. Will use more material than Lightning infill but will provide better strength. Nevertheless, it is still a low-density infill pattern.
+
+- **Horizontal Strength (X-Y):** Low
+- **Vertical Strength (Z):** Low
+- **Density Calculation:** % of layer before top shell layers
+- **Material Usage:** Extra-Low
+- **Print Time:** Extra-Low
+- **Material/Time (Higher better):** Normal
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)**
+
+
+
+## Lightning
+
+Ultra-fast, ultra-low material infill. Designed for speed and efficiency, ideal for quick prints or non-structural prototypes.
+
+- **Horizontal Strength (X-Y):** Low
+- **Vertical Strength (Z):** Low
+- **Density Calculation:** % of layer before top shell layers
+- **Material Usage:** Ultra-Low
+- **Print Time:** Ultra-Low
+- **Material/Time (Higher better):** Low
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)**
+
+
+
+## Honeycomb
+
+Hexagonal pattern balancing strength and material use. Double walls in each hexagon increase material consumption.
+
+- **Horizontal Strength (X-Y):** High
+- **Vertical Strength (Z):** High
+- **Density Calculation:** % of total infill volume
+- **Material Usage:** High
+- **Print Time:** Ultra-High
+- **Material/Time (Higher better):** Low
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)**
+
+
+
+## 3D Honeycomb
+
+This infill tries to generate a printable honeycomb structure by printing squares and octagons maintaining a vertical angle high enough to maintain contact with the previous layer.
+
+- **Horizontal Strength (X-Y):** Normal-High
+- **Vertical Strength (Z):** Normal-High
+- **Density Calculation:** Unknown
+- **Material Usage:** Normal-Low
+- **Print Time:** High
+- **Material/Time (Higher better):** Low
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)**
+
+
+
+## Lateral Honeycomb
+
+Vertical Honeycomb pattern. Acceptable torsional stiffness. Developed for low densities structures like wings. Improve over [Lateral Lattice](#lateral-lattice) offers same performance with lower densities.This infill includes a Overhang angle parameter to improve the point of contact between layers and reduce the risk of delamination.
+
+- **Horizontal Strength (X-Y):** Normal-Low
+- **Vertical Strength (Z):** Normal-Low
+- **Density Calculation:** % of total infill volume
+- **Material Usage:** Normal
+- **Print Time:** Normal-Low
+- **Material/Time (Higher better):** Normal-High
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)**
+
+
+
+## Lateral Lattice
+
+Low-strength pattern with good flexibility. You can adjust **Angle 1** and **Angle 2** to optimize the infill for your specific model. Each angle adjusts the plane of each layer generated by the pattern. 0° is vertical.
+
+- **Horizontal Strength (X-Y):** Normal-Low
+- **Vertical Strength (Z):** Low
+- **Density Calculation:** % of total infill volume
+- **Material Usage:** Normal
+- **Print Time:** Normal-Low
+- **Material/Time (Higher better):** Normal-High
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)**
+
+
+
+## Cross Hatch
+
+Similar to [Gyroid](#gyroid) but with linear patterns, creating weak points at internal corners.
+Easier to slice but consider using [TPMS-D](#tpms-d) or [Gyroid](#gyroid) for better strength and flexibility.
+
+- **Horizontal Strength (X-Y):** Normal-High
+- **Vertical Strength (Z):** Normal-High
+- **Density Calculation:** % of total infill volume
+- **Material Usage:** Normal
+- **Print Time:** Normal-High
+- **Material/Time (Higher better):** Normal-Low
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)**
+
+
+
+## TPMS-D
+
+Triply Periodic Minimal Surface (Schwarz Diamond). Hybrid between [Cross Hatch](#cross-hatch) and [Gyroid](#gyroid), combining rigidity and smooth transitions. Isotropic and strong in all directions. This geometry is faster to slice than Gyroid, but slower than Cross Hatch.
+
+- **Horizontal Strength (X-Y):** High
+- **Vertical Strength (Z):** High
+- **Density Calculation:** % of total infill volume
+- **Material Usage:** Normal
+- **Print Time:** High
+- **Material/Time (Higher better):** Normal-Low
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)**
+
+
+
+## TPMS-FK
+
+Triply Periodic Minimal Surface (Fischer–Koch S) pattern. Its smooth, continuous geometry resembles trabecular bone microstructure, offering a balance between rigidity and energy absorption. Compared to [TPMS-D](#tpms-d), it has more complex curvature, which can improve load distribution and shock absorption in functional parts.
+
+- **Horizontal Strength (X-Y):** Normal-High
+- **Vertical Strength (Z):** Normal-High
+- **Density Calculation:** % of total infill volume
+- **Material Usage:** Normal
+- **Print Time:** High
+- **Material/Time (Higher better):** Low
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)**
+
+
+
+## Gyroid
+
+Mathematical, isotropic surface providing equal strength in all directions. Excellent for strong, flexible prints and resin filling due to its interconnected structure. This pattern may require more time to slice because of all the points needed to generate each curve. If your model has complex geometry, consider using a simpler infill pattern like [TPMS-D](#tpms-d) or [Cross Hatch](#cross-hatch).
+
+- **Horizontal Strength (X-Y):** High
+- **Vertical Strength (Z):** High
+- **Density Calculation:** % of total infill volume
+- **Material Usage:** Normal
+- **Print Time:** Normal-High
+- **Material/Time (Higher better):** Normal-Low
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)**
+
+
+
+## Concentric
+
+Fills the area with progressively smaller versions of the outer contour, creating a concentric pattern. Ideal for 100% infill or flexible prints.
+
+- **Horizontal Strength (X-Y):** Low
+- **Vertical Strength (Z):** Normal
+- **Density Calculation:** % of total infill volume
+- **Material Usage:** Normal
+- **Print Time:** Normal-Low
+- **Material/Time (Higher better):** Normal-High
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** - **[Solid Infill](strength_settings_infill#internal-solid-infill)**
+ - **[Surface](strength_settings_top_bottom_shells)**
+ - **[Ironing](quality_settings_ironing)**
+
+
+
+## Hilbert Curve
+
+Hilbert Curve is a space-filling curve that can be used to create a continuous infill pattern. It is known for its Esthetic appeal and ability to fill space efficiently.
+Print speed is very low due to the complexity of the path, which can lead to longer print times. It is not recommended for structural parts but can be used for Esthetic purposes.
+
+- **Horizontal Strength (X-Y):** Low
+- **Vertical Strength (Z):** Normal
+- **Density Calculation:** % of total infill volume
+- **Material Usage:** Normal
+- **Print Time:** High
+- **Material/Time (Higher better):** Low
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** - **[Solid Infill](strength_settings_infill#internal-solid-infill)**
+ - **[Surface](strength_settings_top_bottom_shells)**
+
+
+
+## Archimedean Chords
+
+Spiral pattern that fills the area with concentric arcs, creating a smooth and continuous infill. Can be filled with resin thanks to its interconnected hollow structure, which allows the resin to flow through it and cure properly.
+
+- **Horizontal Strength (X-Y):** Low
+- **Vertical Strength (Z):** Normal
+- **Density Calculation:** % of total infill volume
+- **Material Usage:** Normal
+- **Print Time:** Normal-Low
+- **Material/Time (Higher better):** Normal-High
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** - **[Solid Infill](strength_settings_infill#internal-solid-infill)**
+ - **[Surface](strength_settings_top_bottom_shells)**
+
+
+
+## Octagram Spiral
+
+Esthetic pattern with low strength and high print time.
+
+- **Horizontal Strength (X-Y):** Low
+- **Vertical Strength (Z):** Normal
+- **Density Calculation:** % of total infill volume
+- **Material Usage:** Normal
+- **Print Time:** Normal
+- **Material/Time (Higher better):** Normal-Low
+- **Applies to:**
+ - **[Sparse Infill](strength_settings_infill#sparse-infill-density)** - **[Solid Infill](strength_settings_infill#internal-solid-infill)**
+ - **[Surface](strength_settings_top_bottom_shells)**
+
+
diff --git a/doc/print_settings/strength/strength_settings_top_bottom_shells.md b/doc/print_settings/strength/strength_settings_top_bottom_shells.md
index 7870d47232..a4c8885243 100644
--- a/doc/print_settings/strength/strength_settings_top_bottom_shells.md
+++ b/doc/print_settings/strength/strength_settings_top_bottom_shells.md
@@ -1,37 +1,50 @@
# Top and Bottom Shells
-Controls how the top and bottom solid layers (shells) are generated in the print.
+Controls how the top and bottom solid layers (shells) are generated.

-## Shells Layers
+## Shell Layers
-This is the number of solid layers of shell, including the surface layer. When the thickness calculated by this value is thinner than shell thickness, the shell layers will be increased.
+This is the number of solid shell layers, including the surface layer.
+When the thickness calculated from this value is less than [shell thickness](#shell-thickness), the shell layers will be increased.
+
+These layers are printed over the [sparse infill](strength_settings_infill), so increasing **shell layers** will increase overall part strength and top surface quality.
+It's usually recommended to have at least 3 shell layers for most prints.
## Shell Thickness
-The number of solid layers is increased when slicing if the thickness calculated by shell layers is thinner than this value. This can avoid having too thin shell when layer height is small. 0 means that this setting is disabled and thickness of shell is absolutely determined by shell layers.
+The number of solid layers is increased during slicing if the thickness calculated from shell layers is thinner than this value. This avoids having too thin a shell when layer height is small.
+0 means this setting is disabled and shell thickness is determined entirely by [shell layers](#shell-layers).
## Surface Density
-This setting controls the density of the top and bottom surfaces. A value of 100% means a solid surface, while lower values create a sparse surface. This can be used for esthetic purposes, gripping or making interfaces with the bed.
+This setting controls the density of the top and bottom surfaces. A value of 100% means a solid surface, while lower values create a sparse surface.
+This can be used for aesthetic purposes, improving grip or creating interfaces.
## Infill/Wall Overlap
-Top solid infill area is enlarged slightly to overlap with wall for better bonding and to minimize the appearance of pinholes where the infill meets the walls. A value of 25-30% is a good starting point, minimizing the appearance of pinholes. The percentage value is relative to line width of sparse infill.
+The top solid infill area is slightly enlarged to overlap with walls for better bonding and to minimize pinholes where the infill meets the walls.
+A value of 25-30% is a good starting point. The percentage value is relative to the line width of the sparse infill.
+
+> [!TIP]
+> Check [Monotonic Line](strength_settings_patterns#monotonic-line) to learn about its overlaying differences with [Monotonic](strength_settings_patterns#monotonic) and [Rectilinear](strength_settings_patterns#rectilinear).
## Surface Pattern
-This setting controls the pattern of the surface. The options are:
+This setting controls the pattern of the surfaces.
+If [Shell Layers](#shell-layers) is greater than 1, the surface pattern will be applied to the outermost shell layer only and the rest will use [Internal Solid Infill Pattern](strength_settings_infill#internal-solid-infill).
-- **[Concentric](strength_settings_infill#concentric):** Fills the surface with inward-tracing loops that follow the outer contour.
-- **[Rectilinear](strength_settings_infill#rectilinear):** Fills the surface with straight lines alternating direction per layer.
-- **Monotonic:** Prints lines in a uniform direction for a smoother visual surface.
-- **Monotonic Lines:** Similar to Monotonic but avoids overlapping with the perimeter, reducing excess material at joints. May introduce visible seams.
-- **[Aligned Rectilinear](strength_settings_infill#aligned-rectilinear):** The surface is printed with rectilinear lines that are aligned with the infill pattern.
-- **[Hilbert Curve](strength_settings_infill#hilbert-curve):** Applies a space-filling curve for even material distribution and a unique appearance. Slow to print but useful in esthetic applications.
-- **[Archimedean Chords](strength_settings_infill#archimedean-chords):** Generates concentric arc-like lines, promoting uniform material spread.
-- **[Octagram Spiral](strength_settings_infill#octagram-spiral):** Creates an octagonal spiral for decorative, esthetic surfaces.
+> [!TIP]
+> See [Infill Patterns Wiki List](strength_settings_patterns) with **detailed specifications**, including their strengths and weaknesses.
-> [!NOTE]
-> Some patterns may have further information in its [Sparse Infill Pattern Wiki](strength_settings_infill#sparse-infill-pattern)
+ The surface patterns are:
+
+- **[Concentric](strength_settings_patterns#concentric)**
+- **[Rectilinear](strength_settings_patterns#rectilinear)**
+- **[Monotonic](strength_settings_patterns#monotonic)**
+- **[Monotonic Line](strength_settings_patterns#monotonic-line)** Usually Recommended for Top.
+- **[Aligned Rectilinear](strength_settings_patterns#aligned-rectilinear)**
+- **[Hilbert Curve](strength_settings_patterns#hilbert-curve)**
+- **[Archimedean Chords](strength_settings_patterns#archimedean-chords)**
+- **[Octagram Spiral](strength_settings_patterns#octagram-spiral)**
diff --git a/doc/print_settings/strength/strength_settings_walls.md b/doc/print_settings/strength/strength_settings_walls.md
index b7c8b03798..badfcde8d1 100644
--- a/doc/print_settings/strength/strength_settings_walls.md
+++ b/doc/print_settings/strength/strength_settings_walls.md
@@ -1,17 +1,45 @@
# Walls
-In 3D printing, "walls" refer to the outer layers of a printed object that provide its shape and structural integrity. Adjusting wall settings can significantly affect the strength, appearance, and print time of your model.
+In 3D printing, "walls" refer to the outer layers of a printed object that provide its shape and structural integrity.
+Adjusting wall settings can significantly affect layer adhesion, strength, appearance and print time of your model.
+
+
+
+- [Wall loops](#wall-loops)
+- [Alternate extra wall](#alternate-extra-wall)
+- [Detect thin wall](#detect-thin-wall)
## Wall loops
-"Wall loops" refers to the number of times the outer wall is printed in a loop. Increasing the wall loops can improve the strength and durability of the print, but may also increase print time.
+"Wall loops" refers to the number of times the outer wall is printed in a loop.
+Increasing the wall loops will:
+- Enhance:
+ - Layer adhesion
+ - Strength
+ - Rigidity
+- Reduce infill ghosting
+- Increase print time
## Alternate extra wall
This setting adds an extra wall to every other layer. This way the infill gets wedged vertically between the walls, resulting in stronger prints.
When this option is enabled, the ensure vertical shell thickness option needs to be disabled.
-Using lightning infill together with this option is not recommended as there is limited infill to anchor the extra perimeters to.
+
+> [!WARNING]
+> It's not recommended to use this option with:
+> - [Lightning infill](strength_settings_patterns#lightning) as there is limited infill to anchor the extra perimeters to.
+> - **[Ensure vertical shell thickness: ALL](strength_settings_advanced#ensure-vertical-shell-thickness)**
## Detect thin wall
-Detect thin wall which can't contain two line width. And use single line to print. Maybe printed not very well, because it's not closed loop.
+By default, walls are printed as closed loops. When a wall is too thin to contain two line widths, enabling "Detect thin walls" prints it as a single extrusion line.
+Thin walls printed this way may have reduced surface quality and strength because they are not closed loops.
+
+> [!TIP]
+> Usually, it is recommended to use [Arachne wall generator](quality_settings_wall_generator#arachne) which will disable "Detect thin walls" because it uses a different approach to wall generation.
+
+- In small details it can generate details that wouldn't be possible with traditional wall generation methods.
+ 
+ 
+- In large prints, it can generate defects more easily due to the reduced wall thickness.
+ 
diff --git a/doc/printer_settings/Auxiliary-fan.md b/doc/printer_settings/Auxiliary-fan.md
index 95d1ec0158..b273ca1383 100644
--- a/doc/printer_settings/Auxiliary-fan.md
+++ b/doc/printer_settings/Auxiliary-fan.md
@@ -1,30 +1,40 @@
# Auxiliary Fan
-OrcaSlicer use `M106 P2` command to control auxiliary cooling fan.
+OrcaSlicer uses `M106 P#` / `M107 P#` to control any fans managed by the slicer.
-If you are using Klipper, you can define a `M106` macro to control the both normal part cooling fan and auxiliary fan and exhaust fan.
-Below is a reference configuration for Klipper.
+- `P0`: part cooling fan (default layer fan)
+- `P1` (if present): an additional fan
+- `P2`: often used as Aux / CPAP / Booster
+- `P3` (and higher): sometimes Exhaust / Enclosure, etc.
-> [!NOTE]
-> Don't forget to change the pin name to the actual pin name you are using in the configuration
+With Klipper you can create macros that translate both the OrcaSlicer numeric fan index `P` and **human‑readable names** for your physical fans. This keeps compatibility with generated G‑code (M106 P0 / M106 P2 …) while letting you address fans by name internally.
+
+> [!WARNING]
+> Adjust pin names and parameters (power, cycle_time, etc.) to match your hardware.
+
+- [Simple option (indexes only → fan0, fan2, fan3)](#simple-option-indexes-only--fan0-fan2-fan3)
+- [Advanced option (Index ⇄ Name mapping)](#advanced-option-index--name-mapping)
+ - [Quick customization](#quick-customization)
+ - [Usage](#usage)
+
+## Simple option (indexes only → fan0, fan2, fan3)
+
+This is the original basic example where the `P` index is concatenated (`fan0`, `fan2`, `fan3`). Use it if you don't need custom names:
```ini
-# instead of using [fan], we define the default part cooling fan with [fan_generic] here
-# this is the default part cooling fan
+# Part cooling fan
[fan_generic fan0]
pin: PA7
cycle_time: 0.01
hardware_pwm: false
-# this is the auxiliary fan
-# comment out it if you don't have auxiliary fan
+# Auxiliary fan (comment out if you don't have it)
[fan_generic fan2]
pin: PA8
cycle_time: 0.01
hardware_pwm: false
-# this is the exhaust fan
-# comment out it if you don't have exhaust fan
+# Exhaust / enclosure fan (comment out if you don't have it)
[fan_generic fan3]
pin: PA9
cycle_time: 0.01
@@ -35,4 +45,97 @@ gcode:
{% set fan = 'fan' + (params.P|int if params.P is defined else 0)|string %}
{% set speed = (params.S|float / 255 if params.S is defined else 1.0) %}
SET_FAN_SPEED FAN={fan} SPEED={speed}
+
+[gcode_macro M107]
+gcode:
+ {% set fan = 'fan' + (params.P|int if params.P is defined else 0)|string %}
+ {% if params.P is defined %}
+ SET_FAN_SPEED FAN={fan} SPEED=0
+ {% else %}
+ # No P -> turn off typical defined fans
+ SET_FAN_SPEED FAN=fan0 SPEED=0
+ SET_FAN_SPEED FAN=fan2 SPEED=0
+ SET_FAN_SPEED FAN=fan3 SPEED=0
+ {% endif %}
```
+
+## Advanced option (Index ⇄ Name mapping)
+
+Lets you use descriptive names like `CPAP`, `EXHAUST`, etc. Useful if you re‑wire or repurpose fans without changing slicer output. Just keep `fan_map` updated.
+
+```ini
+# Example with friendly names + comments showing OrcaSlicer index
+
+[fan_generic CPAP] # fan 0 OrcaSlicer
+pin: PB7
+max_power: 0.8
+shutdown_speed: 0
+kick_start_time: 0.100
+cycle_time: 0.005
+hardware_pwm: False
+off_below: 0.10
+
+[fan_generic EXHAUST] # fan 3 OrcaSlicer
+pin: PE5
+#max_power:
+#shutdown_speed:
+cycle_time: 0.01
+hardware_pwm: False
+#kick_start_time:
+off_below: 0.2
+
+# If you had another (e.g. P2) add here:
+# [fan_generic AUX]
+# pin: PXn
+
+[gcode_macro M106]
+description: "Set fan speed (Orca compatible)"
+gcode:
+ {% set fan_map = {
+ 0: "CPAP", # Orca P0 → CPAP blower
+ 3: "EXHAUST", # Orca P3 → Exhaust
+ # 2: "AUX", # Uncomment if you define AUX
+ } %}
+ {% set p = params.P|int if 'P' in params else 0 %}
+ {% set fan = fan_map[p] if p in fan_map else fan_map[0] %}
+ {% set speed = (params.S|float / 255 if 'S' in params else 1.0) %}
+ SET_FAN_SPEED FAN={fan} SPEED={speed}
+
+[gcode_macro M107]
+description: "Turn off fans. No P = all, P# = specific"
+gcode:
+ {% set fan_map = {
+ 0: "CPAP",
+ 3: "EXHAUST",
+ # 2: "AUX",
+ } %}
+ {% if 'P' in params %}
+ {% set p = params.P|int %}
+ {% if p in fan_map %}
+ SET_FAN_SPEED FAN={fan_map[p]} SPEED=0
+ {% else %}
+ RESPOND PREFIX="warn" MSG="Unknown fan index P{{p}}"
+ {% endif %}
+ {% else %}
+ # No P -> turn off all mapped fans
+ {% for f in fan_map.values() %}
+ SET_FAN_SPEED FAN={f} SPEED=0
+ {% endfor %}
+ {% endif %}
+```
+
+### Quick customization
+
+1. Add / remove entries in `fan_map` to reflect the indexes the slicer may use.
+2. Keep comments like `# fan X OrcaSlicer` next to each `[fan_generic]` for easy correlation.
+3. Tune `max_power`, `off_below`, `cycle_time` according to fan type (CPAP blower vs axial exhaust).
+
+### Usage
+
+- From OrcaSlicer: `M106 P0 S255` (100% CPAP), `M106 P3 S128` (~50% EXHAUST).
+- Turn one off: `M107 P3`. Turn all off: `M107`.
+- You can still manually use `SET_FAN_SPEED FAN=CPAP SPEED=0.7` in the Klipper console.
+
+---
+
+Pick the variant that best fits your workflow; the advanced version provides extra clarity and flexibility while remaining fully compatible with standard OrcaSlicer G-code output.
diff --git a/doc/printer_settings/adaptive-bed-mesh.md b/doc/printer_settings/adaptive-bed-mesh.md
index 4607d63f94..2f8f7f3928 100644
--- a/doc/printer_settings/adaptive-bed-mesh.md
+++ b/doc/printer_settings/adaptive-bed-mesh.md
@@ -1,14 +1,14 @@
# Adaptive Bed Mesh Support
-Orca Slicer introduces comprehensive support for adaptive bed meshing across a variety of firmware, including Marlin, Klipper, and RepRapFirmware (RRF).
+OrcaSlicer introduces comprehensive support for adaptive bed meshing across a variety of firmware, including Marlin, Klipper, and RepRapFirmware (RRF).
This feature allows users to seamlessly integrate adaptive bed mesh commands within the Machine Start G-code.
-The implementation is designed to be straightforward, requiring no additional plugins or alterations to firmware settings, thereby enhancing user experience and print quality directly from Orca Slicer.
+The implementation is designed to be straightforward, requiring no additional plugins or alterations to firmware settings, thereby enhancing user experience and print quality directly from OrcaSlicer.

-## Settings in Orca Slicer
+## Settings in OrcaSlicer
`Bed mesh min`: This option sets the min point for the allowed bed mesh area. Due to the probe's XY offset, most printers are unable to probe the entire bed. To ensure the probe point does not go outside the bed area, the minimum and maximum points of the bed mesh should be set appropriately. OrcaSlicer ensures that adaptive_bed_mesh_min/adaptive_bed_mesh_max values do not exceed these min/max points. This information can usually be obtained from your printer manufacturer. The default setting is (-99999, -99999), which means there are no limits, thus allowing probing across the entire bed.
@@ -19,7 +19,7 @@ The implementation is designed to be straightforward, requiring no additional pl
`Mesh margin`: This option determines the additional distance by which the adaptive bed mesh area should be expanded in the XY directions.
> [!NOTE]
-> Klipper users: Orca Slicer will adjust adaptive bed mesh area according to the margin. It is recommended to set the margin to 0 in Klipper config or pass 0 when calling BED_MESH_CALIBRATE command(please refer to the example below).
+> Klipper users: OrcaSlicer will adjust adaptive bed mesh area according to the margin. It is recommended to set the margin to 0 in Klipper config or pass 0 when calling BED_MESH_CALIBRATE command(please refer to the example below).
## Available g-code variables for Adaptive Bed Mesh Command
@@ -31,7 +31,7 @@ The implementation is designed to be straightforward, requiring no additional pl
`ALGORITHM`: Identifies the algorithm used for adaptive bed mesh interpolation. This variable is useful for Klipper users. If bed_mesh_probe_count is less than 4, the algorithm is set to `lagrange`. Otherwise, it is set to `bicubic`.
-## Example of Adaptive Bed Mesh usage in Orca Slicer
+## Example of Adaptive Bed Mesh usage in OrcaSlicer
### Marlin
diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp
index 9932c5f5f5..c5088b7740 100644
--- a/src/slic3r/GUI/Tab.cpp
+++ b/src/slic3r/GUI/Tab.cpp
@@ -2094,9 +2094,9 @@ void TabPrint::build()
optgroup->append_single_option_line("support_line_width","quality_settings_line_width");
optgroup = page->new_optgroup(L("Seam"), L"param_seam");
- optgroup->append_single_option_line("seam_position", "quality_settings_seam");
- optgroup->append_single_option_line("staggered_inner_seams", "quality_settings_seam");
- optgroup->append_single_option_line("seam_gap","quality_settings_seam");
+ optgroup->append_single_option_line("seam_position", "quality_settings_seam#seam-position");
+ optgroup->append_single_option_line("staggered_inner_seams", "quality_settings_seam#staggered-inner-seams");
+ optgroup->append_single_option_line("seam_gap","quality_settings_seam#seam-gap");
optgroup->append_single_option_line("seam_slope_type", "quality_settings_seam#scarf-joint-seam");
optgroup->append_single_option_line("seam_slope_conditional", "quality_settings_seam#scarf-joint-seam");
optgroup->append_single_option_line("scarf_angle_threshold", "quality_settings_seam#scarf-joint-seam");
@@ -2118,10 +2118,10 @@ void TabPrint::build()
optgroup->append_single_option_line("slice_closing_radius", "quality_settings_precision#slice-gap-closing-radius");
optgroup->append_single_option_line("resolution", "quality_settings_precision#resolution");
optgroup->append_single_option_line("enable_arc_fitting", "quality_settings_precision#arc-fitting");
- optgroup->append_single_option_line("xy_hole_compensation", "quality_settings_precision#xy-compensation");
- optgroup->append_single_option_line("xy_contour_compensation", "quality_settings_precision#xy-compensation");
- optgroup->append_single_option_line("elefant_foot_compensation", "quality_settings_precision#elefant-foot-compensation");
- optgroup->append_single_option_line("elefant_foot_compensation_layers", "quality_settings_precision#elefant-foot-compensation");
+ optgroup->append_single_option_line("xy_hole_compensation", "quality_settings_precision#x-y-compensation");
+ optgroup->append_single_option_line("xy_contour_compensation", "quality_settings_precision#x-y-compensation");
+ optgroup->append_single_option_line("elefant_foot_compensation", "quality_settings_precision#elephant-foot-compensation");
+ optgroup->append_single_option_line("elefant_foot_compensation_layers", "quality_settings_precision#elephant-foot-compensation");
optgroup->append_single_option_line("precise_outer_wall", "quality_settings_precision#precise-wall");
optgroup->append_single_option_line("precise_z_height", "quality_settings_precision#precise-z-height");
optgroup->append_single_option_line("hole_to_polyhole", "quality_settings_precision#polyholes");
@@ -2132,7 +2132,7 @@ void TabPrint::build()
optgroup->append_single_option_line("ironing_type", "quality_settings_ironing#type");
optgroup->append_single_option_line("ironing_pattern", "quality_settings_ironing#pattern");
optgroup->append_single_option_line("ironing_flow", "quality_settings_ironing#flow");
- optgroup->append_single_option_line("ironing_spacing", "quality_settings_ironing#spacing");
+ optgroup->append_single_option_line("ironing_spacing", "quality_settings_ironing#line-spacing");
optgroup->append_single_option_line("ironing_inset", "quality_settings_ironing#inset");
optgroup->append_single_option_line("ironing_angle", "quality_settings_ironing#angle");
@@ -2190,17 +2190,17 @@ void TabPrint::build()
page = add_options_page(L("Strength"), "custom-gcode_strength"); // ORCA: icon only visible on placeholders
optgroup = page->new_optgroup(L("Walls"), L"param_wall");
- optgroup->append_single_option_line("wall_loops", "strength_settings_walls#wall-loop");
+ optgroup->append_single_option_line("wall_loops", "strength_settings_walls#wall-loops");
optgroup->append_single_option_line("alternate_extra_wall", "strength_settings_walls#alternate-extra-wall");
optgroup->append_single_option_line("detect_thin_wall", "strength_settings_walls#detect-thin-wall");
optgroup = page->new_optgroup(L("Top/bottom shells"), L"param_shell");
- optgroup->append_single_option_line("top_shell_layers", "strength_settings_top_bottom_shells#shells-layers");
+ optgroup->append_single_option_line("top_shell_layers", "strength_settings_top_bottom_shells#shell-layers");
optgroup->append_single_option_line("top_shell_thickness", "strength_settings_top_bottom_shells#shell-thickness");
optgroup->append_single_option_line("top_surface_density", "strength_settings_top_bottom_shells#surface-density");
optgroup->append_single_option_line("top_surface_pattern", "strength_settings_top_bottom_shells#surface-pattern");
- optgroup->append_single_option_line("bottom_shell_layers", "strength_settings_top_bottom_shells#shells-layers");
+ optgroup->append_single_option_line("bottom_shell_layers", "strength_settings_top_bottom_shells#shell-layers");
optgroup->append_single_option_line("bottom_shell_thickness", "strength_settings_top_bottom_shells#shell-thickness");
optgroup->append_single_option_line("bottom_surface_density", "strength_settings_top_bottom_shells#surface-density");
optgroup->append_single_option_line("bottom_surface_pattern", "strength_settings_top_bottom_shells#surface-pattern");
@@ -2208,27 +2208,26 @@ void TabPrint::build()
optgroup = page->new_optgroup(L("Infill"), L"param_infill");
optgroup->append_single_option_line("sparse_infill_density", "strength_settings_infill#sparse-infill-density");
- optgroup->append_single_option_line("fill_multiline", "strength_settings_infill##fill-multiline");
+ optgroup->append_single_option_line("fill_multiline", "strength_settings_infill#fill-multiline");
optgroup->append_single_option_line("sparse_infill_pattern", "strength_settings_infill#sparse-infill-pattern");
optgroup->append_single_option_line("infill_direction", "strength_settings_infill#direction");
optgroup->append_single_option_line("sparse_infill_rotate_template", "strength_settings_infill#rotation");
- optgroup->append_single_option_line("skin_infill_density", "strength_settings_infill#locked-zag");
- optgroup->append_single_option_line("skeleton_infill_density", "strength_settings_infill#locked-zag");
- optgroup->append_single_option_line("infill_lock_depth", "strength_settings_infill#locked-zag");
- optgroup->append_single_option_line("skin_infill_depth", "strength_settings_infill#locked-zag");
- optgroup->append_single_option_line("skin_infill_line_width", "strength_settings_infill#locked-zag");
- optgroup->append_single_option_line("skeleton_infill_line_width", "strength_settings_infill#locked-zag");
- optgroup->append_single_option_line("symmetric_infill_y_axis", "strength_settings_infill#zig-zag");
- optgroup->append_single_option_line("infill_shift_step", "strength_settings_infill#cross-hatch");
-
- optgroup->append_single_option_line("lateral_lattice_angle_1", "strength_settings_infill#2d-lattice");
- optgroup->append_single_option_line("lateral_lattice_angle_2", "strength_settings_infill#2d-lattice");
- optgroup->append_single_option_line("infill_overhang_angle", "strength_settings_infill#2d-honeycomb");
+ optgroup->append_single_option_line("skin_infill_density", "strength_settings_patterns#locked-zag");
+ optgroup->append_single_option_line("skeleton_infill_density", "strength_settings_patterns#locked-zag");
+ optgroup->append_single_option_line("infill_lock_depth", "strength_settings_patterns#locked-zag");
+ optgroup->append_single_option_line("skin_infill_depth", "strength_settings_patterns#locked-zag");
+ optgroup->append_single_option_line("skin_infill_line_width", "strength_settings_patterns#locked-zag");
+ optgroup->append_single_option_line("skeleton_infill_line_width", "strength_settings_patterns#locked-zag");
+ optgroup->append_single_option_line("symmetric_infill_y_axis", "strength_settings_patterns#zig-zag");
+ optgroup->append_single_option_line("infill_shift_step", "strength_settings_patterns#cross-hatch");
+ optgroup->append_single_option_line("lateral_lattice_angle_1", "strength_settings_patterns#lateral-lattice");
+ optgroup->append_single_option_line("lateral_lattice_angle_2", "strength_settings_patterns#lateral-lattice");
+ optgroup->append_single_option_line("infill_overhang_angle", "strength_settings_patterns#lateral-honeycomb");
optgroup->append_single_option_line("infill_anchor_max", "strength_settings_infill#anchor");
optgroup->append_single_option_line("infill_anchor", "strength_settings_infill#anchor");
optgroup->append_single_option_line("internal_solid_infill_pattern", "strength_settings_infill#internal-solid-infill");
- optgroup->append_single_option_line("solid_infill_direction", "strength_settings_infill");
- optgroup->append_single_option_line("solid_infill_rotate_template", "strength_settings_infill");
+ optgroup->append_single_option_line("solid_infill_direction", "strength_settings_infill#direction");
+ optgroup->append_single_option_line("solid_infill_rotate_template", "strength_settings_infill#rotation");
optgroup->append_single_option_line("gap_fill_target", "strength_settings_infill#apply-gap-fill");
optgroup->append_single_option_line("filter_out_gap_fill", "strength_settings_infill#filter-out-tiny-gaps");
optgroup->append_single_option_line("infill_wall_overlap", "strength_settings_infill#infill-wall-overlap");
@@ -2654,10 +2653,10 @@ void TabPrintModel::build()
auto page = add_options_page(L("Frequent"), "empty");
auto optgroup = page->new_optgroup("");
- optgroup->append_single_option_line("layer_height");
- optgroup->append_single_option_line("sparse_infill_density");
- optgroup->append_single_option_line("wall_loops");
- optgroup->append_single_option_line("enable_support", "support");
+ optgroup->append_single_option_line("layer_height", "quality_settings_layer_height");
+ optgroup->append_single_option_line("sparse_infill_density", "strength_settings_infill#sparse-infill-density");
+ optgroup->append_single_option_line("wall_loops", "strength_settings_walls");
+ optgroup->append_single_option_line("enable_support", "support_settings_support");
m_pages.pop_back();
m_pages.insert(m_pages.begin(), page);
@@ -3531,7 +3530,7 @@ void TabFilament::build()
//};
//optgroup->append_line(line);
optgroup = page->new_optgroup(L("Cooling for specific layer"), L"param_cooling_specific_layer");
- optgroup->append_single_option_line("close_fan_the_first_x_layers", "auto-cooling");
+ optgroup->append_single_option_line("close_fan_the_first_x_layers");
optgroup->append_single_option_line("full_fan_speed_layer");
optgroup = page->new_optgroup(L("Part cooling fan"), L"param_cooling_part_fan");
@@ -3546,13 +3545,13 @@ void TabFilament::build()
line.append_option(optgroup->get_option("slow_down_layer_time"));
optgroup->append_line(line);
optgroup->append_single_option_line("reduce_fan_stop_start_freq");
- optgroup->append_single_option_line("slow_down_for_layer_cooling", "auto-cooling");
+ optgroup->append_single_option_line("slow_down_for_layer_cooling");
optgroup->append_single_option_line("dont_slow_down_outer_wall");
optgroup->append_single_option_line("slow_down_min_speed");
- optgroup->append_single_option_line("enable_overhang_bridge_fan", "auto-cooling");
- optgroup->append_single_option_line("overhang_fan_threshold", "auto-cooling");
- optgroup->append_single_option_line("overhang_fan_speed", "auto-cooling");
+ optgroup->append_single_option_line("enable_overhang_bridge_fan");
+ optgroup->append_single_option_line("overhang_fan_threshold");
+ optgroup->append_single_option_line("overhang_fan_speed");
optgroup->append_single_option_line("internal_bridge_fan_speed"); // ORCA: Add support for separate internal bridge fan speed control
optgroup->append_single_option_line("support_material_interface_fan_speed");
optgroup->append_single_option_line("ironing_fan_speed"); // ORCA: Add support for ironing fan speed control
@@ -3895,8 +3894,8 @@ void TabPrinter::build_fff()
optgroup->append_single_option_line("disable_m73");
option = optgroup->get_option("thumbnails");
option.opt.full_width = true;
- optgroup->append_single_option_line(option, "thumbnails");
- // optgroup->append_single_option_line("thumbnails_format", "thumbnails");
+ optgroup->append_single_option_line(option);
+ // optgroup->append_single_option_line("thumbnails_format");
optgroup->m_on_change = [this](t_config_option_key opt_key, boost::any value) {
wxTheApp->CallAfter([this, opt_key, value]() {
if (opt_key == "thumbnails" && m_config->has("thumbnails_format")) {