RELAX is a Klipper macro for automating the process of releasing 3D printed parts from the bed and performing destress heating to minimize stress marks and thermal-induced warping. The macro is configurable, allowing you to adjust temperatures and times.
The RELAX macro was created to address a common problem in 3D printing: stress marks caused by thermal contraction, often referred to as "white marks." While heat guns are a standard solution, they are not always practical or efficient for every scenario:
- Thin Parts: Thin parts tend to soften and bend under a heat gun before the stress marks disappear, making manual treatment unsuitable.
- Efficiency: Automating the process is critical when dealing with large-scale production or repeated tasks. Treating a few hundred parts a day with a heat gun is not only time-consuming but also tedious.
- Consistency: Manual processes can vary in effectiveness. RELAX ensures that each part undergoes a consistent and repeatable treatment cycle.
By integrating RELAX into the post-printing workflow, users can enjoy the benefits of automated stress relief, saving time and effort while improving part quality. This macro was designed with both hobbyists and professionals in mind, enabling smooth, repeatable destressing without manual intervention.
- Release Parts Automatically: Heat the bed to a configurable release temperature, allowing parts to detach smoothly.
- Destress Heating: Relieve internal stresses in your printed parts with controlled heating and holding cycles.
- Customizable Parameters: Fine-tune temperatures and durations to match your material and project requirements.
- Auto Updates via Git: Easily update the macro through Moonraker's update manager with Git.
- Release Cycle: Heats the bed to a specific temperature to allow parts to release naturally.
- Destress Cycle: Holds the bed at a destress temperature for a set duration to reduce stress marks and prevent warping.
- Cooldown: Safely: shuts down the printer or cools to a final temperature.
-
Clone the RELAX repository into your Klipper configuration directory:
cd git clone https://github.com/interias/RELAX.git ln -s ~/RELAX printer_data/config/RELAX
-
Include the RELAX macro file in your main Klipper configuration:
[include RELAX/relax.cfg] -
Integrate into
PRINT_END: Add the following line to yourPRINT_ENDmacro to automatically invoke the RELAX cycle at the end of a print:RELAX
-
Enable Automatic Updates via Moonraker: Add the following entry to your
moonraker.conffile to manage updates through Moonraker:[update_manager relax] type: git_repo origin: https://github.com/interias/RELAX.git path: ~/RELAX managed_services: klipper
To execute the RELAX macro manually, you can call it with default settings:
RELAXOr customize parameters for your specific use case:
RELAX release_temp=60 release_time=150 destress_temp=110 destress_time=400release_temp: Target temperature to release parts from the bed (default: 50°C).release_time: Time in seconds to hold the release temperature (default: 120s).destress_temp: Target temperature for stress relief (default: 100°C).destress_time: Time in seconds to hold the destress temperature (default: 300s).
An example use case for ABS:
RELAX release_temp=60 release_time=150 destress_temp=110 destress_time=400We value your input to improve RELAX! Please share your feedback and experiences with us, including:
- Temperatures: What release and destress temperatures worked best for your material?
- Timing: Optimal hold times for release and destress cycles.
- Results on Warping: How effective was the destress cycle in reducing warping or stress marks?
- Pictures: Share before-and-after photos of your parts to help refine the process.
You can provide feedback through:
- Author: Stefan Börzel
- Discord:
sbrzl_3.14 - GitHub Issues: RELAX GitHub Repository
Your contributions will help us create a better experience for everyone! 😊
This project is open-source under the MIT License. Feel free to use, modify, and share the code with attribution.

