Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DOC: RatOS V2.1 documentation #129

Draft
wants to merge 139 commits into
base: v2.1.x
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
139 commits
Select commit Hold shift + click to select a range
c9be1bd
DOC: slicer gcodes for ratos 2.1
HelgeKeck Jun 2, 2024
d842827
DOC: slicers - chamber temp added to super slicer config
HelgeKeck Jun 2, 2024
054bdbf
DOC: macros
HelgeKeck Jun 2, 2024
6d0673d
DOC: macros- hooks added
HelgeKeck Jun 2, 2024
2d9197a
DOC: beacon contact
HelgeKeck Jun 2, 2024
e0cb04f
DOC: filament sensors
HelgeKeck Jun 2, 2024
42879cb
DOC: macros list added for reference
HelgeKeck Jun 2, 2024
05793d9
DOC: beacon improvements
HelgeKeck Jun 3, 2024
268082e
DOC: gantry twist measurement macro added to beacon doc
HelgeKeck Jun 3, 2024
b0aafd1
DOC: beacon headline formatting fixed
HelgeKeck Jun 3, 2024
2f48aed
DOC: Measuring z-axis backlash added to beacon doc
HelgeKeck Jun 3, 2024
03a4c4f
DOC: beacon calibration macro names changes since they are now expose…
HelgeKeck Jun 3, 2024
191d5f7
DOC: adding ideamaker and simplify 3d adaptive mesh variables
HelgeKeck Jun 3, 2024
4c53f07
DOC: adding cura adaptive mesh configuration
HelgeKeck Jun 3, 2024
97e638b
DOC: macro path in slicer doc fixed
HelgeKeck Jun 3, 2024
b82646b
DOC: adaptive bed mesh updated
HelgeKeck Jun 3, 2024
809fdb5
DOC: index for slicer doc
HelgeKeck Jun 3, 2024
7e703b9
DOC: adaptive bed mesh changed reference point to zero reference posi…
HelgeKeck Jun 3, 2024
ae4baef
DOC: removed pam and kamp
HelgeKeck Jun 3, 2024
c47402e
DOC: adaptive mesh doc updated
HelgeKeck Jun 3, 2024
b6dfa86
DOC: typo in adaptve bed mesh doc fixed
HelgeKeck Jun 3, 2024
8532355
DOC: adaptive bed mesh prime config added
HelgeKeck Jun 3, 2024
1f68b3e
DOC: making the table headers left aligned in the adaptive mesh doc
HelgeKeck Jun 3, 2024
826cb43
DOC: index added to beacon doc
HelgeKeck Jun 3, 2024
2734294
DOC: headlines format changed
HelgeKeck Jun 3, 2024
353fa85
DOC: index added to macros.md
HelgeKeck Jun 3, 2024
91e90c3
DOC: macros.md updated
HelgeKeck Jun 3, 2024
0bf4f6a
DOC: readbility for macros.md imrpoved
HelgeKeck Jun 3, 2024
9d692bc
DOC: bed mesh doc improved
HelgeKeck Jun 3, 2024
0e7954a
DOC: added heated chamber comment to final beacon calibration
HelgeKeck Jun 5, 2024
80ff465
DOC: more macro docs added
HelgeKeck Jun 5, 2024
5658e8f
DOC: filament macros added
HelgeKeck Jun 5, 2024
d61d96e
DOC: idex macros added
HelgeKeck Jun 5, 2024
8d4d2dc
DOC: idex doc improved
HelgeKeck Jun 5, 2024
a882c6f
DOC: idex doc improved
HelgeKeck Jun 5, 2024
0a20135
DOC: idex doc improved
HelgeKeck Jun 5, 2024
6f325e1
DOC: led doc added
HelgeKeck Jun 5, 2024
6ce3373
DOC: led control improved
HelgeKeck Jun 5, 2024
c5dd448
DOC: chamber temp parameter added to orca slicer profile
HelgeKeck Jun 5, 2024
ab063e6
DOC: prusa slicer chamber temp options
HelgeKeck Jun 5, 2024
c2d2b80
DOC: pa doc improved
HelgeKeck Jun 5, 2024
3f4eeef
DOC: beacon contact enabled by default
HelgeKeck Jun 6, 2024
4070db2
DOC: beacon doc updated to match the new VAOC UI
HelgeKeck Jun 6, 2024
af978de
DOC: slicer doc updated
HelgeKeck Jun 6, 2024
449b255
DOC: added G90 for SS start gcode
HelgeKeck Jun 6, 2024
c0a5b75
DOC: added G90 for SS idex start print
HelgeKeck Jun 6, 2024
9709af4
DOC: ss start gcode fixed
HelgeKeck Jun 6, 2024
c41c932
DOC: slicer info boxes updated
HelgeKeck Jun 6, 2024
14da1d5
DOC: removed double info box
HelgeKeck Jun 6, 2024
6cb8a04
DOC: setting ratos relative_extrusion variable for SS
HelgeKeck Jun 6, 2024
53894f1
DOC: islicer doc improved readability
HelgeKeck Jun 6, 2024
429d418
DOC: relative_extrusion varaible added to ss idex config
HelgeKeck Jun 6, 2024
2269c2a
DOC: adding idex related configurations
HelgeKeck Jun 6, 2024
9303e1d
DOC: led for idex fixed
HelgeKeck Jun 7, 2024
f0a3616
Docs: fix orbiter sensor pin example
miklschmidt Jun 7, 2024
5143472
DOCS: filament sensors improved
HelgeKeck Jun 8, 2024
5976694
DOC: adding parking variables for runout detection
HelgeKeck Jun 10, 2024
a0dcbf2
DOC: beacon doc improved
HelgeKeck Jun 10, 2024
0434fb1
DOCS: beacon doc improved
HelgeKeck Jun 10, 2024
71bccb3
DOC: chamber filter control doc added
HelgeKeck Jun 12, 2024
a28fc89
DOC: macro hooks added to chamber filter control
HelgeKeck Jun 13, 2024
57722bd
DOC: chamber fitler headlines changed
HelgeKeck Jun 13, 2024
b86c1f1
DOC: renamed delayed gcode to gcode for chamber filter control
HelgeKeck Jun 13, 2024
8d464a2
DOC: beacon doc updated
HelgeKeck Jun 18, 2024
b56ef9c
DOC: beacon doc updated
HelgeKeck Jun 18, 2024
b7d37b7
DOC: beacon doc updated
HelgeKeck Jun 18, 2024
a2872dd
DOC: beacon doc updated
HelgeKeck Jun 18, 2024
e4cc991
DOC: beacon doc bed etemp paramter inof added
HelgeKeck Jun 18, 2024
073a61a
DOC: beacon doc override info added
HelgeKeck Jun 18, 2024
eb68c4a
DOC: beacon doc updated
HelgeKeck Jun 18, 2024
7cb343a
DOC: changed BEACON_APPLY_MULTIPLIER to SAVE_Z_OFFSET
HelgeKeck Jun 19, 2024
493007b
Docs: instruct users to uncheck temp commands box in PS
miklschmidt Jun 19, 2024
49e04ab
DOC: beacn doc updated
HelgeKeck Jun 20, 2024
83fae30
DOC: chamber heater control added
HelgeKeck Jun 23, 2024
81f8432
DOC: unneded desc from chamber heater doc removed
HelgeKeck Jun 23, 2024
e5e67c7
DOC: chamber heater doc improved
HelgeKeck Jun 23, 2024
220f1aa
DOC: moved chamber heating bed temp
HelgeKeck Jun 23, 2024
abdfd57
DOC: chamber heater doc improved
HelgeKeck Jun 23, 2024
9c9e748
DOC: double word removed in chamber heater doc
HelgeKeck Jun 23, 2024
ce6e005
DOC: wrong config in chamber heater fixed
HelgeKeck Jun 24, 2024
12c9fb1
DOC: chamber heater doc updated
HelgeKeck Jun 24, 2024
650d496
DOC: variable_beacon_contact_wipe_before_calibrate added to beacon doc
HelgeKeck Jun 27, 2024
5e1d853
DOC: Automated Beacon Scan Compensation added to beacon doc
HelgeKeck Jun 29, 2024
3f887e4
DOC: Automated Beacon Scan Compensation infos improved
HelgeKeck Jun 29, 2024
09178c0
DOC: images added to beacon doc
HelgeKeck Jun 29, 2024
d5ba7f0
DOC: Automated Beacon Scan Compensation improved
HelgeKeck Jun 30, 2024
3a99c9c
DOC: Automated Beacon Scan Compensation improved
HelgeKeck Jun 30, 2024
2eaf181
DOC: Automated Beacon Scan Compensation improved
HelgeKeck Jun 30, 2024
00003a9
DOC: Automated Beacon Scan Compensation improved
HelgeKeck Jun 30, 2024
45d3caa
DOC: Automated Beacon Scan Compensation
HelgeKeck Jun 30, 2024
182eb33
DOC: beacon scan doc updated
HelgeKeck Jun 30, 2024
f87eb39
DOC: beacon doc updated
HelgeKeck Jun 30, 2024
6fca189
DOC: beacon doc improved
HelgeKeck Jun 30, 2024
d276ac9
DOC: images removed
HelgeKeck Jun 30, 2024
518eaae
DOC: typo in beacon doc fixed
HelgeKeck Jun 30, 2024
bc1e6ad
DOC: beacon doc typo fixed
HelgeKeck Jun 30, 2024
48ce2aa
DOC: chamber heater doc updated
HelgeKeck Jun 30, 2024
6e9d3f6
DOC: typo in beacon doc fixed
HelgeKeck Jun 30, 2024
dd6192c
DOC: chamber heater updated
HelgeKeck Jul 1, 2024
f9c0cad
DOC: chamber heater doc updated
HelgeKeck Jul 1, 2024
e71869a
DOC: chamber heater user hooks added
HelgeKeck Jul 1, 2024
b7669c6
DOC: chamber heater hooks title capitalized
HelgeKeck Jul 1, 2024
9a1c4ca
DOC: chamber heater extra fan description imporved
HelgeKeck Jul 1, 2024
3f87fbe
DOC: chamber heater doc updated
HelgeKeck Jul 1, 2024
e74c014
DOC: beacon doc updated
HelgeKeck Jul 4, 2024
e69361f
DOC: beacon doc updated
HelgeKeck Jul 4, 2024
494105b
DOC: beacon doc updated
HelgeKeck Jul 5, 2024
53d57cd
DOC: beacon doc uodated
HelgeKeck Jul 5, 2024
f286bb8
DOC: beacon doc updated
HelgeKeck Jul 6, 2024
4e4c8f6
DOC: beacon poke results updated
HelgeKeck Jul 17, 2024
df6812a
beacon doc updated
HelgeKeck Aug 17, 2024
877fb28
changed BEACON_RATOS_CALIBRATION to BEACON_RATOS_CALIBRATE
HelgeKeck Aug 18, 2024
31465c0
beacon doc updated
HelgeKeck Aug 21, 2024
8243a9e
DOC: orbiter smart filament sensor example config added
HelgeKeck Aug 24, 2024
13fc30b
beacon doc improved
HelgeKeck Aug 25, 2024
cf50583
Update beacon_contact.md
HelgeKeck Aug 26, 2024
a26cf4b
DOC: beacno doc updated
HelgeKeck Sep 30, 2024
267bc3a
Docs: clarify that beacon calibration chamber temp param is optional
miklschmidt Sep 30, 2024
98a7da9
Docs: update beacon doc to reflect new variable names and defaults.
miklschmidt Sep 30, 2024
82998b8
Docs: update beacon doc to reflect new true_zero variable instead of …
miklschmidt Sep 30, 2024
988b233
Docs: add FAQ section to beacon doc with filament offset question.
miklschmidt Oct 1, 2024
71fef8e
Docs: fix beacon FAQ section title in table of contents.
miklschmidt Oct 1, 2024
3335928
DOC: missing end gcode for prusal slice radded
HelgeKeck Oct 2, 2024
b1581d1
DOC: respect new chamber temp ability from prusa slicer
HelgeKeck Oct 2, 2024
4897ab3
DOC: add idex chamber temp variables
HelgeKeck Oct 8, 2024
afa0b82
DOC: correct chamber temp variable for PS
HelgeKeck Oct 8, 2024
920880e
DOC: minimal chamber temp variable for PS
HelgeKeck Oct 8, 2024
5d31459
DOC: ps chamber variables fixed
HelgeKeck Oct 8, 2024
fce09ac
Revert "DOC: ps chamber variables fixed"
HelgeKeck Oct 8, 2024
fb3e8a9
DOC: revert idex chamber temp
HelgeKeck Oct 8, 2024
04498df
DOC: temporarily working chamber temp variables, without idex specific
HelgeKeck Oct 8, 2024
603cb0b
DOC: correct START_CHAMBER_TEMP variable
HelgeKeck Oct 8, 2024
72b309b
DOC: removed start chamber temp from super slicer profile
HelgeKeck Nov 4, 2024
ecef37b
Docs: clarify difference between external/internal chamber heater
miklschmidt Nov 6, 2024
25dee0d
DOC: cura coasting warning added
HelgeKeck Nov 7, 2024
847ad0b
DOC: Disable any "advanced extruder pressure" settings added to slice…
HelgeKeck Nov 7, 2024
ff0c171
DOC: changed SS and OS recommendation
HelgeKeck Nov 7, 2024
532c9b2
DOC: pause gcode added to slicer doc
HelgeKeck Nov 10, 2024
a9b9246
DOC: disable arc fitting for all slicers
HelgeKeck Nov 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added site/docs/configuration/_media/0degree.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added site/docs/configuration/_media/90degree.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
131 changes: 39 additions & 92 deletions site/docs/configuration/adaptive-meshing.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,116 +2,63 @@
sidebar_position: 2
---

