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

Printerverse/AutoPartRotate

 
 

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:

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:

Ultimaker Cura 2, 3 and 4 - Plugin

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

OctoPrint - Plugin

The Tweaker-3 is available as PrePrint-Service in OctoPrint and can be installed as described in this instruction. Note that this module combines the auto-rotation functionality with slicing in an external Docker service.

Webservice

Another way to test the functionality of the Tweaker-3 is the usage of a Docker-based web service as described in the repository PrePrintService.

Interested in how the algorithm works?

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

Support

This project is maintained and improved for many years to provide an effective auto-rotation module for the open-source 3D printing community. Since 2017 all of this was done in my spare time. If it helps you, please support this project now!

Be my Patreon

Or donate a cup of coffee:
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

  • Python 100.0%