Wiki Update 11 - Strength (#10369)

* Create Patterns specific wiki

* Fix typos in installation instructions

Corrected the winget flag from --exact to -e and removed an extraneous backtick from the Mac xattr command in the README installation instructions.

* Improve README formatting and clarity

* Calibration Flow Ratio Yolo Archimedean cords

Co-Authored-By: MxBrnr <142743732+MxBrnr@users.noreply.github.com>

* redirection/tab.cpp section

* Missing Frequent

* remove auto-cooling

* remove thumbnails

* seam pointers

* walls

* infill

* Image standarization

* Fix broken internal links

* Add reference note to Arachne wall generator docs

* OrcaSlicer std

* PrusaSlicer std

* 2d-lateral xlsx

* vertical patterns

* Redirections fix

* Update speed_settings_overhang_speed.md

* Fix to action

* FlowRate

Co-Authored-By: MxBrnr <142743732+MxBrnr@users.noreply.github.com>

* Top Bottom Shells

* advanced strength

* Action fix

* Update How-to-wiki.md

* Home.md icons and reorganize sections

* Home Icons fix

* Update cornering-calib.md

* Update strength_settings_infill.md

* Update Auxiliary-fan.md

Co-Authored-By: Fisheye_3D <78997080+fisheye3d@users.noreply.github.com>

* Add warning about wiki maintenance status
This commit is contained in:
Ian Bassi
2025-08-23 12:43:45 -03:00
committed by GitHub
parent 099dbb4046
commit 5ebb490a8d
55 changed files with 985 additions and 685 deletions

View File

@@ -1,30 +1,40 @@
# Auxiliary Fan
OrcaSlicer use `M106 P2` command to control auxiliary cooling fan.
OrcaSlicer uses `M106 P#` / `M107 P#` to control any fans managed by the slicer.
If you are using Klipper, you can define a `M106` macro to control the both normal part cooling fan and auxiliary fan and exhaust fan.
Below is a reference configuration for Klipper.
- `P0`: part cooling fan (default layer fan)
- `P1` (if present): an additional fan
- `P2`: often used as Aux / CPAP / Booster
- `P3` (and higher): sometimes Exhaust / Enclosure, etc.
> [!NOTE]
> Don't forget to change the pin name to the actual pin name you are using in the configuration
With Klipper you can create macros that translate both the OrcaSlicer numeric fan index `P` and **humanreadable names** for your physical fans. This keeps compatibility with generated Gcode (M106 P0 / M106 P2 …) while letting you address fans by name internally.
> [!WARNING]
> Adjust pin names and parameters (power, cycle_time, etc.) to match your hardware.
- [Simple option (indexes only → fan0, fan2, fan3)](#simple-option-indexes-only--fan0-fan2-fan3)
- [Advanced option (Index ⇄ Name mapping)](#advanced-option-index--name-mapping)
- [Quick customization](#quick-customization)
- [Usage](#usage)
## Simple option (indexes only → fan0, fan2, fan3)
This is the original basic example where the `P` index is concatenated (`fan0`, `fan2`, `fan3`). Use it if you don't need custom names:
```ini
# instead of using [fan], we define the default part cooling fan with [fan_generic] here
# this is the default part cooling fan
# Part cooling fan
[fan_generic fan0]
pin: PA7
cycle_time: 0.01
hardware_pwm: false
# this is the auxiliary fan
# comment out it if you don't have auxiliary fan
# Auxiliary fan (comment out if you don't have it)
[fan_generic fan2]
pin: PA8
cycle_time: 0.01
hardware_pwm: false
# this is the exhaust fan
# comment out it if you don't have exhaust fan
# Exhaust / enclosure fan (comment out if you don't have it)
[fan_generic fan3]
pin: PA9
cycle_time: 0.01
@@ -35,4 +45,97 @@ gcode:
{% set fan = 'fan' + (params.P|int if params.P is defined else 0)|string %}
{% set speed = (params.S|float / 255 if params.S is defined else 1.0) %}
SET_FAN_SPEED FAN={fan} SPEED={speed}
[gcode_macro M107]
gcode:
{% set fan = 'fan' + (params.P|int if params.P is defined else 0)|string %}
{% if params.P is defined %}
SET_FAN_SPEED FAN={fan} SPEED=0
{% else %}
# No P -> turn off typical defined fans
SET_FAN_SPEED FAN=fan0 SPEED=0
SET_FAN_SPEED FAN=fan2 SPEED=0
SET_FAN_SPEED FAN=fan3 SPEED=0
{% endif %}
```
## Advanced option (Index ⇄ Name mapping)
Lets you use descriptive names like `CPAP`, `EXHAUST`, etc. Useful if you rewire or repurpose fans without changing slicer output. Just keep `fan_map` updated.
```ini
# Example with friendly names + comments showing OrcaSlicer index
[fan_generic CPAP] # fan 0 OrcaSlicer
pin: PB7
max_power: 0.8
shutdown_speed: 0
kick_start_time: 0.100
cycle_time: 0.005
hardware_pwm: False
off_below: 0.10
[fan_generic EXHAUST] # fan 3 OrcaSlicer
pin: PE5
#max_power:
#shutdown_speed:
cycle_time: 0.01
hardware_pwm: False
#kick_start_time:
off_below: 0.2
# If you had another (e.g. P2) add here:
# [fan_generic AUX]
# pin: PXn
[gcode_macro M106]
description: "Set fan speed (Orca compatible)"
gcode:
{% set fan_map = {
0: "CPAP", # Orca P0 → CPAP blower
3: "EXHAUST", # Orca P3 → Exhaust
# 2: "AUX", # Uncomment if you define AUX
} %}
{% set p = params.P|int if 'P' in params else 0 %}
{% set fan = fan_map[p] if p in fan_map else fan_map[0] %}
{% set speed = (params.S|float / 255 if 'S' in params else 1.0) %}
SET_FAN_SPEED FAN={fan} SPEED={speed}
[gcode_macro M107]
description: "Turn off fans. No P = all, P# = specific"
gcode:
{% set fan_map = {
0: "CPAP",
3: "EXHAUST",
# 2: "AUX",
} %}
{% if 'P' in params %}
{% set p = params.P|int %}
{% if p in fan_map %}
SET_FAN_SPEED FAN={fan_map[p]} SPEED=0
{% else %}
RESPOND PREFIX="warn" MSG="Unknown fan index P{{p}}"
{% endif %}
{% else %}
# No P -> turn off all mapped fans
{% for f in fan_map.values() %}
SET_FAN_SPEED FAN={f} SPEED=0
{% endfor %}
{% endif %}
```
### Quick customization
1. Add / remove entries in `fan_map` to reflect the indexes the slicer may use.
2. Keep comments like `# fan X OrcaSlicer` next to each `[fan_generic]` for easy correlation.
3. Tune `max_power`, `off_below`, `cycle_time` according to fan type (CPAP blower vs axial exhaust).
### Usage
- From OrcaSlicer: `M106 P0 S255` (100% CPAP), `M106 P3 S128` (~50% EXHAUST).
- Turn one off: `M107 P3`. Turn all off: `M107`.
- You can still manually use `SET_FAN_SPEED FAN=CPAP SPEED=0.7` in the Klipper console.
---
Pick the variant that best fits your workflow; the advanced version provides extra clarity and flexibility while remaining fully compatible with standard OrcaSlicer G-code output.

View File

@@ -1,14 +1,14 @@
# Adaptive Bed Mesh Support
Orca Slicer introduces comprehensive support for adaptive bed meshing across a variety of firmware, including Marlin, Klipper, and RepRapFirmware (RRF).
OrcaSlicer introduces comprehensive support for adaptive bed meshing across a variety of firmware, including Marlin, Klipper, and RepRapFirmware (RRF).
This feature allows users to seamlessly integrate adaptive bed mesh commands within the Machine Start G-code.
The implementation is designed to be straightforward, requiring no additional plugins or alterations to firmware settings, thereby enhancing user experience and print quality directly from Orca Slicer.
The implementation is designed to be straightforward, requiring no additional plugins or alterations to firmware settings, thereby enhancing user experience and print quality directly from OrcaSlicer.
![ABM-PrinterConfig](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/Adaptative-Bed-Mesh/ABM-PrinterConfig.png?raw=true)
## Settings in Orca Slicer
## Settings in OrcaSlicer
`Bed mesh min`: This option sets the min point for the allowed bed mesh area. Due to the probe's XY offset, most printers are unable to probe the entire bed. To ensure the probe point does not go outside the bed area, the minimum and maximum points of the bed mesh should be set appropriately. OrcaSlicer ensures that adaptive_bed_mesh_min/adaptive_bed_mesh_max values do not exceed these min/max points. This information can usually be obtained from your printer manufacturer. The default setting is (-99999, -99999), which means there are no limits, thus allowing probing across the entire bed.
@@ -19,7 +19,7 @@ The implementation is designed to be straightforward, requiring no additional pl
`Mesh margin`: This option determines the additional distance by which the adaptive bed mesh area should be expanded in the XY directions.
> [!NOTE]
> Klipper users: Orca Slicer will adjust adaptive bed mesh area according to the margin. It is recommended to set the margin to 0 in Klipper config or pass 0 when calling BED_MESH_CALIBRATE command(please refer to the example below).
> Klipper users: OrcaSlicer will adjust adaptive bed mesh area according to the margin. It is recommended to set the margin to 0 in Klipper config or pass 0 when calling BED_MESH_CALIBRATE command(please refer to the example below).
## Available g-code variables for Adaptive Bed Mesh Command
@@ -31,7 +31,7 @@ The implementation is designed to be straightforward, requiring no additional pl
`ALGORITHM`: Identifies the algorithm used for adaptive bed mesh interpolation. This variable is useful for Klipper users. If bed_mesh_probe_count is less than 4, the algorithm is set to `lagrange`. Otherwise, it is set to `bicubic`.
## Example of Adaptive Bed Mesh usage in Orca Slicer
## Example of Adaptive Bed Mesh usage in OrcaSlicer
### Marlin