# Adaptive Meshing (BETA)
# Bed Meshing

RatOS comes with it's own adaptive meshing (functionality was previously handled by PAM by Helge Keck), similar to KAMP. When enabled and configured in your slicer, RatOS will only probe the print area and your configured probe location, potentially saving a lot of time on smaller prints on bigger printers. RatOS will keep the resolution of your mesh (probes per mm), so that you always get consistent mesh performance. Contrary to KAMP and PAM, RatOS doesn't move your prime location, instead it probes the prime location (constrained by min/max bed_mesh settings) a single time and uses the difference between the probe result and your z_offset to dynamically apply a gcode offset only for the prime macro. This ensures no collision with prime blob and the toolhead on small meshes.
- [Bed Mesh Calibration](#bed-mesh-calibration)
- [Adaptive Meshing](#adaptive-meshing)
- [Adaptive Meshing configuration](#adaptive-meshing-configuration)
- [Adaptive Prime Blob configuration](#adaptive-prime-blob-configuration)
- [Prime Blob x-margin ](#prime-blob-x-margin)
- [Slicer configuration](#slicer-configuration)
- [Zero reference osition](#zero-reference-position)

:::warning
Adaptive priming is currently **NOT** supported for Beacon. It is expected to be supported in the near future, once beacon probe results can be read from macros. RatOS will automatically skip priming if Beacon is detected.
:::
## Bed Mesh Calibration

## Macro configuration
By default RatOS calibrates the bed mesh before each print, if you prefer calibrating your bed mesh manually, you can disable it. Disabling `variable_calibrate_bed_mesh` will stop RatOS from loading a bed mesh entirely. If you want it to load a mesh, you can set `variable_bed_mesh_profile` to the name of the profile you want it to load.

To enable adaptive priming set `variable_adaptive_mesh` to `True` in your RatOS macro configuration section (if it isn't already there, add it):
| Name | Possible Values | Default | Description |
| :-------------------------- | :----------------- | :-------- | :-------------------------------------------------------- |
| variable_calibrate_bed_mesh | True / False | True | Whether or not to calibrate a bed mesh before each print. |
| variable_bed_mesh_profile | undefined / string | undefined | The name of the profile you want to load. |

| Name | Possible Values | Default | Description |
| ---------------------- | --------------- | ------- | ---------------------------------- |
| variable_adaptive_mesh | True / False | False | Whether to enable adaptive meshing |
If `variable_calibrate_bed_mesh` is `False` you must set `variable_bed_mesh_profile` variable to the profile name you wish to load, or no bed mesh will be loaded. If `variable_calibrate_bed_mesh` is `True` and this variable isn't set, RatOS will use `ratos` as the profile name.

:::info
If you are currently using PAM, you should delete the PAM includes from printer.cfg before proceeding. Afterwards you can delete the PAM directory and remove the PAM moonraker.conf entry.
:::
## Adaptive Meshing

## Slicer configuration
RatOS comes with it's own, deeply integrated and IDEX aware, adaptive meshing implementation. Do not try to set up the klipper variant of it, which works only in combination with the exclude_objects feature. RatOS will only probe the print area and your configured probe location, potentially saving a lot of time on smaller prints on bigger printers. RatOS will keep the resolution of your mesh (probes per mm), so that you always get consistent mesh performance. Contrary to other implementations, RatOS doesn't move your prime location, instead it probes the prime location (constrained by min/max bed_mesh settings) a single time and uses the difference between the probe result and your z_offset to dynamically apply a gcode offset only for the prime macro. This ensures no collision with the prime blob and the toolhead on small meshes.

Adaptive meshing requires that you provide print area coordinates to the START_PRINT macro, you can copy and paste the START_PRINT macro for your slicer below.
### Adaptive Meshing configuration

### PrusaSlicer / SuperSlicer
Adaptive bed meshing is enabled by default. To disable it set `variable_adaptive_mesh` to `False` in your printer.cfg file.

```properties
START_PRINT EXTRUDER_TEMP=[first_layer_temperature] BED_TEMP=[first_layer_bed_temperature] X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}
```
| Name | Possible Values | Default | Description |
| :--------------------- | :-------------- | :------ | :--------------------------------- |
| variable_adaptive_mesh | True / False | True | Whether to enable adaptive meshing |

### OrcaSlicer / SoftFever
### Adaptive Prime Blob configuration

```properties
START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single] X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}
```
For single toolhead printer you can control the location and direction of the prime blob, IDEX printers do use a fully automated and intelligent prime control depending on the situation and print mode.

### Ideamaker
| Name | Possible Values | Default | Description |
| :------------------------------- | :------------------------------ | :---------- | :------------------------------- |
| variable_nozzle_priming | "primeblob", False | "primeblob" | Whether to enable the prime blob |
| variable_nozzle_prime_start_x | "min", "max", Number | "max" | non IDEX priming x-location |
| variable_nozzle_prime_start_y | "min", "max", Number | "min" | non IDEX priming y-location |
| variable_nozzle_prime_direction | "auto", "forwards", "backwards" | "auto" | non IDEX priming y-direction |
| variable_nozzle_prime_bridge_fan | Number | 102 | priming bridging fan speed 0-255 |

```properties
START_PRINT EXTRUDER_TEMP={temperature_extruder1} BED_TEMP={temperature_heatbed} X0={print_pos_min_x} Y0={print_pos_min_y} X1={print_pos_max_x} Y1={print_pos_max_y}
```
### Prime Blob x-margin

### Simplify 3D V5

```properties
START_PRINT EXTRUDER_TEMP=[extruder0_temperature] BED_TEMP=[bed0_temperature] X0=[build_min_x] Y0=[build_min_y] X1=[build_max_x] Y1=[build_max_y]
By default the primeblob has a x-margin of 5 mm from the edge. This value can be changed by overriding it in the printer.cfg.
```

### Cura

To make adaptive meshing work with Cura you need to install a post processing plugin

1. in cura open menu `Help -> Show configuration folder`
2. Copy the following and save it as `MeshPrintSize.py` in the `scripts` folder

```python
# --------------------------------------------------------------------------------
# Original Version from https://gist.github.com/frankbags
# https://gist.github.com/frankbags/c85d37d9faff7bce67b6d18ec4e716ff
#
# Modified version from https://github.com/kmarty
# https://github.com/kmarty/klipper_config_km_addons/blob/master/bed_mesh_calibrate/MeshPrintSize.py
#
# thank you frankbags and kmarty!
# --------------------------------------------------------------------------------

import re #To perform the search and replace.

from ..Script import Script

class MeshPrintSize(Script):

def getSettingDataString(self):
return """{
"name": "Mesh Print Size",
"key": "MeshPrintSize",
"metadata": {},
"version": 2,
"settings":{}
}"""

def execute(self, data):
minMaxXY = {'MINX':0,'MINY':0,'MAXX':0,'MAXY':0}
re_pattern = re.compile(r'%(' + r'|'.join(minMaxXY.keys()) + r')%')
minmax_counter = len(minMaxXY)

for i in range(len(data)):
# in Cura "layer' != "line" :-(
for k,v in minMaxXY.items():
if minmax_counter:
result = re.search(r';' + k + r':\s*(\d*\.\d+|\d+)', data[i])
if result:
minMaxXY[k] = result.group(1)
minmax_counter -= 1
else:
if re_pattern.search(data[i]):
data[i] = re.sub(r'%' + k + r'%', v, data[i])

return data
[gcode_macro PRIME_BLOB]
variable_x_offset: 5 # the prime blob x-margin
```

3. restart cura
4. in cura open menu `Extensions -> Post processing -> Modify G-Code` and select `Mesh Print Size`
### Slicer configuration

Modify start gcode to:

```properties
START_PRINT EXTRUDER_TEMP={material_print_temperature_layer_0} BED_TEMP={material_bed_temperature_layer_0} X0=%MINX% Y0=%MINY% X1=%MAXX% Y1=%MAXY%
```
Make sure to setup your slicer according to the [official RatOS slicer configuration](../slicers.md).

## Relative reference index
### Zero reference position

RatOS Adaptive Meshing currently doesn't modify the relative reference index, it's generally not advised to use relative reference index with adaptive meshing.
RatOS Adaptive Meshing currently doesn't modify the zero reference position, it's generally not advised to set the zero reference position with adaptive meshing.
Loading