Wiki Update 6 (#9952)
Some checks failed
Build all / Build All (push) Waiting to run
Build all / Flatpak (push) Waiting to run
Publish docs to Wiki / Publish docs to Wiki (push) Has been cancelled

* Add process images

* Reorder like GUI + images

* GUI images subfolder

* MVF restandarizarion (naming pending)

Update volumetric speed calibration docs and image paths

* Improved SVGs

* Infill Wall Overlap

* Apply gap fill + Anchor

* Minor change

* Internal Solid Infill

* Images++

* Step file import image update

* Add VFA calibration documentation and images

* fix pa-tower image not visible

* Removed WIP in not implemented features.

* Added Old and New Order in xlsx

* Wall generator

* Wiki #9924

* New Zag Infills

Co-Authored-By: Rodrigo <162915171+RF47@users.noreply.github.com>

* Infill Rescaled images + sharpness

2d honeycomb image fix

* Update infill_desc_calculator.xlsx

* Rename extrusion rate smoothing references for consistency

* Add wiki and link for top/bottom shells settings

* Updated Wiki Links tab.cpp

* Update infill_desc_calculator.xlsx

* Fix indentation in top/bottom shells option group

* Fill images optimized

Removed Metadata
Reduce color bit to 16

---------

Co-authored-by: Rodrigo <162915171+RF47@users.noreply.github.com>
This commit is contained in:
Ian Bassi 2025-06-27 10:20:25 -03:00 committed by GitHub
parent d80bb1cfc9
commit c2eda0b0fa
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
67 changed files with 404 additions and 140 deletions

View file

@ -2,32 +2,56 @@
Orca slicer is a powerful open source slicer for FFF (FDM) 3D Printers. This wiki page aims to provide an detailed explanation of the slicer settings, how to get the most out of them as well as how to calibrate and setup your printer.
- [Prepare](#prepare)
- [Print Settings, Tips and Tricks](#print-settings-tips-and-tricks)
- [Quality Settings](#quality-settings)
- [Speed Settings](#speed-settings)
- [Strength Settings](#strength-settings)
- [Material Settings](#material-settings)
- [Printer Settings](#printer-settings)
- [Printer Calibration](#printer-calibration)
- [Material Settings](#material-settings)
- [Prepare](#prepare)
- [Process Settings](#process-settings)
- [Quality Settings](#quality-settings)
- [Strength Settings](#strength-settings)
- [Speed Settings](#speed-settings)
- [Support Settings](#support-settings)
- [Multimaterial Settings](#multimaterial-settings)
- [Others Settings](#others-settings)
- [Calibrations](#calibrations)
- [Developer Section](#developer-section)
> [!NOTE]
> The Wiki is **Work In Progress** so bear with us while we get it up and running!
> Please consider contributing to the wiki following the [How to contribute to the wiki](How-to-wiki) guide.
## Printer Settings
![printer-preset](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/gui/printer-preset.png)
- [Air filtration/Exhaust fan handling](air-filtration)
- [Auxiliary fan handling](Auxiliary-fan)
- [Chamber temperature control](chamber-temperature)
- [Adaptive Bed Mesh](adaptive-bed-mesh)
- [Using different bed types in Orca](bed-types)
## Material Settings
![filament-preset](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/gui/filament-preset.png)
- [Single Extruder Multimaterial](semm)
- [Pellet Printers (pellet flow coefficient)](pellet-flow-coefficient)
## Prepare
First steps to prepare your model/s for printing.
- [STL Transformation](stl-transformation)
## Print Settings, Tips and Tricks
## Process Settings
![process-preset](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/gui/process-preset.png)
The below sections provide a detailed settings explanation as well as tips and tricks in setting these for optimal print results.
### Quality Settings
![process-quality](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/gui/process/process-quality.png?raw=true)
- [Layer Height Settings](quality_settings_layer_height)
- [Line Width Settings](quality_settings_line_width)
- [Seam Settings](quality_settings_seam)
@ -44,28 +68,38 @@ The below sections provide a detailed settings explanation as well as tips and t
- [Polyholes](quality_settings_precision#polyholes)
- [Wall generator](quality_settings_wall_generator)
### Speed Settings
- [Extrusion rate smoothing](speed_extrusion_rate_smoothing)
### Strength Settings
![process-strength](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/gui/process/process-strength.png?raw=true)
- [Top and Bottom Shells](strength_settings_top_bottom_shells)
- [Infill](strength_settings_infill)
## Material Settings
### Speed Settings
- [Single Extruder Multimaterial](semm)
- [Pellet Printers (pellet flow coefficient)](pellet-flow-coefficient)
![process-speed](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/gui/process/process-speed.png?raw=true)
### Printer Settings
- [Extrusion rate smoothing](speed_settings_extrusion_rate_smoothing)
- [Air filtration/Exhaust fan handling](air-filtration)
- [Auxiliary fan handling](Auxiliary-fan)
- [Chamber temperature control](chamber-temperature)
- [Adaptive Bed Mesh](adaptive-bed-mesh)
- [Using different bed types in Orca](bed-types)
### Support Settings
## Printer Calibration
![process-support](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/gui/process/process-support.png?raw=true)
WIP...
### Multimaterial Settings
![process-multimaterial](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/gui/process/process-multimaterial.png?raw=true)
WIP...
### Others Settings
![process-others](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/gui/process/process-others.png?raw=true)
WIP...
## Calibrations
The [Calibration Guide](Calibration) outlines Orcas key calibration tests and their suggested order of execution.

View file

@ -25,7 +25,7 @@ The recommended order for calibration is as follows:
- **[Adaptative Pressure Advance](adaptive-pressure-advance-calib):** This is an advanced calibration technique that can be used to further optimize the pressure advance settings for different print speeds and geometries.
<img src="https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/pa-tower.jpg?raw=true" alt="pa-tower" height="200">
<img src="https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/pa/pa-tower.jpg?raw=true" alt="pa-tower" height="200">
2. **[Retraction](retraction-calib):** Calibrate the retraction settings to minimize stringing and improve print quality. Doing this after Flow and
@ -47,10 +47,9 @@ The recommended order for calibration is as follows:
<img src="https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/InputShaping/IS_damp_marlin_print_measure.jpg?raw=true" alt="Input_Shaping" height="200">
### VFA
7. **[VFA](vfa-calib):** A VFA speed test is available to find resonance speeds.
Vertical Fine Artifacts (VFA) are small artifacts that can occur on the surface of a 3D print, particularly in areas where there are sharp corners or changes in direction. These artifacts can be caused by a variety of factors, including mechanical vibrations, resonance, and other factors that can affect the quality of the print.
Because of the nature of these artifacts the methods to reduce them can be mechanical such as changing motors, belts and pulleys or with advanced calibrations such as Jerk/[Junction Deviation](junction-deviation) corrections or [Input Shaping](input-shaping).
<img src="https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/vfa/vfa_test_print.jpg?raw=true" alt="vfa_test_print" height="200">
---
@ -62,4 +61,3 @@ _Credits:_
- _The temp tower model is remixed from [Smart compact temperature calibration tower](https://www.thingiverse.com/thing:2729076)._
- _The max flowrate test was inspired by Stefan (CNC Kitchen), and the model used in the test is a remix of his [Extrusion Test Structure](https://www.printables.com/model/342075-extrusion-test-structure)._
- _ZV Input Shaping is inspired by [Marlin Input Shaping](https://marlinfw.org/docs/features/input_shaping.html) and [Ringing Tower 3D STL](https://marlinfw.org/assets/stl/ringing_tower.stl)._
- _ChatGPT_ ;)

View file

@ -4,7 +4,7 @@ Cornering is a critical aspect of 3D printing that affects the quality and accur
## Jerk
WIP... TODO: Jerk calibration not implemented yet.
TODO: Jerk calibration not implemented yet.
## Junction Deviation

View file

@ -3,7 +3,10 @@
During high-speed movements, vibrations can cause a phenomenon called "ringing," where periodic ripples appear on the print surface. Input Shaping provides an effective solution by counteracting these vibrations, improving print quality and reducing wear on components without needing to significantly lower print speeds.
- [Klipper](#klipper)
- [Resonance Compensation](#resonance-compensation)
- [Marlin](#marlin)
- [ZV Input Shaping](#zv-input-shaping)
- [Fixed-Time Motion](#fixed-time-motion)
## Klipper
@ -125,5 +128,4 @@ ZV Input Shaping introduces an anti-vibration signal into the stepper motion for
### Fixed-Time Motion
WIP...
This calibration test is currently under development. See the [Marlin documentation](https://marlinfw.org/docs/gcode/M493.html) for more information.
TODO: This calibration test is currently under development. See the [Marlin documentation](https://marlinfw.org/docs/gcode/M493.html) for more information.

View file

@ -0,0 +1,13 @@
# VFA
Vertical Fine Artifacts (VFA) are small artifacts that can occur on the surface of a 3D print, particularly in areas where there are sharp corners or changes in direction. These artifacts can be caused by a variety of factors, including mechanical vibrations, resonance, and other factors that can affect the quality of the print.
Because of the nature of these artifacts the methods to reduce them can be mechanical such as changing motors, belts and pulleys or with advanced calibrations such as [Jerk/Junction Deviation](cornering-calib) corrections or [Input Shaping](input-shaping-calib).
## VFA Test
OrcaSlicer's VFA test is used to identify the print speed that minimizes ringing artifacts. It prints a tower with walls at key angles while gradually increasing the print speed. The goal is to find the speed at which VFA artifacts are least visible, revealing the optimal range for clean surfaces.
![vfa_test_menu](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/vfa/vfa_test_menu.png?raw=true)
![vfa_test_print](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/vfa/vfa_test_print.jpg?raw=true)

View file

@ -1,4 +1,4 @@
# Max Volumetric speed
# Max Volumetric Speed (FlowRate) Calibration
This is a test designed to calibrate the maximum volumetric speed of the specific filament. The generic or 3rd party filament types may not have the correct volumetric flow rate set in the filament. This test will help you to find the maximum volumetric speed of the filament.
@ -6,15 +6,15 @@ You will be promted to enter the settings for the test: start volumetric speed,
Once printed, take note of where the layers begin to fail and where the quality begins to suffer. Pay attention to changes from matte to shiny as well.
![vmf_measurement_point](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images//vmf_measurement_point.jpg?raw=true)
![mvf_measurement_point](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/mvf/mvf_measurement_point.jpg?raw=true)
Using calipers or a ruler, measure the height of the print at that point. Use the following calculation to determine the correct max flow value: `start + (height-measured * step)` . For example in the photo below, and using the default setting values, the print quality began to suffer at 19mm measured, so the calculation would be: `5 + (19 * 0.5)` , or `13mm³/s` using the default values. Enter your number into the "Max volumetric speed" value in the filament settings.
![caliper_sample_mvf](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images//caliper_sample_mvf.jpg?raw=true)
![mvf_caliper_sample_mvf](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/mvf/mvf_caliper_sample_mvf.jpg?raw=true)
You can also return to OrcaSlicer in the "Preview" tab, make sure the color scheme "flow" is selected. Scroll down to the layer height that you measured, and click on the toolhead slider. This will indicate the max flow level for your filmanet.
You can also return to OrcaSlicer in the "Preview" tab, make sure the color scheme "flow" is selected. Scroll down to the layer height that you measured, and click on the toolhead slider. This will indicate the max flow level for your filament.
![image](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/max_volumetric_flow.jpg?raw=true)
![mvf_gui_flow](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/mvf/mvf_gui_flow.jpg?raw=true)
> [!NOTE]
> You may also choose to conservatively reduce the flow by 5-10% to ensure print quality.

View file

@ -150,10 +150,13 @@ Always use raw GitHub URLs for image links to ensure correct display:
Format = `![[filename]](` + Base URL + filename.extension + Raw tag + `)`
- Base URL:
```markdown
https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/
```
- Raw tag:
```markdown
?raw=true
```
@ -167,6 +170,7 @@ Format = `![[filename]](` + Base URL + filename.extension + Raw tag + `)`
```
- For an image in a subdirectory like `doc/images/calibration/pa-example.svg`:
```markdown
![pa-example](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/calibration/pa-example.svg?raw=true)
```
@ -194,6 +198,7 @@ If resizing is necessary (e.g., for thumbnails), use the following syntax:
HTML Format = `<img src="` + Base URL + filename.extension + Raw tag + `" alt="` + filename + `"` + size limit.
Example:
```html
<img src="https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/InputShaping/IS_damp_marlin_print_measure.jpg?raw=true" alt="Input_Shaping" height="200">
```

View file

@ -9,15 +9,15 @@ As the name might suggest this class deals with presets for various things. It d
- `TYPE_PRINT`: Refers to a process preset. It's called 'Print' probably due to some legacy code.
![process-preset](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/process-preset.png?raw=true)
![process-preset-full](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/gui/process-preset-full.png?raw=true)
- `TYPE_FILAMENT`: As the name suggests this preset is for filaments
![filament-preset](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/filament-preset.png?raw=true)
![filament-preset](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/gui/filament-preset.png?raw=true)
- `TYPE_PRINTER`: Preset for printers.
![printer-preset](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/printer-preset.png?raw=true)
![printer-preset](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/gui/printer-preset.png?raw=true)
There are other preset types but some of them are for SLA. Which is legacy code, since SLA printers are no longer supported. Above 3 are the important types.

View file

@ -5,24 +5,24 @@ WIP...
> [!WARNING]
> !! incomplete, possibly inaccurate, being updated with new info !!
## [`Plater`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/slic3r/GUI/Plater.hpp)
## [`Plater`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/slic3r/gui/Plater.hpp)
Refers to the entire application. The whole view, file loading, project saving and loading is all managed by this class. This class contains members for the model viewer, the sidebar, gcode viewer and everything else.
## [`Sidebar`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/slic3r/GUI/Plater.hpp)
## [`Sidebar`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/slic3r/gui/Plater.hpp)
This is relating the the sidebar in the application window
![full-sidebar](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/full-sidebar.png?raw=true)
![full-sidebar](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/gui/full-sidebar.png?raw=true)
## [`ComboBox`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/slic3r/GUI/Widgets/ComboBox.hpp)
## [`ComboBox`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/slic3r/gui/Widgets/ComboBox.hpp)
The drop down menus where you can see and select presets
![combobox](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/combobox.png?raw=true)
![combobox](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/gui/combobox.png?raw=true)
## [`Tab`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/slic3r/GUI/Tab.hpp)
## [`Tab`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/slic3r/gui/Tab.hpp)
Refers to the various windows with settings. e.g. the Popup to edit printer or filament preset. Also the section to edit process preset and the object list. These 4 are managed by `TabPrinter`, `TabFilament`, `TabPrint` and `TabPrintModel` respectively.
![tab-popup](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/tab-popup.png?raw=true)
![tab-popup](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/gui/tab-popup.png?raw=true)

View file

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 93 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 158 KiB

After

Width:  |  Height:  |  Size: 158 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 285 KiB

After

Width:  |  Height:  |  Size: 285 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 165 KiB

After

Width:  |  Height:  |  Size: 165 KiB

Before After
Before After

View file

@ -1,3 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" style="background: transparent; background-color: transparent; color-scheme: light dark;" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="401px" height="71px" viewBox="-0.5 -0.5 401 71"><defs/><g><g data-cell-id="0"><g data-cell-id="1"><g data-cell-id="fhMGX1kBES0GxHB0cy2X-14"><g><rect x="130" y="0" width="140" height="70" rx="25.9" ry="25.9" fill-opacity="0.75" fill="#e3c800" style="fill: light-dark(rgb(227, 200, 0), rgb(103, 80, 0)); stroke: light-dark(rgb(176, 149, 0), rgb(141, 118, 0));" stroke="#b09500" stroke-opacity="0.75" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 35px; margin-left: 131px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ededed); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Inner wall</div></div></div></foreignObject><text x="200" y="39" fill="#000000" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Inner wall</text></switch></g></g></g><g data-cell-id="fhMGX1kBES0GxHB0cy2X-15"><g><rect x="260" y="0" width="140" height="70" rx="25.9" ry="25.9" fill-opacity="0.75" fill="#e3c800" style="fill: light-dark(rgb(227, 200, 0), rgb(103, 80, 0)); stroke: light-dark(rgb(176, 149, 0), rgb(141, 118, 0));" stroke="#b09500" stroke-opacity="0.75" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 35px; margin-left: 261px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ededed); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Inner wall</div></div></div></foreignObject><text x="330" y="39" fill="#000000" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Inner wall</text></switch></g></g></g><g data-cell-id="fhMGX1kBES0GxHB0cy2X-9"><g><rect x="0" y="0" width="140" height="70" rx="25.9" ry="25.9" fill-opacity="0.75" fill="#fa6800" style="fill: light-dark(rgb(250, 104, 0), rgb(233, 107, 18)); stroke: light-dark(rgb(199, 53, 0), rgb(255, 145, 100));" stroke="#c73500" stroke-opacity="0.75" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 35px; margin-left: 1px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ededed); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Outer wall</div></div></div></foreignObject><text x="70" y="39" fill="#000000" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Outer wall</text></switch></g></g></g></g></g></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" style="background: transparent; background-color: transparent; color-scheme: light dark;" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="803px" height="143px" viewBox="-0.5 -0.5 803 143"><defs/><g><g data-cell-id="0"><g data-cell-id="1"><g data-cell-id="fhMGX1kBES0GxHB0cy2X-14"/><g data-cell-id="fhMGX1kBES0GxHB0cy2X-15"/><g data-cell-id="fhMGX1kBES0GxHB0cy2X-9"/><g data-cell-id="JIVyJF1suF0Iw4lcCjqO-1"><g><rect x="260" y="0" width="280" height="140" rx="51.8" ry="51.8" fill-opacity="0.75" fill="#e3c800" style="fill: light-dark(rgb(227, 200, 0), rgb(103, 80, 0)); stroke: light-dark(rgb(176, 149, 0), rgb(141, 118, 0));" stroke="#b09500" stroke-opacity="0.75" stroke-width="2" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)scale(2)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 35px; margin-left: 131px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ededed); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Inner wall</div></div></div></foreignObject><text x="200" y="39" fill="#000000" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Inner wall</text></switch></g></g></g><g data-cell-id="JIVyJF1suF0Iw4lcCjqO-2"><g><rect x="520" y="0" width="280" height="140" rx="51.8" ry="51.8" fill-opacity="0.75" fill="#e3c800" style="fill: light-dark(rgb(227, 200, 0), rgb(103, 80, 0)); stroke: light-dark(rgb(176, 149, 0), rgb(141, 118, 0));" stroke="#b09500" stroke-opacity="0.75" stroke-width="2" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)scale(2)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 35px; margin-left: 261px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ededed); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Inner wall</div></div></div></foreignObject><text x="330" y="39" fill="#000000" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Inner wall</text></switch></g></g></g><g data-cell-id="JIVyJF1suF0Iw4lcCjqO-3"><g><rect x="0" y="0" width="280" height="140" rx="51.8" ry="51.8" fill-opacity="0.75" fill="#fa6800" style="fill: light-dark(rgb(250, 104, 0), rgb(233, 107, 18)); stroke: light-dark(rgb(199, 53, 0), rgb(255, 145, 100));" stroke="#c73500" stroke-opacity="0.75" stroke-width="2" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)scale(2)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 35px; margin-left: 1px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ededed); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Outer wall</div></div></div></foreignObject><text x="70" y="39" fill="#000000" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Outer wall</text></switch></g></g></g><g data-cell-id="JIVyJF1suF0Iw4lcCjqO-4"/><g data-cell-id="JIVyJF1suF0Iw4lcCjqO-6"/><g data-cell-id="iafkVJ-x-7XXIqqUWIqP-1"/><g data-cell-id="JIVyJF1suF0Iw4lcCjqO-5"/><g data-cell-id="iafkVJ-x-7XXIqqUWIqP-6"/><g data-cell-id="iafkVJ-x-7XXIqqUWIqP-7"/><g data-cell-id="iafkVJ-x-7XXIqqUWIqP-8"/><g data-cell-id="iafkVJ-x-7XXIqqUWIqP-9"/></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 4 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Before After
Before After

View file

@ -1,3 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" style="background: transparent; background-color: transparent; color-scheme: light dark;" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="411px" height="71px" viewBox="-0.5 -0.5 411 71"><defs/><g><g data-cell-id="0"><g data-cell-id="1"><g data-cell-id="fhMGX1kBES0GxHB0cy2X-14"><g><rect x="140" y="0" width="140" height="70" rx="25.9" ry="25.9" fill-opacity="0.75" fill="#e3c800" style="fill: light-dark(rgb(227, 200, 0), rgb(103, 80, 0)); stroke: light-dark(rgb(176, 149, 0), rgb(141, 118, 0));" stroke="#b09500" stroke-opacity="0.75" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 35px; margin-left: 141px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ededed); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Inner wall</div></div></div></foreignObject><text x="210" y="39" fill="#000000" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Inner wall</text></switch></g></g></g><g data-cell-id="fhMGX1kBES0GxHB0cy2X-15"><g><rect x="270" y="0" width="140" height="70" rx="25.9" ry="25.9" fill-opacity="0.75" fill="#e3c800" style="fill: light-dark(rgb(227, 200, 0), rgb(103, 80, 0)); stroke: light-dark(rgb(176, 149, 0), rgb(141, 118, 0));" stroke="#b09500" stroke-opacity="0.75" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 35px; margin-left: 271px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ededed); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Inner wall</div></div></div></foreignObject><text x="340" y="39" fill="#000000" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Inner wall</text></switch></g></g></g><g data-cell-id="fhMGX1kBES0GxHB0cy2X-9"><g><rect x="0" y="0" width="140" height="70" rx="25.9" ry="25.9" fill-opacity="0.75" fill="#fa6800" style="fill: light-dark(rgb(250, 104, 0), rgb(233, 107, 18)); stroke: light-dark(rgb(199, 53, 0), rgb(255, 145, 100));" stroke="#c73500" stroke-opacity="0.75" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 35px; margin-left: 1px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ededed); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Outer wall</div></div></div></foreignObject><text x="70" y="39" fill="#000000" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Outer wall</text></switch></g></g></g></g></g></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" style="background: transparent; background-color: transparent; color-scheme: light dark;" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="822px" height="143px" viewBox="-0.5 -0.5 822 143"><defs/><g><g data-cell-id="0"><g data-cell-id="1"><g data-cell-id="fhMGX1kBES0GxHB0cy2X-14"><g><rect x="280" y="0" width="280" height="140" rx="51.8" ry="51.8" fill-opacity="0.75" fill="#e3c800" style="fill: light-dark(rgb(227, 200, 0), rgb(103, 80, 0)); stroke: light-dark(rgb(176, 149, 0), rgb(141, 118, 0));" stroke="#b09500" stroke-opacity="0.75" stroke-width="2" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)scale(2)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 35px; margin-left: 141px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ededed); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Inner wall</div></div></div></foreignObject><text x="210" y="39" fill="#000000" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Inner wall</text></switch></g></g></g><g data-cell-id="fhMGX1kBES0GxHB0cy2X-15"><g><rect x="540" y="0" width="280" height="140" rx="51.8" ry="51.8" fill-opacity="0.75" fill="#e3c800" style="fill: light-dark(rgb(227, 200, 0), rgb(103, 80, 0)); stroke: light-dark(rgb(176, 149, 0), rgb(141, 118, 0));" stroke="#b09500" stroke-opacity="0.75" stroke-width="2" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)scale(2)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 35px; margin-left: 271px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ededed); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Inner wall</div></div></div></foreignObject><text x="340" y="39" fill="#000000" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Inner wall</text></switch></g></g></g><g data-cell-id="fhMGX1kBES0GxHB0cy2X-9"><g><rect x="0" y="0" width="280" height="140" rx="51.8" ry="51.8" fill-opacity="0.75" fill="#fa6800" style="fill: light-dark(rgb(250, 104, 0), rgb(233, 107, 18)); stroke: light-dark(rgb(199, 53, 0), rgb(255, 145, 100));" stroke="#c73500" stroke-opacity="0.75" stroke-width="2" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)scale(2)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 35px; margin-left: 1px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: &quot;Helvetica&quot;; color: light-dark(#000000, #ededed); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Outer wall</div></div></div></foreignObject><text x="70" y="39" fill="#000000" font-family="&quot;Helvetica&quot;" font-size="12px" text-anchor="middle">Outer wall</text></switch></g></g></g><g data-cell-id="JIVyJF1suF0Iw4lcCjqO-1"/><g data-cell-id="JIVyJF1suF0Iw4lcCjqO-2"/><g data-cell-id="JIVyJF1suF0Iw4lcCjqO-3"/><g data-cell-id="JIVyJF1suF0Iw4lcCjqO-4"/><g data-cell-id="JIVyJF1suF0Iw4lcCjqO-6"/><g data-cell-id="iafkVJ-x-7XXIqqUWIqP-1"/><g data-cell-id="JIVyJF1suF0Iw4lcCjqO-5"/><g data-cell-id="iafkVJ-x-7XXIqqUWIqP-6"/><g data-cell-id="iafkVJ-x-7XXIqqUWIqP-7"/><g data-cell-id="iafkVJ-x-7XXIqqUWIqP-8"/><g data-cell-id="iafkVJ-x-7XXIqqUWIqP-9"/></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 4 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.7 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 KiB

After

Width:  |  Height:  |  Size: 54 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 143 KiB

After

Width:  |  Height:  |  Size: 75 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 75 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 192 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 173 KiB

After

Width:  |  Height:  |  Size: 61 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 324 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 67 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 59 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 72 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 52 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 77 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

After

Width:  |  Height:  |  Size: 70 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 362 KiB

After

Width:  |  Height:  |  Size: 51 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 48 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

View file

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 KiB

View file

@ -16,4 +16,3 @@ Ramming is a technique used to push the filament through the nozzle to ensure th
## Manual filament change
Manual filament change is a feature that allows the user to change the filament during the print. This can be useful for multi-material prints or when changing colors. The user can specify the position and timing of the filament change, as well as the speed and distance of the ramming process.
WIP...

View file

@ -1,23 +1,58 @@
# Wall Generator
WIP...
The Wall Generator defines how the outer and inner walls (perimeters) of the model are printed.
## Classic
WIP...
The Classic wall generator is a simple and reliable method used in many slicers. It creates as many walls as possible (limited by [Wall Loops](strength_settings_walls#wall-loops)) by extruding along the models perimeter using the defined [Line Width](quality_settings_line_width).
This method does not vary extrusion width and is ideal for fast, predictable slicing.
![wallgenerator-classic](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/WallGenerator/wallgenerator-classic.png?raw=true)
## Arachne
WIP...
The Arachne wall generator dynamically adjusts extrusion width to follow the shape of the model more closely. This allows better handling of thin features and smooth transitions between wall counts.
![wallgenerator-arachne](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/WallGenerator/wallgenerator-arachne.png?raw=true)
- Wall transitioning threshhold angle
- Wall transitioning filter
- Wall transitioning length
- Wall distribution count
- First layer minimum wall width
- Minimum feature size
- Minimum wall length
### 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.
### Wall transitioning filter margin
Prevents rapid switching between more or fewer walls by defining a tolerance range around the minimum wall width. The extrusion width will stay within the range:
```math
\left[ \text{Minimum Wall Width} - \text{Margin},\ 2 \times \text{Minimum Wall Width} + \text{Margin} \right]
```
Higher values reduce transitions, travel moves, and extrusion starts/stops, but may increase extrusion variability and introduce print quality issues. Expressed as a percentage of nozzle diameter.
### Wall transitioning length
Controls how far into the model the transition between wall counts extends. A lower value shortens or removes center walls, improving print time but potentially reducing coverage in tight areas.
### Wall distribution count
Sets how many walls (counted inward from the outer wall) are allowed to vary in width. Lower values constrain variation to inner walls, keeping outer walls consistent for best surface quality.
### Minimum wall width
Defines the narrowest wall that can be printed to represent thin features. If the feature is thinner than this value, the wall will match its width. Expressed as a percentage of nozzle diameter.
#### First layer minimum wall width
Specifies the minimum wall width for the first layer. It is recommended to match the nozzle diameter to improve adhesion and ensure stable base walls.
### Minimum feature size
Minimum width required for a model feature to be printed. Features below this value are skipped; features above it are widened to match the **Minimum Wall Width**. Expressed as a percentage of nozzle diameter.
### Minimum wall length
Avoids very short or isolated wall segments that add unnecessary time. Increasing this value removes short unconnected walls, improving efficiency.
> [!NOTE]
> Top and bottom surfaces are not affected by this setting to avoid visual artifacts.
> Use the One Wall Threshold (in Advanced settings) to adjust how aggressively OrcaSlicer considers a region a top surface. This option only appears when this setting exceeds 0.5, or if single-wall top surfaces are enabled.

View file

@ -2,6 +2,41 @@
Infill is the internal structure of a 3D print, providing strength and support. It can be adjusted to balance material usage, print time, and part strength.
- [Sparse infill density](#sparse-infill-density)
- [Direction and Rotation](#direction-and-rotation)
- [Direction](#direction)
- [Rotation](#rotation)
- [Infill Wall Overlap](#infill-wall-overlap)
- [Apply gap fill](#apply-gap-fill)
- [Anchor](#anchor)
- [Internal Solid Infill](#internal-solid-infill)
- [Sparse Infill Pattern](#sparse-infill-pattern)
- [Concentric](#concentric)
- [Rectilinear](#rectilinear)
- [Grid](#grid)
- [2D Lattice](#2d-lattice)
- [Line](#line)
- [Cubic](#cubic)
- [Triangles](#triangles)
- [Tri-hexagon](#tri-hexagon)
- [Gyroid](#gyroid)
- [TPMS-D](#tpms-d)
- [Honeycomb](#honeycomb)
- [Adaptive Cubic](#adaptive-cubic)
- [Aligned Rectilinear](#aligned-rectilinear)
- [2D Honeycomb](#2d-honeycomb)
- [3D Honeycomb](#3d-honeycomb)
- [Hilbert Curve](#hilbert-curve)
- [Archimedean Chords](#archimedean-chords)
- [Octagram Spiral](#octagram-spiral)
- [Support Cubic](#support-cubic)
- [Lightning](#lightning)
- [Cross Hatch](#cross-hatch)
- [Quarter Cubic](#quarter-cubic)
- [Zig Zag](#zig-zag)
- [Coss Zag](#coss-zag)
- [Locked Zag](#locked-zag)
## Sparse infill density
Density usually should be calculated as a % of the total infill volume, not the total print volume.
@ -9,6 +44,82 @@ Higher density increases strength but also material usage and print time. Lower
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.
## Direction and Rotation
### Direction
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. The template is a comma-separated list of angles in degrees.
For example:
```c++
0,90
```
The first layer uses 0°, the second uses 90°, and the pattern repeats for subsequent layers.
Other examples:
```c++
0,45,90
```
```c++
0,60,120,180
```
If there are more layers than angles, the sequence repeats.
> [!NOTE]
> Not all sparse infill patterns support rotation.
## Infill Wall Overlap
Infill area is enlarged slightly to overlap with wall for better bonding. The percentage value is relative to line width of sparse infill. Set this value to ~10-15% to minimize potential over extrusion and accumulation of material resulting in rough surfaces.
- **Infill Wall Overlap Off**
![InfillWallOverlapOff](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/InfillWallOverlapOff.svg?raw=true)
- **Infill Wall Overlap On**
![InfillWallOverlapOn](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/InfillWallOverlapOn.svg?raw=true)
## 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.
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.
3. **Nowhere:** Disables gap fill for all solid infill areas.
Note that if using the [classic perimeter generator](quality_settings_wall_generator#classic), gap fill may also be generated between perimeters, if a full width line cannot fit between them.
That perimeter gap fill is not controlled by this setting.
If you would like all gap fill, including the classic perimeter generated one, removed, set the filter out tiny gaps value to a large number, like 999999.
However this is not advised, as gap fill between perimeters is contributing to the model's strength. For models where excessive gap fill is generated between perimeters, a better option would be to switch to the [arachne wall generator](quality_settings_wall_generator#arachne) and use this option to control whether the cosmetic top and bottom surface gap fill is generated.
## Anchor
Connect an infill line to an internal perimeter with a short segment of an additional perimeter. If expressed as percentage (example: 15%) it is calculated over infill extrusion width.
OrcaSlicer tries to connect two close infill lines to a short perimeter segment. If no such perimeter segment shorter than this parameter is found, the infill line is connected to a perimeter segment at just one side and the length of the perimeter segment taken is limited to infill_anchor, but no longer than this parameter. If set to 0, the old algorithm for infill connection will be used, it should create the same result as with 1000 & 0.
- **Anchor Off**
![InfillAnchorOff](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/InfillAnchorOff.png?raw=true)
- **Anchor On**
![InfillAnchorOn](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/InfillAnchorOn.png?raw=true)
## 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.
## 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.
@ -18,12 +129,12 @@ There is no one-size-fits-all solution, as the best pattern depends on the speci
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.
| Infill | X-Y Strength | Z Strength | Material Usage | Print Time |
|---------------------------------------------|--------------|-------------|----------------|-------------|
| Pattern | X-Y Strength | Z Strength | Material Usage | Print Time |
|-----------------------------------------------|--------------|-------------|----------------|-------------|
| [Concentric](#concentric) | Low | Normal | Normal | Normal |
| [Rectilinear](#rectilinear) | Normal-Low | Low | Normal | Normal |
| [Grid](#grid) | High | High | Normal | Normal |
| [2D Lattice](#2d-lattice) | Normal-Low | Low | Normal | Normal |
| [Rectilinear](#rectilinear) | Normal-Low | Low | Normal | Normal-Low |
| [Grid](#grid) | High | High | Normal | Normal-Low |
| [2D Lattice](#2d-lattice) | Normal-Low | Low | Normal | Normal-Low |
| [Line](#line) | Low | Low | Normal | Normal-Low |
| [Cubic](#cubic) | High | High | Normal | Normal-Low |
| [Triangles](#triangles) | High | Normal | Normal | Normal-Low |
@ -32,16 +143,19 @@ As most settings in 3D printing, experience is the best way to determine which p
| [TPMS-D](#tpms-d) | High | High | Normal | High |
| [Honeycomb](#honeycomb) | High | High | High | Ultra-High |
| [Adaptive Cubic](#adaptive-cubic) | Normal-High | Normal-High | Low | Low |
| [Aligned Rectilinear](#aligned-rectilinear) | Normal-Low | Normal | Normal | Normal |
| [Aligned Rectilinear](#aligned-rectilinear) | Normal-Low | Normal | Normal | Normal-Low |
| [2D Honeycomb](#2d-honeycomb) | Normal-Low | Normal-Low | Normal | Normal-Low |
| [3D Honeycomb](#3d-honeycomb) | Normal-High | Normal-High | Normal-Low | High |
| [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-High |
| [Octagram Spiral](#octagram-spiral) | Low | Normal | Normal | Normal |
| [Support Cubic](#support-cubic) | Low | Low | Extra-Low | Extra-Low |
| [Lightning](#lightning) | Low | Low | Ultra-Low | Ultra-Low |
| [Cross Hatch](#cross-hatch) | Normal-High | Normal-High | Normal | Normal-High |
| [Quarter Cubic](#quarter-cubic) | High | High | Normal | Normal-Low |
| [Zig Zag](#zig-zag) | Normal-Low | Low | Normal | Normal |
| [Coss Zag](#coss-zag) | Normal | Low | Normal | Normal |
| [Locked Zag](#locked-zag) | Normal-Low | Normal-Low | Normal-High | Extra-High |
> [!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.
@ -61,14 +175,14 @@ Fills the area with progressively smaller versions of the outer contour, creatin
### Rectilinear
Parallel lines spaced according to infill density. Each layer is printed perpendicular to the previous, resulting in low vertical bonding.
Parallel lines spaced according to infill density. Each layer is printed perpendicular to the previous, resulting in low vertical bonding. Considere 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
- **Material/Time (Higher better):** Normal-High
- **Print Time:** Normal-Low
- **Material/Time (Higher better):** Normal
![infill-top-rectilinear](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-rectilinear.png?raw=true)
@ -80,7 +194,7 @@ Two-layer pattern of perpendicular lines, forming a grid. Overlapping points may
- **Vertical Strength (Z):** High
- **Density Calculation:** % of total infill volume
- **Material Usage:** Normal
- **Print Time:** Normal
- **Print Time:** Normal-Low
- **Material/Time (Higher better):** Normal
![infill-top-grid](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-grid.png?raw=true)
@ -93,7 +207,7 @@ Low-strength pattern with good flexibility. Angle 1 and angle 2 TBD.
- **Vertical Strength (Z):** Low
- **Density Calculation:** % of total infill volume
- **Material Usage:** Normal
- **Print Time:** Normal
- **Print Time:** Normal-Low
- **Material/Time (Higher better):** Normal
![infill-top-2d-lattice](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-2d-lattice.png?raw=true)
@ -159,7 +273,7 @@ Mathematical, isotropic surface providing equal strength in all directions. Exce
- **Density Calculation:** % of total infill volume
- **Material Usage:** Normal
- **Print Time:** Normal-High
- **Material/Time (Higher better):** Low
- **Material/Time (Higher better):** Normal-Low
![infill-top-gyroid](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-gyroid.png?raw=true)
@ -172,7 +286,7 @@ Triply Periodic Minimal Surface - D. Hybrid between [Cross Hatch](#cross-hatch)
- **Density Calculation:** % of total infill volume
- **Material Usage:** Normal
- **Print Time:** High
- **Material/Time (Higher better):** Low
- **Material/Time (Higher better):** Normal-Low
![infill-top-tpms-d](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-tpms-d.png?raw=true)
@ -185,7 +299,7 @@ Hexagonal pattern balancing strength and material use. Double walls in each hexa
- **Density Calculation:** % of total infill volume
- **Material Usage:** High
- **Print Time:** Ultra-High
- **Material/Time (Higher better):** Extra Low
- **Material/Time (Higher better):** Low
![infill-top-honeycomb](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-honeycomb.png?raw=true)
@ -211,7 +325,7 @@ Recommended with layer anchoring to improve not perpendicular strength.
- **Vertical Strength (Z):** Normal
- **Density Calculation:** % of total infill volume
- **Material Usage:** Normal
- **Print Time:** Normal
- **Print Time:** Normal-Low
- **Material/Time (Higher better):** Normal
![infill-top-aligned-rectilinear](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-aligned-rectilinear.png?raw=true)
@ -238,7 +352,7 @@ This infill tries to generate a printable honeycomb structure by printing square
- **Density Calculation:** Unknown
- **Material Usage:** Normal-Low
- **Print Time:** High
- **Material/Time (Higher better):** Extra Low
- **Material/Time (Higher better):** Low
![infill-top-3d-honeycomb](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-3d-honeycomb.png?raw=true)
@ -252,7 +366,7 @@ Print speed is very low due to the complexity of the path, which can lead to lon
- **Density Calculation:** % of total infill volume
- **Material Usage:** Normal
- **Print Time:** High
- **Material/Time (Higher better):** Extra Low
- **Material/Time (Higher better):** Low
![infill-top-hilbert-curve](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-hilbert-curve.png?raw=true)
@ -277,8 +391,8 @@ Esthetic pattern with low strength and high print time.
- **Vertical Strength (Z):** Normal
- **Density Calculation:** % of total infill volume
- **Material Usage:** Normal
- **Print Time:** Normal-High
- **Material/Time (Higher better):** Normal
- **Print Time:** Normal
- **Material/Time (Higher better):** Normal-Low
![infill-top-octagram-spiral](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-octagram-spiral.png?raw=true)
@ -304,7 +418,7 @@ Ultra-fast, ultra-low material infill. Designed for speed and efficiency, ideal
- **Density Calculation:** % of layer before top shell layers
- **Material Usage:** Ultra-Low
- **Print Time:** Ultra-Low
- **Material/Time (Higher better):** Extra Low
- **Material/Time (Higher better):** Low
![infill-top-lightning](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-lightning.png?raw=true)
@ -317,7 +431,7 @@ Similar to [Gyroid](#gyroid) but with linear patterns, creating weak points at i
- **Density Calculation:** % of total infill volume
- **Material Usage:** Normal
- **Print Time:** Normal-High
- **Material/Time (Higher better):** Low
- **Material/Time (Higher better):** Normal-Low
![infill-top-cross-hatch](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-cross-hatch.png?raw=true)
@ -333,3 +447,42 @@ Similar to [Gyroid](#gyroid) but with linear patterns, creating weak points at i
- **Material/Time (Higher better):** Normal
![infill-top-quarter-cubic](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-quarter-cubic.png?raw=true)
### Zig Zag
Similar to [rectilinear](#rectilinear) with consistent pattern between layers. Allows you to add a Symmetric infil 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
![infill-top-zig-zag](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-zig-zag.png?raw=true)
### Coss Zag
Similar to [Zig Zag](#zig-zag) but displacing each lager with Infill shift step parammeter.
- **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
![infill-top-coss-zag](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-coss-zag.png?raw=true)
### Locked Zag
Adaptative 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
![infill-top-locked-zag](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/infill-top-locked-zag.png?raw=true)

View file

@ -0,0 +1,19 @@
# Top and Bottom Shells
Controls how the top and bottom solid layers (shells) are generated in the print.
- **Shells:** 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.
- **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.
- **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.
- **Surface Pattern:** This setting controls the pattern of the surface. The options are:
- **Concentric:** Fills the surface with inward-tracing loops that follow the outer contour.
- **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:** The surface is printed with rectilinear lines that are aligned with the infill pattern.
- **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:** Generates concentric arc-like lines, promoting uniform material spread.
- **Octagram Spiral:** Creates an octagonal spiral for decorative, esthetic surfaces.
> [!NOTE]
> Some patterns may have further information in its [Sparse Infill Pattern Wiki](strength_settings_infill#sparse-infill-pattern)

View file

@ -2137,15 +2137,15 @@ void TabPrint::build()
optgroup->append_single_option_line("ironing_angle");
optgroup = page->new_optgroup(L("Wall generator"), L"param_wall_generator");
optgroup->append_single_option_line("wall_generator", "quality_settings_wall-generator");
optgroup->append_single_option_line("wall_transition_angle");
optgroup->append_single_option_line("wall_transition_filter_deviation");
optgroup->append_single_option_line("wall_transition_length");
optgroup->append_single_option_line("wall_distribution_count");
optgroup->append_single_option_line("initial_layer_min_bead_width");
optgroup->append_single_option_line("min_bead_width");
optgroup->append_single_option_line("min_feature_size");
optgroup->append_single_option_line("min_length_factor");
optgroup->append_single_option_line("wall_generator", "quality_settings_wall_generator");
optgroup->append_single_option_line("wall_transition_angle", "quality_settings_wall_generator#arachne");
optgroup->append_single_option_line("wall_transition_filter_deviation", "quality_settings_wall_generator#arachne");
optgroup->append_single_option_line("wall_transition_length", "quality_settings_wall_generator#arachne");
optgroup->append_single_option_line("wall_distribution_count", "quality_settings_wall_generator#arachne");
optgroup->append_single_option_line("initial_layer_min_bead_width", "quality_settings_wall_generator#arachne");
optgroup->append_single_option_line("min_bead_width", "quality_settings_wall_generator#arachne");
optgroup->append_single_option_line("min_feature_size", "quality_settings_wall_generator#arachne");
optgroup->append_single_option_line("min_length_factor", "quality_settings_wall_generator#arachne");
optgroup = page->new_optgroup(L("Walls and surfaces"), L"param_wall_surface");
optgroup->append_single_option_line("wall_sequence");
@ -2195,41 +2195,41 @@ void TabPrint::build()
optgroup->append_single_option_line("detect_thin_wall");
optgroup = page->new_optgroup(L("Top/bottom shells"), L"param_shell");
optgroup->append_single_option_line("top_shell_layers");
optgroup->append_single_option_line("top_shell_thickness");
optgroup->append_single_option_line("top_surface_density");
optgroup->append_single_option_line("top_surface_pattern");
optgroup->append_single_option_line("bottom_shell_layers");
optgroup->append_single_option_line("bottom_shell_thickness");
optgroup->append_single_option_line("bottom_surface_density");
optgroup->append_single_option_line("bottom_surface_pattern");
optgroup->append_single_option_line("top_bottom_infill_wall_overlap");
optgroup->append_single_option_line("top_shell_layers", "strength_top-bottom_shells");
optgroup->append_single_option_line("top_shell_thickness", "strength_top-bottom_shells");
optgroup->append_single_option_line("top_surface_density", "strength_top-bottom_shells");
optgroup->append_single_option_line("top_surface_pattern", "strength_top-bottom_shells");
optgroup->append_single_option_line("bottom_shell_layers", "strength_top-bottom_shells");
optgroup->append_single_option_line("bottom_shell_thickness", "strength_top-bottom_shells");
optgroup->append_single_option_line("bottom_surface_density", "strength_top-bottom_shells");
optgroup->append_single_option_line("bottom_surface_pattern", "strength_top-bottom_shells");
optgroup->append_single_option_line("top_bottom_infill_wall_overlap", "strength_top-bottom_shells");
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("sparse_infill_pattern", "strength_settings_infill#sparse-infill-pattern");
optgroup->append_single_option_line("infill_direction");
optgroup->append_single_option_line("sparse_infill_rotate_template");
optgroup->append_single_option_line("skin_infill_density");
optgroup->append_single_option_line("skeleton_infill_density");
optgroup->append_single_option_line("infill_lock_depth");
optgroup->append_single_option_line("skin_infill_depth");
optgroup->append_single_option_line("skin_infill_line_width", "parameter/line-width");
optgroup->append_single_option_line("skeleton_infill_line_width", "parameter/line-width");
optgroup->append_single_option_line("symmetric_infill_y_axis");
optgroup->append_single_option_line("infill_shift_step");
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("lattice_angle_1");
optgroup->append_single_option_line("lattice_angle_2");
optgroup->append_single_option_line("infill_overhang_angle");
optgroup->append_single_option_line("infill_anchor_max");
optgroup->append_single_option_line("infill_anchor");
optgroup->append_single_option_line("internal_solid_infill_pattern");
optgroup->append_single_option_line("solid_infill_direction");
optgroup->append_single_option_line("solid_infill_rotate_template");
optgroup->append_single_option_line("gap_fill_target");
optgroup->append_single_option_line("filter_out_gap_fill");
optgroup->append_single_option_line("infill_wall_overlap");
optgroup->append_single_option_line("lattice_angle_1", "strength_settings_infill#2d-lattice");
optgroup->append_single_option_line("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("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("gap_fill_target", "strength_settings_infill#apply-gap-fill");
optgroup->append_single_option_line("filter_out_gap_fill", "strength_settings_infill");
optgroup->append_single_option_line("infill_wall_overlap", "strength_settings_infill#infill-wall-overlap");
optgroup = page->new_optgroup(L("Advanced"), L"param_advanced");
optgroup->append_single_option_line("bridge_angle");
@ -2302,9 +2302,9 @@ void TabPrint::build()
optgroup->append_single_option_line("default_junction_deviation");
optgroup = page->new_optgroup(L("Advanced"), L"param_advanced", 15);
optgroup->append_single_option_line("max_volumetric_extrusion_rate_slope", "speed_extrusion_rate_smoothing");
optgroup->append_single_option_line("max_volumetric_extrusion_rate_slope_segment_length", "speed_extrusion_rate_smoothing");
optgroup->append_single_option_line("extrusion_rate_smoothing_external_perimeter_only", "speed_extrusion_rate_smoothing");
optgroup->append_single_option_line("max_volumetric_extrusion_rate_slope", "speed_settings_extrusion_rate_smoothing");
optgroup->append_single_option_line("max_volumetric_extrusion_rate_slope_segment_length", "speed_settings_extrusion_rate_smoothing");
optgroup->append_single_option_line("extrusion_rate_smoothing_external_perimeter_only", "speed_settings_extrusion_rate_smoothing");
page = add_options_page(L("Support"), "custom-gcode_support"); // ORCA: icon only visible on placeholders
optgroup = page->new_optgroup(L("Support"), L"param_support");