Skip to content

A performant auto-rotate software for objects in 3D Printing, whose parameter are trained by an evolutionary algorithm.

License

Notifications You must be signed in to change notification settings

ChristophSchranz/Tweaker-3

Repository files navigation

Tweaker-3

The Tweaker is an auto-rotate module which finds the STL or 3MF object's optimal orientation on the printing platform to improve the efficiency of 3D printing.

Auto-rotation of a model
Author: Christoph Schranz, 12.01.2016.
Salzburg Research

Quickstart:

Make sure the required packages are installed using pip install -r requirements.txt.

python Tweaker.py -i demo_object.stl -vb

If you want to install this module as a CLI package install it via pip:

pip install git+https://github.com/ChristophSchranz/Tweaker-3.git
tweaker3 -i demo_object.stl 

Extended mode:

This mode yields the most reliable results, but needs slightly more computation time. This is the suggested mode.

python Tweaker.py -i death_star.stl -vb -x

Minimise the necessary support material:

If you want to optimise the print in terms of minimal support surfaces instead of the default volume, add the parameter -min sur or --minimize surfaces

python Tweaker.py -i demo_object.stl -min sur -x

Convert a 3mf object to stl without tweaking:

python Tweaker.py -i pyramid.3mf -c -o pyramid.stl

Choose the output type of the STL format:

python Tweaker.py -i pyramid.3mf -t asciistl

You can choose the output types "asciistl" and "binarystl" (default). "3mf" is not supported yet.

Just see the results:

python Tweaker.py -i demo_object.stl -r

Show the progress of tweaking:

python Tweaker.py -i demo_object.stl -x -p

Favour Side:

In some cases the surface of one side of an object
may be more important than those of the others. Therefore, a selected orientation (and all close ones in terms of a small scalar product) can be weighted by using the flag --favside (fs) Here is an example of how to favour facets in the direction x=1, y=-1.0, z=2.5 with a weighting factor of 3.0:

python Tweaker.py -i demo_object.stl -vb -x -fs "[[0,-1,2.5],3.0]"

Find Help:

python Tweaker.py -h

Version:

python Tweaker.py -v

Further Repos:

Previous Version

The Tweaker's initial repository is here:

Plugin for Ultimaker Cura

The Tweaker-3 is available in Cura as Auto-Orientation in the Marketplace (Cura >= 4) respectively the plugin manager.

Plugin for OctoPrint - PrePrintService

The Tweaker-3 is available as PrePrint-Service-Plugin for OctoPrint and can be installed as described in this instruction. Note that this module combines the auto-rotation functionality with slicing via Slic3r.

Interested in how the algorithm works?

This Whitepaper declares this program. Additionally, background infos and benchmarks are provided.

Support this Project

This project is maintained and continuously improved since 2017 in my spare time to provide an effective auto-rotation module for you and the open-source 3D printing community. If this software helps you, please support this project now!

Be my GitHub-Sponsor or my Patreon or donate a cup of coffee anonymously: 🐣
via Paypal

Thank you for supporting this project! ☺️

About

A performant auto-rotate software for objects in 3D Printing, whose parameter are trained by an evolutionary algorithm.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages