Printer settings base (#29)

* Printer home base

* Create printer_basic_information_printable_space.md

* Document multi bed type support in printable space

Moved and expanded documentation for multi bed type support from bed-types.md to printer_basic_information_printable_space.md. The new section explains enabling multi bed types, selecting bed types, setting temperatures, and using the curr_bed_type variable in custom G-code. Removed redundant bed-types.md file.

* advance

* Create printer_basic_information_cooling_fan.md

* Create printer_basic_information_extruder_clearance.md

* adaptative bed mesh

* Printer accesory

* Update Home.md

* Create printer_machine_gcode.md

* MOVED

* Create printer_multimaterial_wipe_tower.md

* Create printer_multimaterial_setup.md

* Create printer_multimaterial_semm_parameters.md

* Create printer_multimaterial_advanced.md

* Update multimaterial setup links and remove semm.md

* Create printer_extruder_basic_information.md

* Create printer_extruder_layer_height_limits.md

* Refactor extruder docs and add retraction/Z-hop info

Moved layer height limits and extruder position sections into 'printer_extruder_basic_information.md', deleted the separate layer height limits file, and added new documentation for extruder retraction and Z-hop settings. Updated Home.md navigation to reflect these changes and improve clarity for users.

* Add printer motion ability documentation

Introduces a new markdown file detailing motion-related printer settings, including speed, acceleration, jerk limitations, resonance avoidance, and G-code emission options.

* Add icons to printer settings navigation links

Updated the printer settings section in Home.md to include relevant SVG icons for each navigation link, improving visual clarity and user experience. This change affects links under Basic Information, Multimaterial, and Extruder subsections.

* Clarify Auto option in Z-hop type documentation

Updated the description for the 'Auto' Z-hop type to specify that it selects automatically between Spiral based on whether the travel move crosses over overhang areas.

* Update printer-preset.png
This commit is contained in:
Ian Bassi
2025-11-28 13:13:49 -03:00
committed by GitHub
parent c7e9526128
commit bd323d0916
23 changed files with 793 additions and 339 deletions

27
Home.md
View File

@@ -28,11 +28,25 @@ OrcaSlicer is a powerful open source slicer for FFF (FDM) 3D Printers. This wiki
![printer](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/resources/images/printer.svg?raw=true) Settings related to the 3D printer hardware and its configuration.
- [Air filtration/Exhaust fan handling](air-filtration)
- [Auxiliary fan handling](Auxiliary-fan)
- [Chamber temperature control](chamber-temperature)
- [Adaptive Bed Mesh](adaptive-bed-mesh)
- [Using different bed types in Orca](bed-types)
- Basic Information
- ![param_printable_space](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/resources/images/param_printable_space.svg?raw=true) [Printable space](printer_basic_information_printable_space)
- ![param_advanced](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/resources/images/param_advanced.svg?raw=true) [Advanced](printer_basic_information_advanced)
- ![param_cooling_fan](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/resources/images/param_cooling_fan.svg?raw=true) [Cooling Fan](printer_basic_information_cooling_fan)
- ![param_extruder_clearence](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/resources/images/param_extruder_clearence.svg?raw=true) [Extruder Clearance](printer_basic_information_extruder_clearance)
- ![param_adaptive_mesh](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/resources/images/param_adaptive_mesh.svg?raw=true) [Adaptive bed mesh](printer_basic_information_adaptive_bed_mesh)
- ![param_accessory](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/resources/images/param_accessory.svg?raw=true) [Accessory](printer_basic_information_accessory)
- ![param_gcode](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/resources/images/param_gcode.svg?raw=true) [Machine G_Code](printer_machine_gcode)
- Multimaterial
- ![param_multi_material](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/resources/images/param_multi_material.svg?raw=true) [Multimaterial setup](printer_multimaterial_setup)
- ![param_tower](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/resources/images/param_tower.svg?raw=true) [Wipe tower](printer_multimaterial_wipe_tower)
- ![param_settings](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/resources/images/param_settings.svg?raw=true) [Single extruder multi_material parameters](printer_multimaterial_semm_parameters)
- ![param_advanced](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/resources/images/param_advanced.svg?raw=true) [Advanced](printer_multimaterial_advanced)
- Extruder
- ![param_information](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/resources/images/param_information.svg?raw=true) [Basic Information](printer_extruder_basic_information)
- ![param_retraction](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/resources/images/param_retraction.svg?raw=true) [Retraction](printer_extruder_retraction)
- ![param_retraction_material_change](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/resources/images/param_retraction_material_change.svg?raw=true) [Retraction when switching materials](printer_extruder_retraction#retraction-when-switching-materials)
- ![param_extruder_lift_enforcement](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/resources/images/param_extruder_lift_enforcement.svg?raw=true) [Z_Hop](printer_extruder_z_hop)
- ![param_acceleration](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/resources/images/param_acceleration.svg?raw=true) [Motion ability](printer_motion_ability)
## Material Settings
@@ -40,9 +54,6 @@ OrcaSlicer is a powerful open source slicer for FFF (FDM) 3D Printers. This wiki
![filament](https://github.com/OrcaSlicer/OrcaSlicer/blob/main/resources/images/filament.svg?raw=true) Settings related to the 3D printing material.
- [Single Extruder Multimaterial](semm)
- [Pellet Printers (pellet flow coefficient)](pellet-flow-coefficient)
## Process Settings
![process-preset](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/GUI/process-preset.png?raw=true)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -1,27 +0,0 @@
# Pellet Flow Coefficient
Large format printers with print volumes in the order of 1m^3 generally use pellets for printing.
The overall tech is very similar to FDM printing.
It is FDM printing, but instead of filaments, it uses pellets.
The difference here is that where filaments have a filament_diameter that is used to calculate
the volume of filament ingested, pellets have a particular flow_coefficient that is empirically
devised for that particular pellet.
pellet_flow_coefficient is basically a measure of the packing density of a particular pellet.
Shape, material and density of an individual pellet will determine the packing density and
the only thing that matters for 3d printing is how much of that pellet material is extruded by
one turn of whatever feeding mehcanism/gear your printer uses. You can emperically derive that
for your own pellets for a particular printer model.
We are translating the pellet_flow_coefficient into filament_diameter so that everything works just like it
does already with very minor adjustments.
```math
\text{filament\_diameter} = \sqrt{\frac{4 \times \text{pellet\_flow\_coefficient}}{\pi}}
```
sqrt just makes the relationship between flow_coefficient and volume linear.
higher packing density -> more material extruded by single turn -> higher pellet_flow_coefficient -> treated as if a filament of larger diameter is being used
All other calculations remain the same for slicing.

View File

@@ -1,18 +0,0 @@
# Single Extruder Multimaterial Printing in OrcaSlicer
## Introduction
In this guide, we will explain the parameters for single extruder multimaterial printing in OrcaSlicer. The whole process and parameters are same as PrusaSlicer as OrcaSlicer is based on PrusaSlicer.
OrcaSlicer has some additional features and minor differences though. We will explain them in this guide.
## Prime tower
The prime tower is a structure that is printed before the actual print to ensure that the nozzle is primed with the correct filament. It helps to prevent oozing and stringing during the print. The prime tower can be customized in various ways, such as its size, shape, and position.
## Ramming
Ramming is a technique used to push the filament through the nozzle to ensure that it is primed and ready for printing. It can be adjusted in terms of speed and distance to optimize the priming process.
## Manual filament change
Manual filament change is a feature that allows the user to change the filament during the print. This can be useful for multi-material prints or when changing colors. The user can specify the position and timing of the filament change, as well as the speed and distance of the ramming process.

View File

@@ -1,141 +0,0 @@
# Auxiliary Fan
OrcaSlicer uses `M106 P#` / `M107 P#` to control any fans managed by the slicer.
- `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.
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
# Part cooling fan
[fan_generic fan0]
pin: PA7
cycle_time: 0.01
hardware_pwm: false
# Auxiliary fan (comment out if you don't have it)
[fan_generic fan2]
pin: PA8
cycle_time: 0.01
hardware_pwm: false
# Exhaust / enclosure fan (comment out if you don't have it)
[fan_generic fan3]
pin: PA9
cycle_time: 0.01
hardware_pwm: false
[gcode_macro M106]
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,66 +0,0 @@
# Chamber Temperature Control
OrcaSlicer use `M141/M191` command to control active chamber heater.
If your Filament's `Activate temperature control` and your printer `Support control chamber temperature` option are checked , OrcaSlicer will insert `M191` command at the beginning of the gcode (before `Machine G-code`).
![Chamber-Temperature-Control-Printer](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/Chamber/Chamber-Temperature-Control-Printer.png?raw=true)
![Chamber-Temperature-Control-Material](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/Chamber/Chamber-Temperature-Control-Material.png?raw=true)
> [!NOTE]
> If the machine is equipped with an auxiliary fan, OrcaSlicer will automatically activate the fan during the heating period to help circulate air in the chamber.
## Using Chamber Temperature Variables in Machine G-code
You can use chamber temperature variables in your `Machine G-code` to control the chamber temperature manually, if desired:
- To set the chamber temperature to the value specified for the first filament:
```gcode
M191 S{chamber_temperature[0]}
```
- To set the chamber temperature to the highest value specified across all filaments:
```gcode
M191 S{overall_chamber_temperature}
```
## Klipper
If you are using Klipper, you can define these macros to control the active chamber heater.
Bellow is a reference configuration for Klipper.
> [!IMPORTANT]
> Don't forget to change the pin name/values to the actual values you are using in the configuration.
```gcode
[heater_generic chamber_heater]
heater_pin:PB10
max_power:1.0
# Orca note: here the temperature sensor should be the sensor you are using for chamber temperature, not the PTC sensor
sensor_type:NTC 100K MGB18-104F39050L32
sensor_pin:PA1
control = pid
pid_Kp = 63.418
pid_ki = 0.960
pid_kd = 1244.716
min_temp:0
max_temp:70
[gcode_macro M141]
gcode:
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={params.S|default(0)}
[gcode_macro M191]
gcode:
{% set s = params.S|float %}
{% if s == 0 %}
# If target temperature is 0, do nothing
M117 Chamber heating cancelled
{% else %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={s}
# Orca: uncomment the following line if you want to use heat bed to assist chamber heating
# M140 S100
TEMPERATURE_WAIT SENSOR="heater_generic chamber_heater" MINIMUM={s-1} MAXIMUM={s+1}
M117 Chamber at target temperature
{% endif %}
```

View File

@@ -1,39 +0,0 @@
# Air Filtration/Exhaust Fan Control in OrcaSlicer
OrcaSlicer use `M106 P3` command to control air-filtration/exhaust fan.
If you are using Klipper, you can define a `M106` macro to control both the normal part cooling fan, auxiliary fan, and exhaust fan.
Below is a reference configuration for Klipper.
> [!NOTE]
> Don't forget to change the pin name to the actual pin name you are using in the configuration.
```ini
# instead of using [fan], we define the default part cooling fan with [fan_generic] here
# this is the default 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
[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
[fan_generic fan3]
pin: PA9
cycle_time: 0.01
hardware_pwm: false
[gcode_macro M106]
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}
```

View File

@@ -0,0 +1,284 @@
# Printer Accessory
- [Nozzle type](#nozzle-type)
- [Nozzle HRC](#nozzle-hrc)
- [Auxiliary Part Cooling Fan](#auxiliary-part-cooling-fan)
- [Auxiliary Fan](#auxiliary-fan)
- [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)
- [Support controlling chamber temperature](#support-controlling-chamber-temperature)
- [Using Chamber Temperature Variables in Machine G-code](#using-chamber-temperature-variables-in-machine-g-code)
- [Klipper Chamber Temperature](#klipper-chamber-temperature)
- [Support air filtration](#support-air-filtration)
## Nozzle type
The metallic material of the nozzle: This determines the abrasive resistance of the nozzle and what kind of filament can be printed.
## Nozzle HRC
The nozzle's hardness. Zero means no checking for nozzle hardness during slicing.
## Auxiliary Part Cooling Fan
Enable this option if machine has auxiliary part cooling fan. G-code command: M106 P2 S(0-255).
### Auxiliary Fan
OrcaSlicer uses `M106 P#` / `M107 P#` to control any fans managed by the slicer.
- `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.
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.
- [Nozzle type](#nozzle-type)
- [Nozzle HRC](#nozzle-hrc)
- [Auxiliary Part Cooling Fan](#auxiliary-part-cooling-fan)
- [Auxiliary Fan](#auxiliary-fan)
- [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)
- [Support controlling chamber temperature](#support-controlling-chamber-temperature)
- [Using Chamber Temperature Variables in Machine G-code](#using-chamber-temperature-variables-in-machine-g-code)
- [Klipper Chamber Temperature](#klipper-chamber-temperature)
- [Support air filtration](#support-air-filtration)
#### 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
# Part cooling fan
[fan_generic fan0]
pin: PA7
cycle_time: 0.01
hardware_pwm: false
# Auxiliary fan (comment out if you don't have it)
[fan_generic fan2]
pin: PA8
cycle_time: 0.01
hardware_pwm: false
# Exhaust / enclosure fan (comment out if you don't have it)
[fan_generic fan3]
pin: PA9
cycle_time: 0.01
hardware_pwm: false
[gcode_macro M106]
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.
## Support controlling chamber temperature
OrcaSlicer use `M141/M191` command to control active chamber heater.
If your Filament's `Activate temperature control` and your printer `Support control chamber temperature` option are checked , OrcaSlicer will insert `M191` command at the beginning of the gcode (before `Machine G-code`).
![Chamber-Temperature-Control-Printer](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/Chamber/Chamber-Temperature-Control-Printer.png?raw=true)
![Chamber-Temperature-Control-Material](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/Chamber/Chamber-Temperature-Control-Material.png?raw=true)
> [!NOTE]
> If the machine is equipped with an auxiliary fan, OrcaSlicer will automatically activate the fan during the heating period to help circulate air in the chamber.
### Using Chamber Temperature Variables in Machine G-code
You can use chamber temperature variables in your `Machine G-code` to control the chamber temperature manually, if desired:
- To set the chamber temperature to the value specified for the first filament:
```gcode
M191 S{chamber_temperature[0]}
```
- To set the chamber temperature to the highest value specified across all filaments:
```gcode
M191 S{overall_chamber_temperature}
```
### Klipper Chamber Temperature
If you are using Klipper, you can define these macros to control the active chamber heater.
Bellow is a reference configuration for Klipper.
> [!IMPORTANT]
> Don't forget to change the pin name/values to the actual values you are using in the configuration.
```gcode
[heater_generic chamber_heater]
heater_pin:PB10
max_power:1.0
# Orca note: here the temperature sensor should be the sensor you are using for chamber temperature, not the PTC sensor
sensor_type:NTC 100K MGB18-104F39050L32
sensor_pin:PA1
control = pid
pid_Kp = 63.418
pid_ki = 0.960
pid_kd = 1244.716
min_temp:0
max_temp:70
[gcode_macro M141]
gcode:
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={params.S|default(0)}
[gcode_macro M191]
gcode:
{% set s = params.S|float %}
{% if s == 0 %}
# If target temperature is 0, do nothing
M117 Chamber heating cancelled
{% else %}
SET_HEATER_TEMPERATURE HEATER=chamber_heater TARGET={s}
# Orca: uncomment the following line if you want to use heat bed to assist chamber heating
# M140 S100
TEMPERATURE_WAIT SENSOR="heater_generic chamber_heater" MINIMUM={s-1} MAXIMUM={s+1}
M117 Chamber at target temperature
{% endif %}
```
## Support air filtration
Air Filtration/Exhaust Fan Control in OrcaSlicer.
OrcaSlicer use `M106 P3` command to control air-filtration/exhaust fan.
If you are using Klipper, you can define a `M106` macro to control both the normal part cooling fan, auxiliary fan, and exhaust fan.
Below is a reference configuration for Klipper.
> [!NOTE]
> Don't forget to change the pin name to the actual pin name you are using in the configuration.
```ini
# instead of using [fan], we define the default part cooling fan with [fan_generic] here
# this is the default 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
[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
[fan_generic fan3]
pin: PA9
cycle_time: 0.01
hardware_pwm: false
[gcode_macro M106]
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}
```

View File

@@ -1,22 +1,35 @@
# Adaptive Bed Mesh Support
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 OrcaSlicer.
# Adaptive Bed Mesh
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 OrcaSlicer.
![ABM-PrinterConfig](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/Adaptative-Bed-Mesh/ABM-PrinterConfig.png?raw=true)
## Settings in OrcaSlicer
- [Bed mesh min](#bed-mesh-min)
- [Bed mesh max](#bed-mesh-max)
- [Probe point distance](#probe-point-distance)
- [Mesh margin](#mesh-margin)
- [Available g-code variables for Adaptive Bed Mesh Command](#available-g-code-variables-for-adaptive-bed-mesh-command)
- [Example of Adaptive Bed Mesh usage in OrcaSlicer](#example-of-adaptive-bed-mesh-usage-in-orcaslicer)
- [Marlin](#marlin)
- [Klipper](#klipper)
- [RRF](#rrf)
`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.
## Bed mesh min
`Bed mesh max`: This option sets the max 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.
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.
`Probe point distance`: This option sets the preferred distance between probe points (grid size) for the X and Y directions, with the default being 50mm for both X and Y.
## Bed mesh max
`Mesh margin`: This option determines the additional distance by which the adaptive bed mesh area should be expanded in the XY directions.
This option sets the max 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.
## Probe point distance
This option sets the preferred distance between probe points (grid size) for the X and Y directions, with the default being 50mm for both X and Y.
## 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: 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).

View File

@@ -0,0 +1,67 @@
# Advanced Printer Settings
Advanced settings related to the printer configuration.
- [Printer structure](#printer-structure)
- [G-code flavor](#g-code-flavor)
- [Pellet Modded Printer](#pellet-modded-printer)
- [Disable set remaining print time](#disable-set-remaining-print-time)
- [G-code thumbnails](#g-code-thumbnails)
- [Use relative E distances](#use-relative-e-distances)
- [Use firmware retraction](#use-firmware-retraction)
- [Bed temperature type](#bed-temperature-type)
- [Time cost](#time-cost)
## Printer structure
The physical arrangement and components of a printing device.
## G-code flavor
What kind of G-code the printer is compatible with.
## Pellet Modded Printer
Enable this option if your printer uses pellets instead of filaments.
Large format printers with print volumes in the order of 1m^3 generally use pellets for printing.
The overall tech is very similar to FDM printing.
It is FDM printing, but instead of filaments, it uses pellets.
The difference here is that where filaments have a filament_diameter that is used to calculate the volume of filament ingested, pellets have a particular flow_coefficient that is empirically devised for that particular pellet.
pellet_flow_coefficient is basically a measure of the packing density of a particular pellet.
Shape, material and density of an individual pellet will determine the packing density and the only thing that matters for 3d printing is how much of that pellet material is extruded by one turn of whatever feeding mehcanism/gear your printer uses. You can emperically derive that for your own pellets for a particular printer model.
We are translating the pellet_flow_coefficient into filament_diameter so that everything works just like it does already with very minor adjustments.
```math
\text{filament\_diameter} = \sqrt{\frac{4 \times \text{pellet\_flow\_coefficient}}{\pi}}
```
sqrt just makes the relationship between flow_coefficient and volume linear.
Higher packing density -> more material extruded by single turn -> higher pellet_flow_coefficient -> treated as if a filament of larger diameter is being used. All other calculations remain the same for slicing.
## Disable set remaining print time
Disable generating of the M73: Set remaining print time in the final G-code.
## G-code thumbnails
Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the following format: "XxY, XxY, ..."
## Use relative E distances
Relative extrusion is recommended when using "label_objects" option. Some extruders work better with this option unchecked (absolute extrusion mode). Wipe tower is only compatible with relative mode. It is recommended on most printers. Default is checked.
## Use firmware retraction
This experimental setting uses G10 and G11 commands to have the firmware handle the retraction. This is only supported in recent Marlin.
## Bed temperature type
This option determines how the bed temperature is set during slicing: based on the temperature of the first filament or the highest temperature of the printed filaments.
## Time cost
The printer cost per hour.

View File

@@ -0,0 +1,20 @@
# Cooling Fan
Machine cooling fan settings.
## Fan speed-up time
Start the fan this number of seconds earlier than its target start time (you can use fractional seconds). It assumes infinite acceleration for this time estimation, and will only take into account G1 and G0 moves (arc fitting is unsupported).
It won't move fan commands from custom G-code (they act as a sort of 'barrier').
It won't move fan commands into the start G-code if the 'only custom start G-code' is activated.
Use 0 to deactivate.
### Only overhangs
Will only take into account the delay for the cooling of overhangs.
## Fan kick-start time
Emit a max fan speed command for this amount of seconds before reducing to target speed to kick-start the cooling fan.
This is useful for fans where a low PWM/power may be insufficient to get the fan started spinning from a stop, or to get the fan up to speed faster.
Set to 0 to deactivate.

View File

@@ -0,0 +1,15 @@
# Extruder Clearance
Extruder clearance settings define the minimum distances required around the extruder to avoid collisions with the print bed, rods, or lid during printing. These settings are particularly important for printers with complex geometries or when using by-object printing modes.
## Radius
Clearance radius around extruder: used for collision avoidance in by-object printing.
## Height to rod
Distance from the nozzle tip to the lower rod. Used for collision avoidance in by-object printing.
## Height to lid
Distance from the nozzle tip to the lid. Used for collision avoidance in by-object printing.

View File

@@ -0,0 +1,89 @@
# Printable Space
This section defines the printers physical build area and how the slicer maps models to it. Configure the bed shape, dimensions and origin so the virtual bed matches your machine; use a circular or rectangular profile for standard beds or supply an STL for custom shapes. Add a texture or model to improve visual alignment in the 3D view.
Specify any excluded (unprintable) regions as a polygon so the arranger avoids them. Set the printable height to your maximum Z travel, and use Z offset to correct endstop inaccuracies (this value is added to every Z coordinate in exported Gcode). The best object position is a normalized [01] preference used by automatic arranging, and preferred orientation controls automatic Z-axis alignment on import.
- [Printable area (Bed Shape)](#printable-area-bed-shape)
- [Shape](#shape)
- [Settings](#settings)
- [Texture](#texture)
- [Model](#model)
- [Excluded bed area](#excluded-bed-area)
- [Printable height](#printable-height)
- [Support multi bed types](#support-multi-bed-types)
- [Best object position](#best-object-position)
- [Z offset](#z-offset)
- [Preferred orientation](#preferred-orientation)
## Printable area (Bed Shape)
Defines the printable area on the print bed.
### Shape
Shape of the printable area on the print bed.
- Rectangular: Standard rectangular print bed.
- Circular: Circular print bed.
- Custom: Custom shape defined by STL file.
### Settings
- Size: Size in X and Y of the rectangular plate.
- Origin: Distance of the 0,0 G-code coordinate from the front left corner of the rectangle.
### Texture
SVG or PNG texture image file to be used as a background for the print bed in the 3D view.
### Model
STL file defining the custom shape of the print bed.
## Excluded bed area
Unprintable area in XY plane. For example, X1 Series printers use the front left corner to cut filament during filament change. The area is expressed as polygon by points in following format: "XxY, XxY, ..."
## Printable height
This is the maximum printable height which is limited by the height of the build area.
## Support multi bed types
You can enable it in printer settings.
Once enabled, you can select the bed type in the drop-down menu, corresponding bed temperature will be set automatically.
You can set the bed temperature for each bed type in the filament settings as demonstrated in the following image.
![bed-types](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/bed-types.gif?raw=true)//TODO: UPDATE IMAGE
Orca also support `curr_bed_type` variable in custom G-code.
For example, the following sample G-codes can detect the selected bed type and adjust the G-code offset accordingly for Klipper:
```c++
{if curr_bed_type=="Textured PEI Plate"}
SET_GCODE_OFFSET Z=-0.05
{else}
SET_GCODE_OFFSET Z=0.0
{endif}
```
Available bed types are:
- Cool Plate
- Engineering Plate
- High Temp Plate
- Textured PEI Plate
## Best object position
Best auto arranging position in range [0,1] w.r.t. bed shape.
## Z offset
This value will be added (or subtracted) from all the Z coordinates in the output G-code. It is used to compensate for bad Z endstop position: for example, if your endstop zero actually leaves the nozzle 0.3mm far from the print bed, set this to -0.3 (or fix your endstop).
## Preferred orientation
Automatically orient STL files on the Z axis upon initial import.

View File

@@ -1,28 +0,0 @@
# Multiple bed types
You can enable it in printer settings.
Once enabled, you can select the bed type in the drop-down menu, corresponding bed temperature will be set automatically.
You can set the bed temperature for each bed type in the filament settings as demonstrated in the following image.
![bed-types](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/bed-types.gif?raw=true)
Orca also support `curr_bed_type` variable in custom G-code.
For example, the following sample G-codes can detect the selected bed type and adjust the G-code offset accordingly for Klipper:
```c++
{if curr_bed_type=="Textured PEI Plate"}
SET_GCODE_OFFSET Z=-0.05
{else}
SET_GCODE_OFFSET Z=0.0
{endif}
```
available bed types are:
```c++
"Cool Plate"
"Engineering Plate"
"High Temp Plate"
"Textured PEI Plate"
```

View File

@@ -0,0 +1,19 @@
# Basic Extruder Information
This section contains the basic information about the extruder.
## Nozzle diameter
The diameter of nozzle.
## Nozzle volume
Volume of nozzle between the filament cutter and the end of the nozzle
## Extruder Layer Height Limits
Min and max layer height limits for the extruder. These settings are used when adaptive layer height is enabled.
## Extruder offset Position
If your firmware doesn't handle the extruder displacement you need the G-code to take it into account. This option lets you specify the displacement of each extruder with respect to the first one. It expects positive coordinates (they will be subtracted from the XY coordinate).

View File

@@ -0,0 +1,61 @@
# Retraction
Retraction state at the beginning of the custom G-code block. If the custom G-code moves the extruder axis, it should write to this variable so OrcaSlicer de-retracts correctly when it gets control back.
- [Length](#length)
- [Extra length on restart](#extra-length-on-restart)
- [Retraction speed](#retraction-speed)
- [Deretraction speed](#deretraction-speed)
- [Travel distance threshold](#travel-distance-threshold)
- [Retract on layer change](#retract-on-layer-change)
- [Wipe while retracting](#wipe-while-retracting)
- [Wipe distance](#wipe-distance)
- [Retract amount before wipe](#retract-amount-before-wipe)
- [Retraction When Switching Materials](#retraction-when-switching-materials)
- [Long retraction when cut (beta)](#long-retraction-when-cut-beta)
## Length
When retraction is triggered before changing tool, filament is pulled back by the specified amount (the length is measured on raw filament, before it enters the extruder).
## Extra length on restart
When the retraction is compensated after changing tool, the extruder will push this additional amount of filament.
## Retraction speed
Speed for retracting filament from the nozzle.
## Deretraction speed
Speed for reloading filament into the nozzle. Zero means same speed of retraction.
## Travel distance threshold
Only trigger retraction when the travel distance is longer than this threshold.
## Retract on layer change
This forces a retraction on layer changes.
## Wipe while retracting
This moves the nozzle along the last extrusion path when retracting to clean any leaked material on the nozzle. This can minimize blobs when printing a new part after traveling.
## Wipe distance
Describe how long the nozzle will move along the last path when retracting.
Depending on how long the wipe operation lasts, how fast and long the extruder/filament retraction settings are, a retraction move may be needed to retract the remaining filament.
Setting a value in the retract amount before wipe setting below will perform any excess retraction before the wipe, else it will be performed after.
## Retract amount before wipe
This is the length of fast retraction before a wipe, relative to retraction length.
## Retraction When Switching Materials
Retraction settings specifically for material changes during tool changes in multi-material prints.
### Long retraction when cut (beta)
Experimental feature: Retracting and cutting off the filament at a longer distance during changes to minimize purge. While this reduces flush significantly, it may also raise the risk of nozzle clogs or other printing problems.

View File

@@ -0,0 +1,30 @@
# Z Hop
Z-Hop is a feature that lifts the nozzle slightly during travel moves to avoid collisions with the printed object. This is particularly useful for prints with tall, thin features or when printing multiple objects on the build plate.
## On surfaces
Enforce Z-Hop behavior. This setting is impacted by the above settings (Only lift Z above/below).
## Z-hop type
- Auto: Selects automatically between Spiral based on whether the travel move crosses over overhang areas
- Normal Lift: The nozzle is lifted vertically during retraction and lowered back down before resuming printing.
- Slope: The nozzle moves diagonally (at an angle) during retraction, creating a sloped path.
- Spiral: The nozzle moves in a spiral pattern while lifting, which can help reduce stringing and improve print quality.
## Z-hop height
Whenever there is a retraction, the nozzle is lifted a little to create clearance between the nozzle and the print. This prevents the nozzle from hitting the print when traveling more. Using spiral lines to lift z can prevent stringing.
## Traveling angle
Traveling angle for Slope and Spiral Z-hop type. Setting it to 90° results in Normal Lift.
## Only lift Z above
If you set this to a positive value, Z lift will only take place above the specified absolute Z.
## Only lift Z below
If you set this to a positive value, Z lift will only take place below the specified absolute Z.

View File

@@ -0,0 +1,54 @@
# Machine G-code
Machine G-code are custom G-code scripts that are executed at specific points during the printing process. These scripts can be used to customize printer behavior, such as setting temperatures, moving the print head, or controlling fans.
- [Machine start G-code](#machine-start-g-code)
- [Machine end G-code](#machine-end-g-code)
- [Printing by object G-code](#printing-by-object-g-code)
- [Before layer change G-code](#before-layer-change-g-code)
- [Layer change G-code](#layer-change-g-code)
- [Timelapse G-code](#timelapse-g-code)
- [Change filament G-code](#change-filament-g-code)
- [Change extrusion role G-code](#change-extrusion-role-g-code)
- [Pause G-code](#pause-g-code)
- [Template Custom G-code](#template-custom-g-code)
## Machine start G-code
This G-code is executed at the beginning of a print job, before any printing starts. It is typically used to prepare the printer for printing, such as homing axes, heating the bed and nozzle, and performing any necessary pre-print checks.
## Machine end G-code
This G-code is executed at the end of a print job, after all printing is complete. It is typically used to turn off heaters, move the print head away from the print, and perform any necessary post-print actions.
## Printing by object G-code
This G-code is executed at the start of printing each individual object in a multi-object print job. It can be used to set specific parameters or perform actions for each object.
## Before layer change G-code
This G-code is inserted at every layer change before the Z lift.
## Layer change G-code
This G-code is inserted at every layer change after the Z lift.
## Timelapse G-code
This G-code is used for capturing timelapse videos. It typically includes commands to move the print head out of the way for a photo and then return it to the previous position.
## Change filament G-code
This G-code is inserted when filament is changed, including T commands to trigger tool change.
## Change extrusion role G-code
This G-code is inserted when the extrusion role is changed.
## Pause G-code
This G-code will be used as a code for the pause print. Users can insert pause G-code in the G-code viewer.
## Template Custom G-code
This section allows users to define custom G-code templates that can be reused across different print jobs. Users can create and manage their own G-code snippets for various purposes.

View File

@@ -0,0 +1,45 @@
# Motion Ability
Settings related to the motion capabilities of the printer.
- [Emit limits to G-code](#emit-limits-to-g-code)
- [Resonance Avoidance](#resonance-avoidance)
- [Resonance Avoidance Speed](#resonance-avoidance-speed)
- [Speed limitation](#speed-limitation)
- [Acceleration limitation](#acceleration-limitation)
- [Jerk limitation](#jerk-limitation)
- [Maximum Junction Deviation](#maximum-junction-deviation)
- [Maximum Jerk](#maximum-jerk)
## Emit limits to G-code
If enabled, the machine limits will be emitted to G-code file.
This option will be ignored if the G-code flavor is set to Klipper.
## Resonance Avoidance
### Resonance Avoidance Speed
By reducing the speed of the outer wall to avoid the resonance zone of the printer, ringing on the surface of the model are avoided.
## Speed limitation
Safeguard maximum speeds for all axes.
This will cap the speed set by the process if it exceeds these values.
## Acceleration limitation
Safeguard maximum accelerations for all axes.
This will cap the acceleration set by the process if it exceeds these values.
## Jerk limitation
Safeguard maximum jerks for all axes.
### Maximum Junction Deviation
Maximum junction deviation (M205 J, only apply if JD > 0 for Marlin Firmware. If your Marlin 2 printer uses Classic Jerk set this value to 0.)
### Maximum Jerk
Maximum jerk for each axis (M205 X, Y, Z, E, only apply if JD = 0 for Marlin 2 Firmware)

View File

@@ -0,0 +1,15 @@
# Advanced Multi-Material Settings
This section describes advanced settings for multi-material printing.
## Filament load time
Time to load new filament when switch filament. It's usually applicable for single-extruder multi-material machines. For tool changers or multi-tool machines, it's typically 0. For statistics only.
## Filament unload time
Time to unload old filament when switch filament. It's usually applicable for single-extruder multi-material machines. For tool changers or multi-tool machines, it's typically 0. For statistics only.
## Tool change time
Time taken to switch tools. It's usually applicable for tool changers or multi-tool machines. For single-extruder multi-material machines, it's typically 0. For statistics only.

View File

@@ -0,0 +1,23 @@
# Single Extruder Multi-Material Parameters
This section describes the parameters specific to single extruder multi-material (SEMM) printing.
## Cooling tube position
Distance of the center-point of the cooling tube from the extruder tip.
## Cooling tube length
Length of the cooling tube to limit space for cooling moves inside it.
## Filament parking position
Distance of the extruder tip from the position where the filament is parked when unloaded. This should match the value in printer firmware.
## Extra loading distance
When set to zero, the distance the filament is moved from parking position during load is exactly the same as it was moved back during unload. When positive, it is loaded further, if negative, the loading move is shorter than unloading.
## High extruder current on filament swap
It may be beneficial to increase the extruder motor current during the filament exchange sequence to allow for rapid ramming feed rates and to overcome resistance when loading a filament with an ugly shaped tip.

View File

@@ -0,0 +1,16 @@
# Multimaterial setup
Basic setup for multimaterial printing.
## Single Extruder Multi Material
Use single nozzle to print multi filament.
## Extruders
Number of extruders of the printer.
## Manual Filament Change
Manual filament change is a feature that allows the user to change the filament during the print. This can be useful for multi-material prints or when changing colors. The user can specify the position and timing of the filament change, as well as the speed and distance of the ramming process.
Enable this option to omit the custom Change filament G-code only at the beginning of the print. The tool change command (e.g., T0) will be skipped throughout the entire print. This is useful for manual multi-material printing, where we use M600/PAUSE to trigger the manual filament change action.

View File

@@ -0,0 +1,11 @@
# Wipe Tower
The prime tower is a structure that is printed before the actual print to ensure that the nozzle is primed with the correct filament. It helps to prevent oozing and stringing during the print. The prime tower can be customized in various ways, such as its size, shape, and position.
## Purge in prime tower
Purge remaining filament into prime tower.
## Enable filament ramming
Enable filament ramming