Wiki Update 10 - Quality (#10301)

* Update quality_settings_wall_generator.md

* Expand layer height wiki

* Rework height

* Update quality_settings_line_width.md

* Update quality_settings_precision.md

* Update quality_settings_seam.md

* Minor linking

* Update quality_settings_wall_and_surfaces.md

* Reverse on odd improved

* Extra perimeter on overhangs

* Images fixes

* Update speed_settings_jerk_xy.md

* quality_settings_ironing

* Update quality_settings_seam.md

* Update quality_settings_bridging.md

* Remove precision sub-section links

* Add icons to settings links in Home documentation

* Moved fuzzy skin

Remove Fuzzy Skin section from special mode settings to it's own place.

* Fix image adaptive-pressure-advance-calib.md

* Update image references

Standardized image alt text and filenames for consistency and clarity.

* Update image alt text and file references in docs

Standardized and clarified image alt text in Calibration.md for easy md to html conversion.

* Update seam

* Base scarf joint seam

* Update quality_settings_seam.md

* Update quality_settings_wall_generator.md

* Update quality_settings_overhangs.md

* Fuzzy Skin Generator Mode Wiki

Co-Authored-By: π² <189209038+pi-squared-studio@users.noreply.github.com>

* Infill Templates Wiki

Co-Authored-By: π² <189209038+pi-squared-studio@users.noreply.github.com>

* basic md formating

* Update infill and advanced strength settings docs

* Moved + Linked Metalanguage

* image preview (change befor ready)

* Update strength_settings_infill_rotation_template_metalanguage.md

* reorder image description

* Some credits

* Spelling infill rotation metalanguage docs

* Crop metalanguage fills

* fix image reference

* Update strength_settings_infill_rotation_template_metalanguage.md

* Update strength_settings_infill_rotation_template_metalanguage.md

* standard characters images

* flow rate update division

* Update Tab.cpp

* Reworking flow rate calibration guide

* Update strength_settings_top_bottom_shells.md

* Flow Calib WIP

---------

Co-authored-by: π² <189209038+pi-squared-studio@users.noreply.github.com>
Co-authored-by: pi-squared-studio <pi.squared.studio@gmail.com>
This commit is contained in:
Ian Bassi
2025-08-10 22:51:49 -03:00
committed by GitHub
parent 202875a4bb
commit 9ae20024aa
90 changed files with 855 additions and 294 deletions

View File

@@ -21,7 +21,7 @@ Orca slicer is a powerful open source slicer for FFF (FDM) 3D Printers. This wik
## Printer Settings
![printer-preset](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/GUI/printer-preset.png)
![printer-preset](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/GUI/printer-preset.png?raw=true)
- [Air filtration/Exhaust fan handling](air-filtration)
- [Auxiliary fan handling](Auxiliary-fan)
@@ -31,7 +31,7 @@ Orca slicer is a powerful open source slicer for FFF (FDM) 3D Printers. This wik
## Material Settings
![filament-preset](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/GUI/filament-preset.png)
![filament-preset](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/GUI/filament-preset.png?raw=true)
- [Single Extruder Multimaterial](semm)
- [Pellet Printers (pellet flow coefficient)](pellet-flow-coefficient)
@@ -44,7 +44,7 @@ First steps to prepare your model/s for printing.
## Process Settings
![process-preset](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/GUI/process-preset.png)
![process-preset](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/GUI/process-preset.png?raw=true)
The below sections provide a detailed settings explanation as well as tips and tricks in setting these for optimal print results.
@@ -52,78 +52,70 @@ The below sections provide a detailed settings explanation as well as tips and t
![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)
- [Precision](quality_settings_precision)
- [Precise Wall](quality_settings_precision#precise-wall)
- [Precise Z Height](quality_settings_precision#precise-z-height)
- [Slice gap closing radius](quality_settings_precision#slice-gap-closing-radius)
- [Resolution](quality_settings_precision#resolution)
- [Arc fitting](quality_settings_precision#arc-fitting)
- [X-Y Compensation](quality_settings_precision#x-y-compensation)
- [Elephant foot compensation](quality_settings_precision#elephant-foot-compensation)
- [Precise wall](quality_settings_precision#precise-wall)
- [Precise Z Height](quality_settings_precision#precise-z-height)
- [Polyholes](quality_settings_precision#polyholes)
- [Ironing](quality_settings_ironing)
- [Wall generator](quality_settings_wall_generator)
- [Walls and surfaces](quality_settings_wall_and_surfaces)
- [Bridging](quality_settings_bridging)
- [Overhangs](quality_settings_overhangs)
- ![param_layer_height](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_layer_height.svg?raw=true) [Layer Height Settings](quality_settings_layer_height)
- ![param_line_width](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_line_width.svg?raw=true) [Line Width Settings](quality_settings_line_width)
- ![param_seam](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_seam.svg?raw=true) [Seam Settings](quality_settings_seam)
- ![param_precision](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_precision.svg?raw=true) [Precision](quality_settings_precision)
- ![param_ironing](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_ironing.svg?raw=true) [Ironing](quality_settings_ironing)
- ![param_wall_generator](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_wall_generator.svg?raw=true) [Wall generator](quality_settings_wall_generator)
- ![param_wall_surface](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_wall_surface.svg?raw=true) [Walls and surfaces](quality_settings_wall_and_surfaces)
- ![param_bridge](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_bridge.svg?raw=true) [Bridging](quality_settings_bridging)
- ![param_overhang](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_overhang.svg?raw=true) [Overhangs](quality_settings_overhangs)
### Strength Settings
![process-strength](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/GUI/process/process-strength.png?raw=true)
- [Walls](strength_settings_walls)
- [Top and Bottom Shells](strength_settings_top_bottom_shells)
- [Infill](strength_settings_infill)
- [Advanced](strength_settings_advanced)
- ![param_wall](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_wall.svg?raw=true) [Walls](strength_settings_walls)
- ![param_shell](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_shell.svg?raw=true) [Top and Bottom Shells](strength_settings_top_bottom_shells)
- ![param_infill](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_infill.svg?raw=true) [Infill](strength_settings_infill)
- ![param_gcode](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_gcode.svg?raw=true) [Template Metalanguage for infill rotation](strength_settings_infill_rotation_template_metalanguage)
- ![param_advanced](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_advanced.svg?raw=true) [Advanced](strength_settings_advanced)
### Speed Settings
![process-speed](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/GUI/process/process-speed.png?raw=true)
- [Initial Layer Speed](speed_settings_initial_layer_speed)
- [Other Layers Speed](speed_settings_other_layers_speed)
- [Overhang Speed](speed_settings_overhang_speed)
- [Travel Speed](speed_settings_travel)
- [Acceleration](speed_settings_acceleration)
- [Jerk (XY)](speed_settings_jerk_xy)
- [Advanced / Extrusion rate smoothing](speed_settings_advanced)
- ![param_speed_first](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_speed_first.svg?raw=true) [Initial Layer Speed](speed_settings_initial_layer_speed)
- ![param_speed](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_speed.svg?raw=true) [Other Layers Speed](speed_settings_other_layers_speed)
- ![param_overhang_speed](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_overhang_speed.svg?raw=true) [Overhang Speed](speed_settings_overhang_speed)
- ![param_travel_speed](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_travel_speed.svg?raw=true) [Travel Speed](speed_settings_travel)
- ![param_acceleration](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_acceleration.svg?raw=true) [Acceleration](speed_settings_acceleration)
- ![param_jerk](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_jerk.svg?raw=true) [Jerk (XY)](speed_settings_jerk_xy)
- ![param_advanced](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_advanced.svg?raw=true) [Advanced / Extrusion rate smoothing](speed_settings_advanced)
### Support Settings
![process-support](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/GUI/process/process-support.png?raw=true)
- [Support](support_settings_support)
- [Raft](support_settings_raft)
- [Support Filament](support_settings_filament)
- [Support Ironing](support_settings_ironing)
- [Advanced](support_settings_advanced)
- [Tree Supports](support_settings_tree)
- ![param_support](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_support.svg?raw=true) [Support](support_settings_support)
- ![param_raft](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_raft.svg?raw=true) [Raft](support_settings_raft)
- ![param_support_filament](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_support_filament.svg?raw=true) [Support Filament](support_settings_filament)
- ![param_ironing](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_ironing.svg?raw=true) [Support Ironing](support_settings_ironing)
- ![param_advanced](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_advanced.svg?raw=true) [Advanced](support_settings_advanced)
- ![param_support_tree](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_support_tree.svg?raw=true) [Tree Supports](support_settings_tree)
### Multimaterial Settings
![process-multimaterial](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/GUI/process/process-multimaterial.png?raw=true)
- [Prime Tower](multimaterial_settings_prime_tower)
- [Filament for Features](multimaterial_settings_filament_for_features)
- [Ooze Prevention](multimaterial_settings_ooze_prevention)
- [Flush Options](multimaterial_settings_flush_options)
- [Advanced](multimaterial_settings_advanced)
- ![param_tower](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_tower.svg?raw=true) [Prime Tower](multimaterial_settings_prime_tower)
- ![param_filament_for_features](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_filament_for_features.svg?raw=true) [Filament for Features](multimaterial_settings_filament_for_features)
- ![param_ooze_prevention](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_ooze_prevention.svg?raw=true) [Ooze Prevention](multimaterial_settings_ooze_prevention)
- ![param_flush](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_flush.svg?raw=true) [Flush Options](multimaterial_settings_flush_options)
- ![param_advanced](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_advanced.svg?raw=true) [Advanced](multimaterial_settings_advanced)
### Others Settings
![process-others](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/GUI/process/process-others.png?raw=true)
- [Skirt](others_settings_skirt)
- [Brim](others_settings_brim)
- [Special Mode](others_settings_special_mode)
- [G-Code Output](others_settings_g_code_output)
- [Post Processing Scripts](others_settings_post_processing_scripts)
- [Notes](others_settings_notes)
- ![param_skirt](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_skirt.svg?raw=true) [Skirt](others_settings_skirt)
- ![param_adhension](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_adhension.svg?raw=true) [Brim](others_settings_brim)
- ![param_special](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_special.svg?raw=true) [Special Mode](others_settings_special_mode)
- ![fuzzy_skin](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/fuzzy_skin.svg?raw=true) [Fuzzy Skin](others_settings_fuzzy_skin)
- ![param_gcode](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_gcode.svg?raw=true) [G-Code Output](others_settings_g_code_output)
- ![param_gcode](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/param_gcode.svg?raw=true) [Post Processing Scripts](others_settings_post_processing_scripts)
- ![note](https://github.com/SoftFever/OrcaSlicer/blob/main/resources/images/note.svg?raw=true) [Notes](others_settings_notes)
## Calibrations

View File

@@ -6,7 +6,7 @@ It covers key aspects such as flow rate, pressure advance, temperature towers, r
To access the calibration features, you can find them in the **Calibration** section of the Orca Slicer interface.
![Calibration Button](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/calibration.png?raw=true)
![calibration](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/calibration.png?raw=true)
> [!IMPORTANT]
> After completing the calibration process, remember to create a new project in order to exit the calibration mode.
@@ -15,43 +15,43 @@ The recommended order for calibration is as follows:
1. **[Temperature](temp-calib):** Start by calibrating the temperature of the nozzle and the bed. This is crucial as it affects the viscosity of the filament, which in turn influences how well it flows through the nozzle and adheres to the print bed.
<img src="https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Temp-calib/temp-tower.jpg?raw=true" alt="temp-tower" height="200">
<img alt="temp-tower" src="https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Temp-calib/temp-tower.jpg?raw=true" height="200">
2. **[Flow](flow-rate-calib):** Calibrate the flow rate to ensure that the correct amount of filament is being extruded. This is important for achieving accurate dimensions and good layer adhesion.
<img src="https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Flow-Rate/flowrate-6.jpg?raw=true" alt="flowrate-6" height="200">
<img alt="flowcalibration-example" src="https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Flow-Rate/flowcalibration-example.png?raw=true" height="200">
3. **[Pressure Advance](pressure-advance-calib):** Calibrate the pressure advance settings to improve print quality and reduce artifacts caused by pressure fluctuations in the nozzle.
- **[Adaptive 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/pa-tower.jpg?raw=true" alt="pa-tower" height="200">
<img alt="pa-tower" src="https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/pa/pa-tower.jpg?raw=true" height="200">
4. **[Retraction](retraction-calib):** Calibrate the retraction settings to minimize stringing and improve print quality. Doing this after Flow and Pressure Advance calibration is recommended, as it ensures that the printer is already set up for optimal extrusion.
<img src="https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/retraction/retraction_test_print.jpg?raw=true" alt="Retraction" height="200">
<img alt="retraction_test_print" src="https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/retraction/retraction_test_print.jpg?raw=true" height="200">
5. **[Max Volumetric Speed](volumetric-speed-calib):** Calibrate the maximum volumetric speed of the filament. This is important for ensuring that the printer can handle the flow rate of the filament without causing issues such as under-extrusion or over-extrusion.
<img src="https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/MVF/mvf_measurement_point.jpg?raw=true" alt="Max_Volumetric_Speed" height="200">
<img alt="mvf_measurement_point" src="https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/MVF/mvf_measurement_point.jpg?raw=true" height="200">
6. **[Cornering](cornering-calib):** Calibrate the Jerk/Junction Deviation settings to improve print quality and reduce artifacts caused by sharp corners and changes in direction.
<img src="https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/JunctionDeviation/jd_second_print_measure.jpg?raw=true" alt="Cornering" height="200">
<img alt="jd_second_print_measure" src="https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/JunctionDeviation/jd_second_print_measure.jpg?raw=true" height="200">
7. **[Input Shaping](input-shaping-calib):** This is an advanced calibration technique that can be used to reduce ringing and improve print quality by compensating for mechanical vibrations in the printer.
<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">
<img alt="IS_damp_marlin_print_measure" src="https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/InputShaping/IS_damp_marlin_print_measure.jpg?raw=true" height="200">
8. **[VFA](vfa-calib):** A VFA speed test is available to find resonance speeds.
<img src="https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/vfa/vfa_test_print.jpg?raw=true" alt="vfa_test_print" height="200">
<img alt="vfa_test_print" src="https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/vfa/vfa_test_print.jpg?raw=true" height="200">
---
**[Tolerance](tolerance-calib):** Calibrate the tolerances of your printer to ensure that it can accurately reproduce the dimensions of the model being printed. This is important for achieving a good fit between parts and for ensuring that the final print meets the desired specifications.
<img src="https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Tolerance/OrcaToleranceTes_m6.jpg?raw=true" alt="Tolerance" height="200">
<img alt="OrcaToleranceTes_m6" src="https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Tolerance/OrcaToleranceTes_m6.jpg?raw=true" height="200">
---

View File

@@ -145,7 +145,7 @@ It is recommended that the PA step is set to a small value, to allow you to make
PA pattern calibration configuration window have been changed to simplify test setup. Now all is needed is to fill list of accelerations and speeds into relevant fields of the calibration window:
![pa-pattern-batch](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/pa/pa-pattern-batch.png?raw=true?raw=true)
![pa-pattern-batch](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/pa/pa-pattern-batch.png?raw=true)
Test patterns generated for each acceleration-speed pair and all parameters are set accordingly. No additional actions needed from user side. Just slice and print all plates generated.

View File

@@ -72,3 +72,9 @@ JD = 0,4 \cdot \frac{\text{Jerk}^2}{\text{Accel.}}
```cpp
//#define CLASSIC_JERK
```
## Credits
- **Junction Deviation Machine Limit** [@RF47](https://github.com/RF47)
- **Junction Deviation Calibration** [@IanAlexis](https://github.com/IanAlexis)
- **Fast tower model** [@RF47](https://github.com/RF47)

View File

@@ -1,16 +1,42 @@
# Flow rate
The Flow Ratio determines how much filament is extruded and plays a key role in achieving high-quality prints. A properly calibrated flow ratio ensures consistent layer adhesion and accurate dimensions. If the flow ratio is too low, under-extrusion may occur, leading to gaps, weak layers, and poor structural integrity. On the other hand, a flow ratio that is too high can cause over-extrusion, resulting in excess material, rough surfaces, and dimensional inaccuracies.
The Flow Ratio determines how much filament is extruded and plays a key role in achieving high-quality prints. A properly calibrated flow ratio ensures consistent layer adhesion and accurate dimensions.
- Too **low** flow ratio will cause under-extrusion, leading to gaps, weak layers, and poor structural integrity.
- Too **high** flow ratio can cause over-extrusion, resulting in excess material, rough surfaces, and dimensional inaccuracies.
- [Calibration Types](#calibration-types)
- [OrcaSlicer \> 2.3.0 Archimedean chords + YOLO (Recommended)](#orcaslicer--230-archimedean-chords--yolo-recommended)
- [OrcaSlicer \<= 2.3.0 Monotonic Line + 2-Pass Calibration](#orcaslicer--230-monotonic-line--2-pass-calibration)
- [Credits](#credits)
> [!WARNING]
> **Bambulab Printers:** make sure you do not select the 'Flow calibration' option.
> ![flow-rate-Bambulab-uncheck](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Flow-Rate/flowrate-Bambulab-uncheck.png?raw=true)
> ![flowrate-Bambulab-uncheck](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Flow-Rate/flowrate-Bambulab-uncheck.png?raw=true)
> [!IMPORTANT]
> PASS 1 and PASS 2 follow the older flow ratio formula `FlowRatio_old*(100 + modifier)/100`.
> YOLO (Recommended) and YOLO (perfectionist version) use a new system that is very simple `FlowRatio_old±modifier`.
> [!NOTE]
> After v2.3.0, the [Top Pattern](strength_settings_top_bottom_shells#surface-pattern) changed to [Archimedean chords](strength_settings_infill#archimedean-chords) from Monotonic Line.
![flow-calibration](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Flow-Rate/flow-calibration.gif?raw=true)
## Calibration Types
- **2-Pass Calibration:** Old method using two passes to determine the optimal flow rate using the formula `FlowRatio_old*(100 + modifier)/100`.
- **YOLO:** Simplified method that adjusts the flow rate in a single pass using the formula `FlowRatio_old±modifier`.
- **Recommended:** Calibration range `[-0.05, +0.05]`, flow rate step is `0.01`.
- **Perfectionist Version:** Calibration range `[-0.04, +0.035]`, flow rate step is `0.005`.
### OrcaSlicer > 2.3.0 Archimedean chords + YOLO (Recommended)
This example demonstrates the use of [Archimedean chords](strength_settings_infill#archimedean-chords) for flow rate calibration using the YOLO (Recommended) method.
WIP...
![flowcalibration-yolo](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Flow-Rate/flowcalibration-yolo.gif?raw=true)
### OrcaSlicer <= 2.3.0 Monotonic Line + 2-Pass Calibration
This example demonstrates the use of Monotonic Line for flow rate calibration using the 2-Pass Calibration method.
![flow-calibration-monotonic](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Flow-Rate/monotonic-flow-rate/flow-calibration-monotonic.gif?raw=true)
Calibrating the flow rate involves a two-step process.
@@ -18,19 +44,23 @@ Calibrating the flow rate involves a two-step process.
2. Select `Pass 1` in the `Calibration` menu
3. A new project consisting of nine blocks will be created, each with a different flow rate modifier. Slice and print the project.
4. Examine the blocks and determine which one has the smoothest top surface.
![flowrate-pass1](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Flow-Rate/flowrate-pass1.jpg?raw=true)
![flowrate-pass1-monotonic](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Flow-Rate/monotonic-flow-rate/flowrate-pass1-monotonic.jpg?raw=true)
![flowrate-0-5](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Flow-Rate/flowrate-0-5.jpg?raw=true)
![flowrate-0-5-monotonic](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Flow-Rate/monotonic-flow-rate/flowrate-0-5-monotonic.jpg?raw=true)
5. Update the flow ratio in the filament settings using the following equation: `FlowRatio_old*(100 + modifier)/100`. If your previous flow ratio was `0.98` and you selected the block with a flow rate modifier of `+5`, the new value should be calculated as follows: `0.98x(100+5)/100 = 1.029`. **Remember** to save the filament profile.
6. Perform the `Pass 2` calibration. This process is similar to `Pass 1`, but a new project with ten blocks will be generated. The flow rate modifiers for this project will range from `-9 to 0`.
7. Repeat steps 4. and 5. In this case, if your previous flow ratio was 1.029 and you selected the block with a flow rate modifier of -6, the new value should be calculated as follows: `1.029x(100-6)/100 = 0.96726`. **Remember** to save the filament profile.
![flowrate-pass2](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Flow-Rate/flowrate-pass2.jpg?raw=true)
![flowrate-pass2-monotonic](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Flow-Rate/monotonic-flow-rate/flowrate-pass2-monotonic.jpg?raw=true)
![flowrate-6](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Flow-Rate/flowrate-6.jpg?raw=true)
![flowrate-6-monotonic](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Flow-Rate/monotonic-flow-rate/flowrate-6-monotonic.jpg?raw=true)
![flowcalibration_update_flowrate](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Flow-Rate/flowcalibration_update_flowrate.png?raw=true)
> [!TIP]
> @ItsDeidara has made a html to help with the calculation. Check it out if those equations give you a headache [here](https://github.com/ItsDeidara/Orca-Slicer-Assistant).
## Credits
- **[Archimedean Chords Idea](https://makerworld.com/es/models/189543-improved-flow-ratio-calibration-v3#profileId-209504)**: [Jimcorner](https://makerworld.com/es/@jimcorner)

View File

@@ -7,6 +7,7 @@ During high-speed movements, vibrations can cause a phenomenon called "ringing,"
- [Marlin](#marlin)
- [ZV Input Shaping](#zv-input-shaping)
- [Fixed-Time Motion](#fixed-time-motion)
- [Credits](#credits)
## Klipper
@@ -129,3 +130,8 @@ ZV Input Shaping introduces an anti-vibration signal into the stepper motion for
### Fixed-Time Motion
TODO: This calibration test is currently under development. See the [Marlin documentation](https://marlinfw.org/docs/gcode/M493.html) for more information.
## Credits
- **Input Shaping Calibration:** [@IanAlexis](https://github.com/IanAlexis) and [@RF47](https://github.com/RF47)
- **Klipper testing:** [@ShaneDelmore](https://github.com/ShaneDelmore)

View File

@@ -13,7 +13,7 @@ Orca Slicer includes three approaches for calibrating the pressure advance value
> [!WARNING]
> **Bambulab Printers:** make sure you do not select the 'Flow calibration' option.
> ![flow-rate-Bambulab-uncheck](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Flow-Rate/flowrate-Bambulab-uncheck.png?raw=true)
> ![flowrate-Bambulab-uncheck](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Flow-Rate/flowrate-Bambulab-uncheck.png?raw=true)
## Line method
@@ -41,20 +41,20 @@ The pattern method is adapted from [Andrew Ellis' pattern method generator](http
Test configuration window allow user to generate one or more tests in a single projects. Multiple tests will be placed on each plate with extra plates added if needed.
1. Single test \
![PA pattern single test](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/pa/pa-pattern-single.png?raw=true)
![pa-pattern-single](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/pa/pa-pattern-single.png?raw=true)
2. Batch mode testing (multiple tests on a single plate) \
![PA pattern batch mode](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/pa/pa-pattern-batch.png?raw=true)
![pa-pattern-batch](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/pa/pa-pattern-batch.png?raw=true)
Once test generated, one or more small rectangular prisms could be found on the plate, one for each test case. This object serves a few purposes:
1. The test pattern itself is added in as custom G-Code at each layer, same as you could do by hand actually. The rectangular prism gives us the layers in which to insert that G-Code. This also means that **you'll see the full test pattern when you move to the Preview pane:**
![PA pattern batch mode plater](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/pa/pa-pattern-batch-plater.png?raw=true)
![pa-pattern-batch-plater](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/pa/pa-pattern-batch-plater.png?raw=true)
1. The prism acts as a handle, enabling you to move the test pattern wherever you'd like on the plate by moving the prism
2. Each test object is pre-configured with target parameters which are reflected in the objects name. However, test parameters may be adjusted for each prism individually by referring to the object list pane:
![PA pattern batch mode object list](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/pa/pa-pattern-batch-objects.png?raw=true)
![pa-pattern-batch-objects](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/pa/pa-pattern-batch-objects.png?raw=true)
Next, Ellis' generator provided the ability to adjust specific printer, filament, and print profile settings. You can make these same changes in Orca Slicer by adjusting the settings in the Prepare pane as you would with any other print. When you initiate the calibration test, Ellis' default settings are applied. A few things to note about these settings:

View File

@@ -7,7 +7,7 @@ To correct for these variations, Orca Slicer provides:
- Shrinkage (XY)
![Shrinkage](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Tolerance/FilamentShrinkageCompensation.png?raw=true)
![FilamentShrinkageCompensation](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Tolerance/FilamentShrinkageCompensation.png?raw=true)
- Process Compensation:
@@ -16,13 +16,13 @@ To correct for these variations, Orca Slicer provides:
- Precise wall
- Precise Z height
![Process_Compensation](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Tolerance/QualityPrecision.png?raw=true)
![QualityPrecision](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Tolerance/QualityPrecision.png?raw=true)
## Handy Models
Orca Slicer includes several handy models to help you test and calibrate your printer.
Right-click on your plate in Prepare mode and select "Add Handy Model" to access these models.
![handy-models-list](../images/Handy-Models/handy-models-list.png)
![handy-models-list](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Handy-Models/handy-models-list.png?raw=true)
### Orca Tolerance Test

View File

@@ -163,16 +163,16 @@ Format = `![[filename]](` + Base URL + filename.extension + Raw tag + `)`
#### Examples
- For an image in `doc/images/` named `example.png`:
- For an image in `doc/images/` named `calibration.png`:
```markdown
![example](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/example.png?raw=true)
![calibration](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/calibration.png?raw=true)
```
- For an image in a subdirectory like `doc/images/calibration/pa-example.svg`:
- For an image in a subdirectory like `doc/images/GUI/combobox.png`:
```markdown
![pa-example](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/calibration/pa-example.svg?raw=true)
![combobox](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/GUI/combobox.png?raw=true)
```
> [!IMPORTANT]
@@ -196,11 +196,11 @@ Avoid the resize of images and let the Wiki handle it automatically.
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.
HTML Format = `<img alt="` + filename + `"` + `src="` + Base URL + filename.extension + Raw tag + 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">
<img alt="IS_damp_marlin_print_measure" src="https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/InputShaping/IS_damp_marlin_print_measure.jpg?raw=true" height="200">
```
### Image Cropping and Highlighting

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 784 KiB

View File

Before

Width:  |  Height:  |  Size: 4.4 MiB

After

Width:  |  Height:  |  Size: 4.4 MiB

View File

Before

Width:  |  Height:  |  Size: 213 KiB

After

Width:  |  Height:  |  Size: 213 KiB

View File

Before

Width:  |  Height:  |  Size: 350 KiB

After

Width:  |  Height:  |  Size: 350 KiB

View File

Before

Width:  |  Height:  |  Size: 838 KiB

After

Width:  |  Height:  |  Size: 838 KiB

View File

Before

Width:  |  Height:  |  Size: 329 KiB

After

Width:  |  Height:  |  Size: 329 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 231 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@@ -0,0 +1,121 @@
# Fuzzy Skin
Randomly jitter while printing the wall, so that the surface has a rough look. This setting controls the fuzzy position.
- [Fuzzy Skin Mode](#fuzzy-skin-mode)
- [Contour](#contour)
- [Contour and Hole](#contour-and-hole)
- [All Walls](#all-walls)
- [Fuzzy Skin Generator Mode](#fuzzy-skin-generator-mode)
- [Displacement](#displacement)
- [Extrusion](#extrusion)
- [Combined](#combined)
- [Noise Type](#noise-type)
- [Classic](#classic)
- [Perlin](#perlin)
- [Billow](#billow)
- [Ridged Multifractal](#ridged-multifractal)
- [Voronoi](#voronoi)
- [Point distance](#point-distance)
- [Skin thickness](#skin-thickness)
- [Skin feature size](#skin-feature-size)
- [Skin Noise Octaves](#skin-noise-octaves)
- [Skin Noise Persistence](#skin-noise-persistence)
- [Apply fuzzy skin to first layer](#apply-fuzzy-skin-to-first-layer)
- [Credits](#credits)
## Fuzzy Skin Mode
### Contour
Use "Contour" to apply fuzzy skin only to the outer contour of the model.
### Contour and Hole
Use "Contour and Hole" to apply fuzzy skin to the outer contour and holes of the model. This is useful for models with internal features that you want to highlight.
### All Walls
Use "All Walls" to apply fuzzy skin to external and inner walls of the model.
### Fuzzy Skin Generator Mode
Determines how the fuzzy skin effect will be reproduced:
### Displacement
![Fuzzy-skin-Displacement-mode](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Fuzzy-skin/Fuzzy-skin-Displacement-mode.png?raw=true)
The classic method is when the pattern on the walls is achieved by shifting the printhead perpendicular to the wall.
It gives a predictable result, but decreases the strength entire shells and open the pores inside the walls. It also increases the mechanical stress on the kinematics of the printer. The speed of general printing is slowing down.
### Extrusion
![Fuzzy-skin-Extrusion-mode](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Fuzzy-skin/Fuzzy-skin-Extrusion-mode.png?raw=true)
The fuzzy skin condition is obtained by changing the amount of extruded plastic as the print head moves linearly. There is no extra load on the kinematics, there is no decrease in the printing speed, the pores do not open, but the drawing turns out to be smoother by a factor of 2. It is suitable for creating "loose" walls to reduce internal stress into extruded plastic, or masking printing defects on the side walls - a matte effect.
> [!CAUTION]
> The "Fuzzy skin thicknesses" parameter cannot be more than about 70%-125% (selected individually for different conditions) of the nozzle diameter! This is a complex condition that also depends on the height of the layer, and determines how thin the lines can be extruded.
> [Arachne](quality_settings_wall_generator#arachne) wall generator mode should also be enabled.
### Combined
![Fuzzy-skin-Combined-mode](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Fuzzy-skin/Fuzzy-skin-Combined-mode.png?raw=true)
This is a combination of Displacement and Extrusion modes. The clarity of the drawing is the same in the classic mode, but the walls remain strong and tight. The load on the kinematics is 2 times lower. The printing speed is faster than in Displacement mode, but the elapsed time will still be longer.
> [!WARNING]
> The limits on line thickness are the same as in the Extrusion mode.
## Noise Type
Noise type to use for fuzzy skin generation.
### Classic
Classic uniform random noise.
### Perlin
Perlin noise, which gives a more consistent texture.
### Billow
Billow noise is similar to Perlin noise, but has a clumpier appearance. It can create more pronounced features and is often used for natural textures.
### Ridged Multifractal
Ridged noise with sharp, jagged features. Creates marble-like textures.
### Voronoi
Voronoi noise divides the surface into voronoi cells, and displaces each one by a random amount. Creates a patchwork texture.
## Point distance
average distance between the random points introduced on each line segment.
## Skin thickness
The width within which to jitter. It's advised to be below outer wall line width."
## Skin feature size
The base size of the coherent noise features, in mm. Higher values will result in larger features.
## Skin Noise Octaves
The number of octaves of coherent noise to use. Higher values increase the detail of the noise, but also increase computation time.
## Skin Noise Persistence
The decay rate for higher octaves of the coherent noise. Lower values will result in smoother noise.
## Apply fuzzy skin to first layer
Whether to apply fuzzy skin on the first layer.
## Credits
- **Generator Mode author:** [@pi-squared-studio](https://github.com/pi-squared-studio).

View File

@@ -14,23 +14,6 @@
- [Spiral starting flow ratio](#spiral-starting-flow-ratio)
- [Spiral finishing flow ratio](#spiral-finishing-flow-ratio)
- [Timelapse](#timelapse)
- [Fuzzy Skin](#fuzzy-skin)
- [Fuzzy Skin Mode](#fuzzy-skin-mode)
- [Contour](#contour)
- [Contour and Hole](#contour-and-hole)
- [All Walls](#all-walls)
- [Noise Type](#noise-type)
- [Classic](#classic)
- [Perlin](#perlin)
- [Billow](#billow)
- [Ridged Multifractal](#ridged-multifractal)
- [Voronoi](#voronoi)
- [Point distance](#point-distance)
- [Skin thickness](#skin-thickness)
- [Skin feature size](#skin-feature-size)
- [Skin Noise Octaves](#skin-noise-octaves)
- [Skin Noise Persistence](#skin-noise-persistence)
- [Apply fuzzy skin to first layer](#apply-fuzzy-skin-to-first-layer)
## Slicing Mode
@@ -90,69 +73,3 @@ Sets the finishing flow ratio while ending the spiral. Normally the spiral trans
## Timelapse
WIP...
## Fuzzy Skin
Randomly jitter while printing the wall, so that the surface has a rough look. This setting controls the fuzzy position.
### Fuzzy Skin Mode
#### Contour
Use "Contour" to apply fuzzy skin only to the outer contour of the model.
#### Contour and Hole
Use "Contour and Hole" to apply fuzzy skin to the outer contour and holes of the model. This is useful for models with internal features that you want to highlight.
#### All Walls
Use "All Walls" to apply fuzzy skin to external and inner walls of the model.
### Noise Type
Noise type to use for fuzzy skin generation.
#### Classic
Classic uniform random noise.
#### Perlin
Perlin noise, which gives a more consistent texture.
#### Billow
Billow noise is similar to Perlin noise, but has a clumpier appearance. It can create more pronounced features and is often used for natural textures.
#### Ridged Multifractal
Ridged noise with sharp, jagged features. Creates marble-like textures.
#### Voronoi
Voronoi noise divides the surface into voronoi cells, and displaces each one by a random amount. Creates a patchwork texture.
### Point distance
average distance between the random points introduced on each line segment.
### Skin thickness
The width within which to jitter. It's advised to be below outer wall line width."
### Skin feature size
The base size of the coherent noise features, in mm. Higher values will result in larger features.
### Skin Noise Octaves
The number of octaves of coherent noise to use. Higher values increase the detail of the noise, but also increase computation time.
### Skin Noise Persistence
The decay rate for higher octaves of the coherent noise. Lower values will result in smoother noise.
### Apply fuzzy skin to first layer
Whether to apply fuzzy skin on the first layer.

View File

@@ -11,34 +11,36 @@
## Flow ratio
Decrease this value slightly (for example 0.9) to reduce the amount of material for bridge, to improve sag.
Decrease this value slightly (for example 0.9) to reduce the amount of material for bridge, to improve sag.
The actual bridge flow used is calculated by multiplying this value with the filament flow ratio, and if set, the object's flow ratio.
## Bridge density
This value governs the thickness of the bridge layer. This is the first layer over sparse infill. Decrease this value slightly (for example 0.9) to improve surface quality over sparse infill.
The actual internal bridge flow used is calculated by multiplying this value with the bridge flow ratio, the filament flow ratio, and if set, the object's flow ratio.
This value governs the thickness of the bridge layer. This is the first layer over sparse infill. Decrease this value slightly (for example 0.9) to improve surface quality over sparse infill.
The actual internal bridge flow used is calculated by multiplying this value with the [bridge flow ratio](#flow-ratio), the filament flow ratio, and if set, the object's flow ratio.
## Thick bridges
When enabled, thick bridges increase the reliability and strength of bridges, allowing you to span longer distances. However, this may result in a rougher surface finish. Disabling this option can improve the visual quality of bridges, but is recommended only for shorter spans or when using large nozzle sizes.
![thick-bridges](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/bridging/thick-bridges.png?raw=true)
When enabled, thick bridges increase the reliability and strength of bridges, allowing you to span longer distances. However, this may result in a rougher surface finish.
Disabling this option can improve the visual quality of bridges, but is recommended only for shorter spans or when using large nozzle sizes.
It's recommended to enable this option for internal bridges, as it helps improve the reliability of internal bridges over sparse infill.
## Extra bridge layers
This option enables the generation of an extra bridge layer over internal and/or external bridges.
This option enables the generation of an extra bridge layer over bridges.
Extra bridge layers help improve bridge appearance and reliability, as the solid infill is better supported. This is especially useful in fast printers, where the bridge and solid infill speeds vary greatly. The extra bridge layer results in reduced pillowing on top surfaces, as well as reduced separation of the external bridge layer from its surrounding perimeters.
It is generally recommended to set this to at least 'External bridge only', unless specific issues with the sliced model are found.
It is generally recommended to set this to at least **External bridge only**, unless specific issues with the sliced model are found.
**Options:**
1. **Disabled** - does not generate second bridge layers. This is the default and is set for compatibility purposes.
2. **External bridge only** - generates second bridge layers for external-facing bridges only. Please note that small bridges that are shorter or narrower than the set number of perimeters will be skipped as they would not benefit from a second bridge layer. If generated, the second bridge layer will be extruded parallel to the first bridge layer to reinforce the bridge strength.
3. **Internal bridge only** - generates second bridge layers for internal bridges over sparse infill only. Please note that the internal bridges count towards the top shell layer count of your model. The second internal bridge layer will be extruded as close to perpendicular to the first as possible. If multiple regions in the same island, with varying bridge angles are present, the last region of that island will be selected as the angle reference.
4. **Apply to all** - generates second bridge layers for both internal and external-facing bridges.
- **Disabled** - does not generate second bridge layers. This is the default and is set for compatibility purposes.
- **External bridge only** - generates second bridge layers for external-facing bridges only. Please note that small bridges that are shorter or narrower than the set number of perimeters will be skipped as they would not benefit from a second bridge layer. If generated, the second bridge layer will be extruded parallel to the first bridge layer to reinforce the bridge strength.
- **Internal bridge only** - generates second bridge layers for internal bridges over sparse infill only. Please note that the internal bridges count towards the top shell layer count of your model. The second internal bridge layer will be extruded as close to perpendicular to the first as possible. If multiple regions in the same island, with varying bridge angles are present, the last region of that island will be selected as the angle reference.
- **Apply to all** - generates second bridge layers for both internal and external-facing bridges.
## Filter out small internal bridges
@@ -50,14 +52,20 @@ However, in heavily slanted or curved models, especially where too low a sparse
Enabling limited filtering or no filtering will print internal bridge layer over slightly unsupported internal solid infill. The options below control the sensitivity of the filtering, i.e. they control where internal bridges are created:
1. **Filter** - enables this option. This is the default behavior and works well in most cases.
2. **Limited filtering** - creates internal bridges on heavily slanted surfaces while avoiding unnecessary bridges. This works well for most difficult models.
3. **No filtering** - creates internal bridges on every potential internal overhang. This option is useful for heavily slanted top surface models; however, in most cases, it creates too many unnecessary bridges.
- **Filter:** enables this option. This is the default behavior and works well in most cases.
- **Limited filtering:** creates internal bridges on heavily slanted surfaces while avoiding unnecessary bridges. This works well for most difficult models.
- **No filtering:** creates internal bridges on every potential internal overhang. This option is useful for heavily slanted top surface models; however, in most cases, it creates too many unnecessary bridges.
## Bridge Counterbore hole
This option creates bridges for counterbore holes, allowing them to be printed without support. Available modes include:
When printing counterbore holes, the unsupported area can lead to sagging or poor surface quality. Also the perimeters of the counterbore hole may not be printed correctly, leading to gaps or weak points in the structure.
1. **None**: No bridge is created.
2. **Partially Bridged**: Only a part of the unsupported area will be bridged.
3. **Sacrificial Layer**: A full sacrificial bridge layer is created.
This option creates bridges for counterbore holes, allowing them to be printed without support.
Available modes include:
- **None:** No bridge is created.
![bridge-counterbore-none](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/bridging/bridge-counterbore-none.png?raw=true)
- **Partially Bridged:** Only a part of the unsupported area will be bridged, creating a supporting layer for the next layer.
![bridge-counterbore-partially](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/bridging/bridge-counterbore-partially.gif?raw=true)
- **Sacrificial Layer:** A full sacrificial bridge layer is created. This will close the counterbore hole, allowing the next layer to be printed without sagging. The sacrificial layer must be broken through after printing.
![bridge-counterbore-sacrificial](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/bridging/bridge-counterbore-sacrificial.png?raw=true)

View File

@@ -1,30 +1,50 @@
# Ironing
Ironing is a process used to improve the surface finish of 3D prints by smoothing out the top layers. This is achieved by selectively melting the outermost layer of the print, allowing it to flow and fill in any gaps or imperfections.
Ironing is a process used to improve the surface finish of 3D prints by smoothing out the top layers. This is achieved by printing a second time at the same height, but with a very [low flow rate](#flow) and a specific [pattern](#pattern). The result is a smoother surface that can enhance the aesthetic quality of the print increasing print time.
![ironing](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/ironing/ironing.png?raw=true)
> [!IMPORTANT]
> Ironing can cause filament to move very slowly through the hotend, which increases the risk of heat creep and potential clogging. Monitor your printer during ironing and ensure your hotend cooling is adequate to prevent jams.
## Type
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.
![ironing-top-surfaces](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/ironing/ironing-top-surfaces.png?raw=true)
- **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.
![ironing-topmost-surface](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/ironing/ironing-topmost-surface.png?raw=true)
- **All solid layers**: All solid layers, including [internal solid infill](strength_settings_infill#internal-solid-infill) and [top layers](strength_settings_top_bottom_shells), will be ironed. This can be useful for prints that require a very smooth finish on all solid surfaces but may increase print time significantly.
![ironing-all-solid-layers](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/ironing/ironing-all-solid-layers.png?raw=true)
## Pattern
The pattern that will be used when ironing.
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.
## Flow
The amount of material to extrude during ironing. Relative to flow of normal layer height. Too high value results in overextrusion on the surface.
The amount of material to extrude during ironing.
This % is a percentage of the normal flow rate. A lower value will result in a smoother finish but may not cover the surface completely. A higher value may cover the surface better but can lead to over extrusion or rougher finish.
## Line spacing
The distance between the lines of ironing.
The distance between the lines of ironing.
It's recommended to set this value to be equal to or less than the nozzle diameter for optimal coverage and surface finish.
## Inset
The distance to keep from the edges. A value of 0 sets this to half of the nozzle diameter.
The distance to keep from the edges, which can help prevent over-extrusion at the edges of the surface being ironed.
![ironing-inset](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/ironing/ironing-inset.png?raw=true)
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.
## Angle
The angle ironing is done at. A negative number disables this function and uses the default method.
The angle ironing is done at.
A negative number disables this function and uses the [sparse infill direction](strength_settings_infill#sparse-infill-direction).
## Speed

View File

@@ -1,19 +1,52 @@
# Layer Height
This setting controls how tall each printed layer will be. Typically, a smaller layer height produces a better-looking part with less jagged edges, especially around curved sections (like the top of a sphere). However, lower layer heights mean more layers to print, proportionally increasing print time.
Layer height defines the vertical thickness of each printed layer, playing a crucial role in both print quality and printing speed.
## Tips
Using smaller layer heights increases print time but results in:
1. **The optimal layer height depends on the size of your nozzle**. The set layer height must not be taller than 80% of the diameter of the nozzle, else there is little "squish" between the printed layer and the layer below, leading to weaker parts.
- Smoother surface finishes
- Less noticeable layer lines
- Enhanced detail on curves
- [Better performance on overhangs](#layer-height-overhangs-impacts)
2. While technically there is no limit to how small a layer height one can use, **typically most printers struggle to print reliably with a layer height that is smaller than 20% of the nozzle diameter**. This is because with smaller layer heights, less material is extruded per mm and, at some point, the tolerances of the extruder system result in variations in the flow to such an extent that visible artifacts occur, especially if printing at high speeds.
![layer-height-spheres](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Precision/layer-height-spheres.png?raw=true)
For example, it is not uncommon to see "fish scale" type patterns on external walls when printing with a 0.4 mm nozzle at 0.08 mm layer height at speeds of 200mm/sec+. If you observe that pattern, simply increase your layer height to 30% of your nozzle height and/or slow down the print speed considerably.
- [Quick Reference](#quick-reference)
- [Layer Height Guidelines](#layer-height-guidelines)
- [First Layer Height](#first-layer-height)
- [Layer Height Overhangs Impacts](#layer-height-overhangs-impacts)
## Quick Reference
| Nozzle Size | Min | Max | [First Layer Height](#first-layer-height) |
|-------------|--------|--------|-------------------------------------------|
| 0.2mm | 0.04mm | 0.16mm | 0.12mm |
| 0.3mm | 0.06mm | 0.24mm | 0.18mm |
| 0.4mm | 0.08mm | 0.32mm | 0.25mm |
| 0.5mm | 0.10mm | 0.40mm | 0.30mm |
| 0.6mm | 0.12mm | 0.48mm | 0.35mm |
| 0.8mm | 0.16mm | 0.64mm | 0.45mm |
| 1.0mm | 0.20mm | 0.80mm | 0.55mm |
## Layer Height Guidelines
Usually, the optimal range for layer height is between 20% and 80% of the nozzle diameter.
- **Below 20%:** Flow inconsistencies and "fish scale" patterns may occur, especially at high speeds.
- **Over 80%:** Increased risk of layer adhesion issues and reduced print quality.
## First Layer Height
This setting controls how tall the first layer of the print will be. Typically, this is set to 50% of the nozzle width for optimal bed adhesion.
Controls the thickness of the initial layer.
A thicker first layer improves bed adhesion and compensates for build surface imperfections.
### Tip
**Recommended:** 0.25mm for 0.4mm nozzle (62.5% of nozzle diameter)
**Maximum:** 65% of nozzle diameter
A thicker first layer is more forgiving to slight variations to the evenness of the build surface, resulting in a more uniform, visually, first layer. Set it to 0.25mm for a 0.4mm nozzle, for example, if your build surface is uneven or your printer has a slightly inconsistent z offset between print runs. However, as a rule of thumb, try not to exceed 65% of the nozzle width so as to not compromise bed adhesion too much.
## Layer Height Overhangs Impacts
Layer height directly affects [overhang angle](quality_settings_overhangs#maximum-angle) capability and quality.
![layer-height](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Precision/layer-height.svg?raw=true)
**Smaller layer heights** enable steeper overhangs by reducing the unsupported distance between layers, while **larger layer heights** increase this gap, leading to more sagging and requiring support material at shallower angles.

View File

@@ -1,43 +1,62 @@
# Line Width
These settings control how wide the extruded lines are.
These settings define how wide each extruded line of filament will be.
Line width can be configured in two ways:
- **Default:** The default line width in mm or as a percentage of the nozzle size.
- Fixed value in millimeters (mm)
- Percentage of the nozzle diameter
- **First Layer:** The line width of the first layer. Typically, this is wider than the rest of the print, to promote better bed adhesion. See tips below for why.
> [!TIP]
> Using percentages allows the slicer to automatically adjust the line width when the nozzle size changes, helping maintain consistent print quality across different nozzle sizes.
- **Outer Wall:** The line width in mm or as a percentage of the nozzle size used when printing the models external wall perimeters.
A good starting point is setting the line width to **100% of the nozzle diameter**. Values below this may lead to poor adhesion, while values above **150%** can cause **over-extrusion**, resulting in blobs or poor surface quality.
However, slightly wider lines generally improve **layer bonding** and **print strength**, especially for internal features like walls and infill.
- **Inner Wall:** The line width in mm or as a percentage of the nozzle size used when printing the models internal wall perimeters.
> [!NOTE]
> **100% line width will extrude slightly narrower than the nozzle**, but once squished onto the layer below, it flattens to match the nozzle size.
> You can read more on the flow math here: [Flow Math](https://manual.slic3r.org/advanced/flow-math).
- **Top Surface:** The line width in mm or as a percentage of the nozzle size used when printing the models top surface.
> [!IMPORTANT]
> This will match only if using the [**Classic** wall generator](quality_settings_wall_generator#classic).
> [**Arachne**](quality_settings_wall_generator#arachne) will adjust the line width dynamically based on the model's geometry, using this values as a reference.
- **Sparse Infill:** The line width in mm or as a percentage of the nozzle size used when printing the models sparse infill.
## Line Types
- **Internal Solid Infill:** The line width in mm or as a percentage of the nozzle size used when printing the models internal solid infill.
In OrcaSlicer, you can assign different line widths to specific parts of the print. Each type can be customized:
- **Support:** The line width in mm or as a percentage of the nozzle size used when printing the models support structures.
### Default
## Tips
Fallback value used when a specific line width is not set (set to `0`).
1. **Typically, the line width will be anything from 100% up to 150% of the nozzle width**. Due to the way the slicers flow math works, a 100% line width will attempt to extrude slightly “smaller” than the nozzle size and when squished onto the layer below will match the nozzle orifice. You can read more on the flow math here: [Flow Math](https://manual.slic3r.org/advanced/flow-math).
### First Layer
2. **For most cases, the minimum acceptable recommended line width is 105% of the nozzle diameter**, typically reserved for the outer walls, where greater precision is required. A wider line is less precise than a thinner line.
A wider first layer (with a higher [first layer height](quality_settings_layer_height#first-layer-height)) improves bed adhesion and compensates for uneven build surfaces.
3. **Wider lines provide better adhesion to the layer below**, as the material is squished more with the previous layer. For parts that need to be strong, setting this value to 120-150% of the nozzle diameter is recommended and has been experimentally proven to significantly increase part strength.
### Outer Wall
4. **Wider lines improve step over and overhang appearance**, i.e., the overlap of the currently printed line to the surface below. So, if you are printing models with overhangs, setting a larger external perimeter line width will improve the overhangs appearance to an extent.
Controls dimensional accuracy and surface finish.
Recommended: **105%120%** of the nozzle diameter for clean overhangs and detail.
5. **For top surfaces, typically a value of ~100%-105% of the nozzle width is recommended** as it provides the most precision, compared to a wider line.
### Inner Wall
6. **For external walls, you need to strike a balance between precision and step over and, consequently, overhang appearance.** Typically these values are set to ~105% of nozzle diameter for models with limited overhangs up to ~120% for models with more significant overhangs.
Can be set wider than the outer wall to enhance structural strength.
Typical value: **≥120%**.
7. **For internal walls, you typically want to maximize part strength**, so a good starting point is approximately 120% of the nozzle width, which gives a good balance between print speed, accuracy, and material use. However, depending on the model, larger or smaller line widths may make sense in order to reduce gap fill and/or line width variations if you are using Arachne.
### Top Surface
8. **Dont feel constrained to have wider internal wall lines compared to external ones**. While this is the default for most profiles, for models where significant overhangs are present, printing wider external walls compared to the internal ones may yield better overhang quality without increasing material use!
Affects the quality of visible top layers.
Recommended: **100%105%** for smooth results without over-extrusion.
9. **For sparse infill, the line width also affects how dense, visually, the sparse infill will be.** The sparse infill aims to extrude a set amount of material based on the percentage infill selected. When increasing the line width, the space between the sparse infill extrusions is larger in order to roughly maintain the same material usage. Typically for sparse infill, a value of 120% of nozzle diameter is a good starting point.
### Sparse Infill
10. **For supports, using 100% or less line width will make the supports weaker** by reducing their layer adhesion, making them easier to remove.
Recommended to use a conservative value, typically around 115% to improve layer adhesion without getting near volumetric flow limitations.
If you need stronger infill, it's recommended to use [infill line multiplier](strength_settings_infill#fill-multiline) when possible.
11. **If your printer is limited mechanically, try to maintain the material flow as consistent as possible between critical features of your model**, to ease the load on the extruder having to adapt its flow between them. This is especially useful for printers that do not use pressure advance/linear advance and if your extruder is not as capable mechanically. You can do that by adjusting the line widths and speeds to reduce the variation between critical features (e.g., external and internal wall flow). For example, print them at the same speed and the same line width, or print the external perimeter slightly wider and slightly slower than the internal perimeter. Material flow can be visualized in the sliced model flow drop down.
### Internal Solid Infill
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
Typically set to **100%** to balance material usage and functionality. Reducing it too much can lead to weak support structures that may not hold up during printing or break easily during removal leaving debris on the model.

View File

@@ -1,18 +1,36 @@
# Overhangs
- [Detect overhang wall](#detect-overhang-wall)
- [Make overhang printable](#make-overhang-printable)
- [Maximum angle](#maximum-angle)
- [Hole area](#hole-area)
- [Extra perimeters on overhangs](#extra-perimeters-on-overhangs)
- [Reverse on even](#reverse-on-even)
- [Reverse internal only](#reverse-internal-only)
- [Reverse threshold](#reverse-threshold)
## Detect overhang wall
Detect the overhang percentage relative to line width and use different speed to print. For 100% overhang, bridge speed is used.
Detect the overhang percentage relative to line width and use different speed to print.
When detecting line width with 100% overhang, bridge options are used.
![overhang](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/overhangs/overhang.png?raw=true)
## Make overhang printable
Modify the geometry to print overhangs without support material.
This setting will modify the geometry to print overhangs without support material.
Every overhang exceeding the [maximum angle](#maximum-angle) will be modified to be printable.
### Maximum angle
Maximum angle of overhangs to allow after making more steep overhangs printable.
90° will not change the model at all and allow any overhang, while 0 will replace all overhangs with conical material.
![overhang-printable](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/overhangs/overhang-printable.png?raw=true)
> [!TIP]
> Usually, a value between 45° and 60° works well for most printers and models.
### Hole area
Maximum area of a hole in the base of the model before it's filled by conical material.
@@ -20,21 +38,44 @@ A value of 0 will fill all the holes in the model base.
## Extra perimeters on overhangs
Create additional perimeter paths over steep overhangs and areas where bridges cannot be anchored.
Create additional perimeter (overhang wall) paths over steep overhangs and areas where bridges cannot be anchored.
![extra-perimeters-on-overhangs](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/overhangs/extra-perimeters-on-overhangs.png?raw=true)
## Reverse on even
Extrude perimeters that have a part over an overhang in the reverse direction on even layers. This alternating pattern can drastically improve steep overhangs.
This setting can also help reduce part warping due to the reduction of stresses in the part walls.
Extrude perimeters in the reverse direction on even layers. This alternating pattern can drastically improve steep overhangs thanks to material squishing direction.
This setting can also help reduce part warping due to the reduction of stresses as they are now distributed in alternating directions. Useful for warp prone material, like ABS/ASA, and also for elastic filaments, like TPU and Silk PLA.
It can also help reduce warping on floating regions over supports.
For this setting to be the most effective, it is recommended to set the [Reverse Threshold](#reverse-threshold) to 0 so that all walls print in alternating directions on even layers irrespective of their overhang degree.
A disadvantage of this setting is that the outer wall may show a texture due to the alternating extrusion direction.
![reverse-odd-texture](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Precision/reverse-odd-texture.png?raw=true)
> [!NOTE]
> Only be available if [Wall loop direction](quality_settings_wall_and_surfaces#wall-loop-direction) is set on **Auto** and [spiral vase mode](others_settings_special_mode#spiral-vase) is **disabled**.
### Reverse internal only
Apply the reverse perimeters logic only on internal perimeters.
This setting greatly reduces part stresses as they are now distributed in alternating directions. This should reduce part warping while also maintaining external wall quality. This feature can be very useful for warp prone material, like ABS/ASA, and also for elastic filaments, like TPU and Silk PLA. It can also help reduce warping on floating regions over supports.
For this setting to be the most effective, it is recommended to set the Reverse Threshold to 0 so that all internal walls print in alternating directions on even layers irrespective of their overhang degree.
A simple way to reduce the texture on the outer wall is to only reverse the internal walls.
This will still provide almost all of the benefits of alternating extrusion direction on even layers (if using [inner/outer](quality_settings_wall_and_surfaces#innerouter)), but the outer wall will be printed in the same direction, resulting in a smoother surface finish.
### Reverse threshold
Number of mm the overhang need to be for the reversal to be considered useful. Can be a % of the perimeter width.
Value 0 enables reversal on every even layers regardless.
When [Detect overhang wall](#detect-overhang-wall) is not enabled, this option is ignored and reversal happens on every even layers regardless.
You can set a threshold for the overhang reversal to be considered useful.
Can be set as:
- **0**: Disables the threshold, meaning that all walls will be reversed on even layers.
- **mm**: A fixed distance in millimeters.
- **%**: A percentage of the perimeter width.
When using this setting, the walls will make the reversal texture in the layers where the overhang is above the threshold, and the rest of the walls will be printed in the normal direction.
This could result in uneven texture, sometimes considered worse than the full reversal texture, so it is recommended to use this setting only if you are sure that the overhang reversal will not be useful for your model.
> [!NOTE]
> Only available when:
> - [Detect overhang wall](#detect-overhang-wall) is enabled
> - [Reverse internal only](#reverse-internal-only) is disabled
> If those conditions are not met, this setting will be hidden.

View File

@@ -14,11 +14,13 @@ This section covers the settings that affect the precision of your prints. These
## Slice gap closing radius
Cracks smaller than 2x gap closing radius are being filled during the triangle mesh slicing. The gap closing operation may reduce the final print resolution, therefore it is advisable to keep the value reasonably low.
Cracks smaller than 2x gap closing radius are being filled during the triangle mesh slicing.
The gap closing operation may reduce the final print resolution, therefore it is advisable to keep the value reasonably low.
## Resolution
The G-code path is generated after simplifying the contour of models to avoid too many points and G-code lines. Smaller value means higher resolution and more time to slice.
The G-code path is generated after simplifying the contour of models to avoid too many points and G-code lines.
Smaller value means higher resolution and more time to slice. If you are using big models in low processing power machines, you may want to increase this value to speed up the slicing process.
## Arc fitting
@@ -65,11 +67,10 @@ The 'Precise Wall' is a distinctive feature introduced by OrcaSlicer, aimed at i
### Technical explanation
Below is a technical explanation of how this feature works.
First, it's important to understand some basic concepts like flow, extrusion width, and space.
Slic3r has an excellent document that covers these topics in detail. You can refer to this [article](https://manual.slic3r.org/advanced/flow-math).
First, it's important to understand some basic concepts like flow, extrusion width, and space. Slic3r has an excellent document that covers these topics in detail. You can refer to this [article](https://manual.slic3r.org/advanced/flow-math).
Now, let's dive into the specifics. Slic3r and its forks, such as PrusaSlicer, SuperSlicer, and OrcaSlicer, assume that the extrusion path has an oval shape, which accounts for the overlaps. For example, if we set the wall width to 0.4mm and the layer height to 0.2mm, the combined thickness of two walls laid side by side is 0.714mm instead of 0.8mm due to the overlapping.
Slic3r and its forks, such as PrusaSlicer, SuperSlicer and OrcaSlicer, assume that the extrusion path has an oval shape, which accounts for the overlaps. For example, if we set the wall width to 0.4mm and the layer height to 0.2mm, the combined thickness of two walls laid side by side is 0.714mm instead of 0.8mm due to the overlapping.
- **Precise Wall Off**
@@ -87,7 +88,7 @@ OrcaSlicer adheres to Slic3r's approach to handling flow. To address the downsid
## Precise Z Height
This feature ensures the accurate Z height of the model after slicing, even if the model height is not a multiple of the layer height.
This feature ensures the accurate Z height of the model after slicing, even if the model height is not a multiple of the [layer height](quality_settings_layer_height).
For example, slicing a 20mm x 20mm x 20.1mm cube with a layer height of 0.2mm would typically result in a final height of 20.2mm due to the layer height increments.

View File

@@ -1,12 +1,42 @@
# Seam Section
# Seam
Unless printed in spiral vase mode, every layer needs to begin somewhere and end somewhere. That start and end of the extrusion is what results in what visually looks like a seam on the perimeters. This section contains options to control the visual appearance of a seam.
- [Seam Position](#seam-position)
- [Aligned](#aligned)
- [Aligned Back](#aligned-back)
- [Nearest](#nearest)
- [Back](#back)
- [Random](#random)
- [Modifiers](#modifiers)
- [Staggered inner seams](#staggered-inner-seams)
- [Seam gap](#seam-gap)
- [Scarf joint seam](#scarf-joint-seam)
- [Scarf joint seam Type](#scarf-joint-seam-type)
- [Conditional scarf joint](#conditional-scarf-joint)
- [Scarf joint speed](#scarf-joint-speed)
- [Scarf joint height](#scarf-joint-height)
- [Scarf around entire wall](#scarf-around-entire-wall)
- [Scarf length](#scarf-length)
- [Scarf steps](#scarf-steps)
- [Scarf joint flow ratio](#scarf-joint-flow-ratio)
- [Scarf joint for inner walls](#scarf-joint-for-inner-walls)
- [Role based wipe speed](#role-based-wipe-speed)
- [Wipe speed](#wipe-speed)
- [Wipe on loop (inward movement)](#wipe-on-loop-inward-movement)
- [Wipe Before External](#wipe-before-external)
- [Tips](#tips)
- [Troubleshooting Seam Performance](#troubleshooting-seam-performance)
- [Troubleshooting the Start of a Seam](#troubleshooting-the-start-of-a-seam)
- [Troubleshooting the End of a Seam](#troubleshooting-the-end-of-a-seam)
- [The Role of Wall Ordering in Seam Appearance](#the-role-of-wall-ordering-in-seam-appearance)
## Seam Position
Controlling the position of seams can help improve the appearance and strength of the final print.
Typically, aligned or back work the best, especially in combination with seam painting. However, as seams create weak points and slight surface "bulges" or "divots", random seam placement may be optimal for parts that need higher strength as that weak point is spread to different locations between layers (e.g., a pin meant to fit through a hole).
Typically, [Aligned Back](#aligned-back), [Aligned](#aligned), or [Back](#back) work the best, especially in combination with seam painting.
However, as seams create weak points and slight surface "bulges" or "divots", [random](#random) seam placement may be optimal for parts that need higher strength as that weak point is spread to different locations between layers (e.g., a pin meant to fit through a hole).
### Aligned
@@ -16,10 +46,11 @@ Will attempt to align the seam to a hidden internal facet of the model.
### Aligned Back
Combines "Aligned" and "Back" strategies by prioritizing seam placement away from the front-facing side while still finding optimal hidden locations for other orientations. This is particularly useful for directional models like sculptures or figurines that have a clear front view.
Combines [Aligned](#aligned) and [Back](#back) strategies by prioritizing seam placement away from the front-facing side while still finding optimal hidden locations for other orientations.
This is particularly useful for directional models like sculptures or figurines that have a clear front view.
Unlike "Back" which always places seams at the rearmost position, "Aligned Back" uses intelligent positioning that avoids the front while maintaining sophisticated seam hiding capabilities.
![seam-aligned-back](../../images/seam/seam-aligned-back.png)
![seam-aligned-back](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/seam/seam-aligned-back.png?raw=true)
### Nearest
@@ -44,41 +75,109 @@ This option places the seam randomly across the object, which can help to distri
### Staggered inner seams
As the seam location forms a weak point in the print (it's a discontinuity in the extrusion process after all!), staggering the seam on the internal perimeters can help reduce stress points. This setting moves the start of the internal wall's seam around across layers as well as away from the external perimeter seam. This way, the internal and external seams don't all align at the same point and between them across layers, distributing those weak points further away from the seam location, hence making the part stronger. It can also help improve the water tightness of your model.
As the seam location forms a weak point in the print, staggering the seam on the internal perimeters can help reduce stress points. This setting moves the start of the internal wall's seam around across layers as well as away from the external perimeter seam. This way, the internal and external seams don't all align at the same point and between them across layers, distributing those weak points further away from the seam location, hence making the part stronger. It can also help improve the water tightness of your model.
![seam-staggered-inner](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/seam/seam-staggered-inner.gif?raw=true)
### Seam gap
Controls the gap in mm or as a percentage of the nozzle size between the two ends of a loop starting and ending with a seam. A larger gap will reduce the bulging seen at the seam. A smaller gap reduces the visual appearance of a seam. For a well-tuned printer with pressure advance, a value of 0-15% is typically optimal.
Controls the gap in mm or as a percentage of the nozzle size between the two ends of a loop starting and ending with a seam.
![seam-gap](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/seam/seam-gap.png?raw=true)
- A larger gap will reduce the bulging seen at the seam.
- A smaller gap reduces the visual appearance of a seam.
For a well-tuned printer with [pressure advance](pressure-advance-calib) and [filament retraction](retraction-calib), a value of **0-15%** is typically optimal.
![seam-gap](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/seam/seam-gap.gif?raw=true)
### Scarf joint seam
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).
Adjusts the extrusion flow rate at seam points to create a smooth overlap between the start and end of each loop, minimizing visible defects.
### Role-based wipe speed
![scarf-joint-seam](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/seam/scarf-joint-seam.png?raw=true)
Controls the speed of a wipe motion, i.e., how fast the nozzle will move over a printed area to "clean" it before traveling to another area of the model. It is recommended to turn this option on, to ensure the nozzle performs the wipe motion with the same speed that the feature was printed with.
Advantages:
- Reduces visible z-seams
- Improves cosmetic quality of curved surfaces
- Can slightly improve part strength at seams by softening transitions
Disadvantages:
- May increase print time slightly
- Less effective on sharp corners and overhangs
- 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).
#### Scarf joint seam Type
- **Contour:** Applies scarf seams exclusively to the outermost perimeter of the model.
- **Contour and hole:** Extends scarf seams to both the outer perimeter and the inner walls surrounding holes within the part.
#### Conditional scarf joint
Dynamically applies scarf joints only on smooth, curved perimeters where traditional seams would be visually prominent. Sharp corners will still use standard seams to maintain dimensional accuracy.
#### Scarf joint speed
This option sets the printing speed for scarf joints.
It is recommended to print scarf joints at a slow speed (less than 100 mm/s).
It's also advisable to enable [Extrusion rate smoothing](speed_settings_advanced) if the set speed varies significantly from the speed of the outer or inner walls. If the speed specified here is higher than the speed of the outer or inner walls, the printer will default to the slower of the two speeds. When specified as a percentage (e.g., 80%), the speed is calculated based on the respective outer or inner wall speed. The default value is set to 100%.
#### Scarf joint height
Defines the vertical offset for the start of the scarf ramp, specified either in millimeters or as a percentage of the current layer height.
A value of 0 means the scarf begins at the same height as the current layer and ramps up to the full layer height over the scarf length.
For example, on the second layer with a 0.2mm layer height, setting this to 50% (0.1mm) will start the scarf at 0.3mm and ramp up to 0.4mm by the end of the scarf length, while the rest of the lines print at 0.4mm.
This setting helps create a smoother transition and can reduce visible seam artifacts.
#### Scarf around entire wall
If enabled, the scarf joint wraps around the full perimeter of the wall. Typically disabled, as this may increase print time without significant seam improvement.
#### Scarf length
Defines the horizontal length over which the scarf ramp transitions. A value of 0 disables the scarf joint. The default (e.g. 20mm) generally offers smooth and effective blending.
#### Scarf steps
Minimum number of segments used to build the scarf transition.
More steps create a smoother gradient, but the default value (10) is sufficient in most cases.
#### Scarf joint flow ratio
Adjusts extrusion flow during scarf printing. A value of 100% applies standard flow. Lower values reduce flow but may introduce under-extrusion.
Recommended to keep at 100%.
#### Scarf joint for inner walls
When enabled, scarf joints are also applied to inner perimeters (e.g., holes). This has minimal visual impact and is usually left disabled unless inner seam quality is a priority.
### Role based wipe speed
Controls the speed of a wipe motion, i.e., how fast the nozzle will move over a printed area to "clean" it before traveling to another area of the model.
It is recommended to turn this option on, to ensure the nozzle performs the wipe motion with the same speed that the feature was printed with.
### Wipe speed
If role-based wipe speed is disabled, set this field to the absolute wipe speed or as a percentage over the travel speed.
### Wipe on loop(inward movement)
### Wipe on loop (inward movement)
When finishing printing a "loop" (i.e., an extrusion that starts and ends at the same point), move the nozzle slightly inwards towards the part. That move aims to reduce seam unevenness by tucking in the end of the seam to the part. It also slightly cleans the nozzle before traveling to the next area of the model, reducing stringing.
When finishing printing a "loop" (i.e., an extrusion that starts and ends at the same point), move the nozzle slightly inwards towards the part. That move aims to reduce seam unevenness by tucking in the end of the seam to the part. It also slightly cleans the nozzle before traveling to the next area of the model, reducing stringing.
This setting will use your printer/material Wipe Distance and retract amount before wipe values.
![seam-wipe-on-loop](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/seam/seam-wipe-on-loop.png?raw=true)
![seam-outer-wall-wipe](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/seam/seam-outer-wall-wipe.png?raw=true)
![seam-wipe-on-loops-options](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/seam/seam-wipe-on-loops-options.png?raw=true)
### Wipe Before External
To minimize the visibility of potential over-extrusion at the start of an external perimeter, the de-retraction move is performed slightly on the inside of the model and, hence, the start of the external perimeter. That way, any potential over-extrusion is hidden from the outside surface.
This is useful when printing with Outer/Inner or Inner/Outer/Inner wall print order, as in these modes, it is more likely an external perimeter is printed immediately after a de-retraction move, which would cause slight extrusion variance at the start of a seam.
This is useful when printing with [Outer/Inner](quality_settings_wall_and_surfaces#outerinner) or [Inner/Outer/Inner](quality_settings_wall_and_surfaces#innerouterinner) wall print order, as in these modes, it is more likely an external perimeter is printed immediately after a de-retraction move, which would cause slight extrusion variance at the start of a seam.
## Tips

View File

@@ -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 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) is printed first, followed by the walls. This can be useful for some overhangs where the infill can support the walls.
![infill-first](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Wall-Order/infill-first.gif?raw=true)
@@ -51,15 +51,15 @@ When using this option is recommended to use the [Precise Wall](quality_settings
## Wall loop direction
The direction which the wall loops are extruded when looking down from the top.
By default all walls are extruded in counter-clockwise, unless Reverse on even is enabled.
Set this to any option other than Auto will force the wall direction regardless of the Reverse on even.
By default all walls are extruded in counter-clockwise, unless [Reverse on even](quality_settings_overhangs#reverse-on-even) is enabled.
Set this to any option other than Auto will force the wall direction regardless of the [Reverse on even](quality_settings_overhangs#reverse-on-even).
> [!NOTE]
> This option will be disabled if spiral vase mode is enabled.
## Surface flow ratio
This factor affects the amount of material for top or bottom solid infill. You can decrease it slightly to have smooth surface finish.
This factor affects the amount of material for [top or bottom solid infill](strength_settings_top_bottom_shells). You can decrease it slightly to have smooth surface finish.
The actual top surface flow used is calculated by multiplying this value with the filament flow ratio, and if set, the object's flow ratio.
> [!TIP]
@@ -67,14 +67,15 @@ 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.
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.
![only-one-wall](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Wall-Order/only-one-wall.gif?raw=true)
### Threshold
If a top surface has to be printed and it's partially covered by another layer, it won't be considered at a top layer where its width is below this value. This can be useful to not let the 'one perimeter on top' trigger on surface that should be covered only by perimeters. This value can be a mm or a % of the perimeter extrusion width.
If a top surface has to be printed and it's partially covered by another layer, it won't be considered at a top layer where its width is below this value. This can be useful to not let the 'one perimeter on top' trigger on surface that should be covered only by perimeters.
This value can be a mm or a % of the perimeter extrusion width.
![only-one-wall-threshold](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Wall-Order/only-one-wall-threshold.png?raw=true)
@@ -83,21 +84,30 @@ If a top surface has to be printed and it's partially covered by another layer,
## Avoid crossing walls
Maximum detour distance for avoiding crossing wall. Don't detour if the detour distance is larger than this value. Detour length could be specified either as an absolute value or as percentage (for example 50%) of a direct travel path. Zero to disable.
This option instructs the slicer to avoid crossing perimeters (walls) during travel moves.
Instead of traveling directly through a wall, the print head will detour around it, which can significantly reduce surface defects and stringing.
While this increases print time slightly, the improvement in print quality—especially with materials prone to stringing like **PETG** or **TPU**, often justifies the tradeoff.
Highly recommended for detailed or aesthetic prints.
![avoid-crossing-walls](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Wall-Order/avoid-crossing-walls.png?raw=true)
### Max detour length
Maximum detour distance for avoiding crossing wall. Don't detour if the detour distance is larger than this value.
Detour length could be specified either as an absolute value or as percentage (for example 50%) of a direct travel path.
Defines the maximum distance the printer is allowed to detour to avoid crossing a wall.
Can be set as:
Zero will detour no matter the distance.
- **Absolute value in millimeters:** exactly how far the detour can extend (e.g., `5mm`).
- **Percentage** of the direct travel path (e.g., `50%`).
- **0** disables the **limit** and allows detours of **any length**.
Use this setting to balance between print time and wall quality—longer detours mean fewer wall crossings but slower prints.
## Small area flow compensation
Enables adaptive flow control for small infill areas.
This feature helps address extrusion problems that often occur in small regions of solid infill, such as the tops of narrow letters or fine features. In these cases, standard extrusion flow may be too much for the available space, leading to over-extrusion or poor surface quality.
This feature helps address extrusion problems that often occur in small regions of solid infill, such as the tops of narrow letters or fine features.
In these cases, standard extrusion flow may be too much for the available space, leading to over-extrusion or poor surface quality.
![flow-compensation-model](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Wall-Order/flow-compensation-model.png?raw=true)

View File

@@ -2,6 +2,17 @@
The Wall Generator defines how the outer and inner walls (perimeters) of the model are printed.
- [Classic](#classic)
- [Arachne](#arachne)
- [Wall transitioning threshhold angle](#wall-transitioning-threshhold-angle)
- [Wall transitioning filter margin](#wall-transitioning-filter-margin)
- [Wall transitioning length](#wall-transitioning-length)
- [Wall distribution count](#wall-distribution-count)
- [Minimum wall width](#minimum-wall-width)
- [First layer minimum wall width](#first-layer-minimum-wall-width)
- [Minimum feature size](#minimum-feature-size)
- [Minimum wall length](#minimum-wall-length)
## Classic
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).
@@ -47,11 +58,12 @@ Specifies the minimum wall width for the first layer. It is recommended to match
### 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 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](#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.
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.

View File

@@ -82,5 +82,5 @@ JD = 0,4 \cdot \frac{\text{Jerk}^2}{\text{Accel.}}
- [JD Explained and Visualized, by Paul Wanamaker](https://reprap.org/forum/read.php?1,739819)
- [Computing JD for Marlin Firmware](https://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html)
- [Improving GRBL: Cornering Algorithm](https://onehossshay.wordpress.com/2011/09/24/improving_grbl_cornering_algorithm/)
- [Pressure Advance Calibration](../../calibration/pressure-advance-calib.md)
- [Adaptive Pressure Advance](../../calibration/adaptive-pressure-advance-calib.md)
- [Pressure Advance Calibration](pressure-advance-calib)
- [Adaptive Pressure Advance](adaptive-pressure-advance-calib)

View File

@@ -14,7 +14,7 @@ This can help improve print quality and reduce issues like stringing or sagging.
Enable this option to slow down printing in areas where perimeters may have curled upwards. For example, additional slowdown will be applied when printing overhangs on sharp corners like the front of the Benchy hull, reducing curling which compounds over multiple layers.
![slow-down-for-curled-perimeters](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/speed/slow-down-for-curled-perimeters.png)
![slow-down-for-curled-perimeters](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/speed/slow-down-for-curled-perimeters.png?raw=true)
It is generally recommended to have this option switched on unless your printer cooling is powerful enough or the print speed slow enough that perimeter curling does not happen. If printing with a high external perimeter speed, this parameter may introduce slight artifacts when slowing down due to the large variance in print speeds. If you notice artifacts, ensure your pressure advance is tuned correctly.

View File

@@ -1,5 +1,6 @@
# Strength Advanced
- [Align infill direction to model](#align-infill-direction-to-model)
- [Bridge infill direction](#bridge-infill-direction)
- [Minimum sparse infill threshold](#minimum-sparse-infill-threshold)
- [Infill Combination](#infill-combination)
@@ -7,6 +8,10 @@
- [Detect narrow internal solid infill](#detect-narrow-internal-solid-infill)
- [Ensure vertical shell thickness](#ensure-vertical-shell-thickness)
## 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.
## 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.

View File

@@ -10,6 +10,7 @@ Infill is the internal structure of a 3D print, providing strength and support.
- [Rotation](#rotation)
- [Infill Wall Overlap](#infill-wall-overlap)
- [Apply gap fill](#apply-gap-fill)
- [Filter out tiny gaps](#filter-out-tiny-gaps)
- [Anchor](#anchor)
- [Internal Solid Infill](#internal-solid-infill)
- [Sparse Infill Pattern](#sparse-infill-pattern)
@@ -38,6 +39,7 @@ Infill is the internal structure of a 3D print, providing strength and support.
- [Hilbert Curve](#hilbert-curve)
- [Archimedean Chords](#archimedean-chords)
- [Octagram Spiral](#octagram-spiral)
- [Credits](#credits)
## Sparse infill density
@@ -84,13 +86,17 @@ This setting allows you to generate your selected [infill pattern](#sparse-infil
## Direction and Rotation
> [!TIP]
> You can use [Template Metalanguage for infill rotation](strength_settings_infill_rotation_template_metalanguage) to create more complex patterns.
### 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.
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:
@@ -110,8 +116,10 @@ Other examples:
0,60,120,180
```
If there are more layers than angles, the sequence repeats.
> [!NOTE]
> If there are more layers than angles, the sequence repeats.
> [!IMPORTANT]
> Not all sparse infill patterns support rotation.
## Infill Wall Overlap
@@ -141,6 +149,10 @@ If you would like all gap fill, including the classic perimeter generated one, r
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.
## 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.
## 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.
@@ -525,3 +537,8 @@ Esthetic pattern with low strength and high print time.
- **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)
## Credits
- **[Fill Multiline](#fill-multiline) implementation** - [@RF47](https://github.com/RF47)
- **Wiki page:** [IanAlexis](https://github.com/IanAlexis).

View File

@@ -0,0 +1,221 @@
# 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.
- [Basic instructions](#basic-instructions)
- [Defined angle](#defined-angle)
- [Runtime instructions](#runtime-instructions)
- [Solid sign](#solid-sign)
- [Joint sign](#joint-sign)
- [Counting](#counting)
- [Length modifier](#length-modifier)
- [Description of instructions and examples](#description-of-instructions-and-examples)
- [Simple absolute instructions](#simple-absolute-instructions)
- [Relative instructions](#relative-instructions)
- [Repetitive, adjusting and one-time instructions](#repetitive-adjusting-and-one-time-instructions)
- [Range instructions](#range-instructions)
- [Constant layer number instructions](#constant-layer-number-instructions)
- [Solid layers into sparse infill instructions](#solid-layers-into-sparse-infill-instructions)
- [Complex template examples](#complex-template-examples)
- [Credits](#credits)
## Basic instructions
`[±]α[* or !][solid or joint sign, or its combinations][-][, B or T][length modifier][* or !]` - full length template instruction for the **sparse** infill
`[±]α[* or !][joint sign][-][][* or !]` - full length template instruction for the **solid** infill
`[±]α*` - just setting an initial rotation angle
`[solid or joint sign][!]` - putting the solid layers times without them rotating
`[B or T][!]` - putting the solid layers according to the number of bottom or top shell layers without them rotating
> [!NOTE]
> `[...]` - values in square brackets are optional
### Defined angle
`[±]α` - command for setting rotation infill angle (for joint infills at some height range, this angle is finite):
- `α:β` - set the angle α value as a percentage of the full 360 degree rotation
- `+α` - set positive relative angle CCW
- `-α` - set negative relative angle CW
### Runtime instructions
`[*, * or !]` - runtime instructions:
- `*` - the mark of "dummy" instruction. It's needed for setting an initial angle. No further action will be taken
- `*` - repeat the instruction times
- `!` - the one-time running instruction
### Solid sign
`[solid sign]` - the mark for inserting a solid layer:
- `D` - insert native sparse patterned layer but with 100% density
- `S` - insert user-defined solid layer
- `O` - insert Concentric solid layer
- `M` - insert Monotonic solid layer
- `R` - insert Rectilinear solid layer
### Joint sign
`[joint sign]` - the symbol which determines the method of connection for turning of the infill:
- `/` - linear displacement of the infill. e.g. `+22.5/50%`
![linear-joint](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/linear-joint.png?raw=true)
- `#` - infill of multiple layers with vertical displacement at finish angle. e.g. `+22.5#50%`
![multiple-joint](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/multiple-joint.png?raw=true)
- `#-` - infill of multiple layers with vertical displacement at initial angle. e.g. `+22.5#-50%`
![multiple-joint-initial-angle](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/multiple-joint-initial-angle.png?raw=true)
- `|` - infill of multiple layers with vertical displacement at middle angle. e.g. `+22.5|50%`
![multiple-joint-middle-angle](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/multiple-joint-middle-angle.png?raw=true)
- `N` - infill formed by sinus function (vertical connection). e.g. `+22.5N50%`
![v-sinus-joint](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/v-sinus-joint.png?raw=true)
- `n` - infill formed by sinus function (vertical connection, lazy). e.g. `+22.5n50%`
![v-sinus-joint-lazy](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/v-sinus-joint-lazy.png?raw=true)
- `Z` - infill formed by sinus function (horizontal connection). e.g. `+22.5Z50%`
![z-h-sinus-joint](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/z-h-sinus-joint.png?raw=true)
- `z` - infill formed by sinus function (horizontal connection, lazy). e.g. `+22.5z50%`
![h-sinus-joint-lazy](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/h-sinus-joint-lazy.png?raw=true)
- `L` - infill formed by quarter of circle (horizontal to vertical connection). e.g. `+22.5L50%`
![vh-quarter-joint](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/vh-quarter-joint.png?raw=true)
- `l` - infill formed by quarter of circle (vertical to horizontal connection). e.g. `+22.5l50%`
![hv-quarter-joint](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/hv-quarter-joint.png?raw=true)
- `U` - infill formed by squared function. e.g. `+22.5U50%`
![squared-joint](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/squared-joint.png?raw=true)
- `u-` - infill formed by squared function (inverse). e.g. `+22.5u-50%`
![squared-joint-inverse](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/squared-joint-inverse.png?raw=true)
- `Q` - infill formed by cubic function. e.g. `+22.5Q50%`
![cubic-joint](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/cubic-joint.png?raw=true)
- `q-` - infill formed by cubic function (inverse). e.g. `+22.5q-50%`
![cubic-joint-inverse](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/cubic-joint-inverse.png?raw=true)
- `$` - infill formed by arcsinus method. e.g. `+22.5$50%`
![arcsinus-joint](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/arcsinus-joint.png?raw=true)
- `~` - infill formed with random angle. e.g. `+22.5~50%`
![random-joint](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/random-joint.png?raw=true)
- `^` - infill formed with pseudorandom angle. e.g. `+22.5^50%`
![pseudorandom-joint](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/pseudorandom-joint.png?raw=true)
### Counting
`[-]` - counting the distance at which the turn will take place:
- `` - the count will take place by layers. e.g. `+22.5/50%`
![infill-counting](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/infill-counting.png?raw=true)
- `-` - indicates that the joint form will be flipped upward. e.g. `+22.5/-50%`
![infill-counting-flipped](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/infill-counting-flipped.png?raw=true)
- `B` - the count will take place over the next layers equal to the bottom_shell_layers parameter
- `T` - the count will take place over the next layers equal to the top_shell_layers parameter
### Length modifier
`[length modifier]` - the distance at which the specified turn will take place:
- `mm` - the distance in millimeters
- `cm` - the distance in centimeters
- `m` - the distance in meters
- `'` - the distance in feet
- `"` - the distance in inches
- `#` - the distance in range of standard height of layers
- `%` - the distance as a percentage of model height
## Description of instructions and examples
Each instruction is written by a combination of symbols and numbers and separated by a comma or a space.
For more complex instructions, autoformatting is used to make the template easier to read.
> [!NOTE]
> All examples are shown with a 5% density rectilinear infill on a model of a cube 20x20x20mm which has 100 layers of 0.2mm thickness. Without walls and upper and lower shells. Initial angle is 0.
### Simple absolute instructions
They include a simple definition of the angle for each layer. Note that the initial setting of this angle is also affected by the value in the sparse or solid infill angle field.
- `0`, `15`, `45.5`, `256.5605`... - just fill at the existing angle. The initial direction starts at the X-axis, and the acceptable range of values is from 0 to 360
- `0` as well as `+0`, `-0` or just empty template
![0](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/0.png?raw=true)
- `45`
![45](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/45.png?raw=true)
- `0, 30` - is a simple alternation through each layer in the direction of 0 and 30 degrees.
![0-30](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/0-30.png?raw=true)
- `0%`, `10%`, `25%`, `100%`... - infill angle determined from relative terms from a full turn of 360 degree rotation. Rotate by 0, 36, 90, and 0 degrees.
- `25%` - the equivalent of `90` instruction.
![90](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/90.png?raw=true)
- `30, 60, 90, 120, 150, 0` - a more complex command defines a turn every layer at 30 degrees. At the end of the template line, the next instruction is read first, and this process continues until the entire height of the model is filled.
### Relative instructions
- `+30` - this is a short instruction for counterclockwise rotation. The equivalent of `30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, 0` or `30, 60, 90, 120, 150, 0` instruction.
![+30](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/+30.png?raw=true)
- `-30` - this is the same instruction, but with clockwise rotation. The equivalent of `330, 300, 270, 240, 210, 180, 150, 120, 90, 60, 30, 0` or `330, 300, 270, 240, 210, 0` instruction.
- `+150` - you can specify a different multiple of the irrational angle for better fill dispersion = `150, 300, 90, 240, 30, 180, 330, 120, 270, 60, 210, 0` ...
- `+45` - The equivalent of `45, 90, 135, 180, 225, 270, 315, 0` or `45, 90, 135, 0` instruction.
![+45](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/+45.png?raw=true)
- `+90` - The equivalent of `90, 180, 270, 0` or `90, 0` instruction.
![+90](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/+90.png?raw=true)
- `+15%` - useful for dividing angles on a decimal basis = `54, 108, 162, 270, 324, 18, 72, 126, 180, 234, 288, 342, 36, 90, 144, 196, 252, 306, 0` ...
- `+30, +90` - a complex instruction setting the rotation of each layer in these positions = `30, 120, 150, 240, 270, 0` ...
![+30+90](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/+30+90.png?raw=true)
- `0, +30, +90` - a complex instruction setting the rotation of each layer in these positions = `0, 30, 120` ...
![0+30+90](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/0+30+90.png?raw=true)
### Repetitive, adjusting and one-time instructions
- `5, 10, +20` - simple instructions without modifiers. Sets the angles in sequence = 5, 10, 30, 5, 10, 30, 5, 10 ...
- `5, 10*, +20` - the `*` sign sets the initial angle without quantitative designation and without layer processing. It is useful for setting the orientation of a group of layers, which will be described below. Sets the angles in sequence = 5, 30, 5, 30, 5, 30, 5 ...
- `5, 10!, +20` - the `!` sign indicates that the instruction will be executed only once for the entire height of the model. Sets the angles in sequence = 5, 10, 30, 5, 25, 5, 25, 5 ...
- `5, 10*!, +20` - the combination of `*` and `!` signs is also usable = 5, 30, 5, 25, 5, 25, 5, 25 ...
- `5, 10*3, +20` - if a number is written after the `*` sign, it indicates the number of repetitions of this instruction. Sets the angles in sequence = 5, 10, 10, 10, 30, 5, 10, 10, 10, 30, 5, 10 ...
### Range instructions
A combined set of layers will be organized, where the rotation of one layer relative to the other will also be predetermined.
You can specify how many layers will be rotated by a certain angle, and according to which mathematical law this rotation will be performed. This law is determined by writing a certain symbol and specifying a numeric value after it.
The following signs are available that determine the shape of the turn: `/` `#` `#-` `|` `N` `n` `Z` `z` `L` `l` `U` `u` `Q` `q` `$` `~` `^`. For their purpose, see [joint sign](#joint-sign).
Also, after the numeric value there is a range modifier, then this rotation will occur according to the described length.
The following modifiers are available that determine the range of turn: `mm` `cm` `m` `'` `"` `#` `%`. For their purpose, see [length modifier](#length-modifier).
If there is a `-` sign before the numeric value, then the initial fill angle changes with the final one. This is useful for joining the linear infills in some cases. Absolute values of the rotation angle using the range instructions have no effect.
It is important to know that this will not be the exact length, but will be tied to the nearest layer from below.
- `+45/100` - rotate the next 100 layers linearly at a 45 degree angle. For this model, this instruction is equivalent to `+45/100%` as it contains 100 layers.
![+45-100](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/+45-100.png?raw=true)
- When changing the height of the instruction `+45/50` or `+45/50%` - the final angle will be 90, as the turn will occur twice.
![+45-50](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/+45-50.png?raw=true)
- `-50%Z1cm` - rotate one centimeter of infill by sinus function at a 180 degree CW.
### Constant layer number instructions
There are 2 letter signs `T` and `B` that can determine the number of shell layers on the top and bottom of the model. It is useful for calculating skipping this amount to align the fill, or inserting the required number of horizontal solid bulkheads.
- `B!, +30` - skip the first shell layers from rotation, then fill with 30 degree turn each layer
- `+30/1cm, T` - rotate one centimeter of infill linearly at a 30 degree angle, then skip the number of layers equal to the count of the upper shell layers without rotation.
### Solid layers into sparse infill instructions
The following instructions allow you to embed solid layers in a sparse fill. The following commands are available `D` `S` `O` `M` `R`. For their purpose, see [solid sign](#solid-sign).
It is possible to combine them with the rotation method and layer number constant - `DT` `S/` `M#` `OB`...
- `#14, +15R` - put 14 layers of sparse infill then put one rectilinear layer of solid infill with 15 degree turn
![14+15R](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/14+15R.png?raw=true)
- `B!, 240M3, #25` - skip the first shell layers from rotation, fill model with 3 solid monotonic layers at 240 degrees, then put 25 sparse layers at the same angle
- `+30/1cm, ST` - rotate one centimeter of infill linearly at 30 degrees, then put solid layers equal to the count of the top shell layers
- `+30M3` or `+90M/3` - fill whole model with solid infill with 30 degree turn at each layer
## Complex template examples
- `+10L25%, -10l25%, -10L25%, +10l25%` - fill the model with sine period with 10 degree amplitude
![10period](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/10period.png?raw=true)
- `+30/-10#` - rotate the infill at height of 10 standard layers (or @ standard layer height is 0.2mm x 10 = 2mm) inverse linearly at a 30 degree angle.
![+30-10](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/+30-10.png?raw=true)
- `+360~100%` or `+100%~100%` - fill the model with infill with random direction at each layer.
![+360-100p](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/fill/Template-metalanguage/+360-100p.png?raw=true)
## Credits
- **Feature author:** [@pi-squared-studio](https://github.com/pi-squared-studio).

View File

@@ -24,14 +24,14 @@ Top solid infill area is enlarged slightly to overlap with wall for better bondi
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.
- **[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:** 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.
- **[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.
> [!NOTE]
> Some patterns may have further information in its [Sparse Infill Pattern Wiki](strength_settings_infill#sparse-infill-pattern)