Python package providing tools to optimize slicer settings for FDM 3D printers.
Project description
sliceoptim
sliceoptim
is a Python package providing tools to optimize slicer settings for FDM 3D printers.
Documentation is available HERE.
Description
The main objective of sliceptim
is to automate the complex process of finding good slicing parameters for each FDM printer / filament pair, while saving time and plastic use.
In a nutshell, sliceoptim
interfaces programmatically the FDM slicing software Slic3r to generate batches of samples featuring semi-random exploration of slicing parameters (speeds, extrusion rates...). Then, on the basis of ratings provided by the user and print time estimations, sliceoptim
feeds a Gaussian Process model (implemented with the library Skopt) to find parameter values optimizing both print time and quality.
The "quality" measure can be of any kind, as soon as it is as consistent as possible. For example, the user can provide an esthetic aspect evaluation based on visual defects, which will result in improvement of prints appearance. Another use could be the realization of stress tests to improve robustness, the quality index can therefore be the negative of the maximum applicable force on samples.
A GUI for sliceoptim
is available as an Octoprint plugin.
Installation
To use sliceoptim
, you must have libslic3r
installed, as well as Python 3.8+
. This library is not tested yet on Windows or Mac (only Linux), contributions are welcome. If you all these requirement, you can install the last commit with pip:
pip install git+https://github.com/oiesauvage/sliceoptim.git
for development purpose install conda
, fork and clone this repository and run:
conda env create -f environment.yml
conda activate sliceoptim
python setup.py develop
How to use
The process of optimizing slicing parameters for a printer / filament pair is called an Experiment
and managed by the class of the same name. Such process can be summarized by the following steps:
- Definition of printer and filament objects
- Definition of the
Experiment
with the corresponding parametric space (parameters which will be optimized on given bounds) - Generation of G-Code for the new batch and printing
- Registration of printed samples ratings in the
Experiment
object - Evaluate optimal parameters with corresponding uncertainty
- Repeat from step 3 until satisfying results
Since an example worth thousand words, you will find illustrating notebooks in the examples folder.
DISCLAMER !
THIS SOFTWARE IS DELIVERED "AS IS" WITHOUT ANY WARRANTY OF ANY KIND. ANY DAMAGE WHICH MAY OCCUR ON YOUR HARDWARE OR PEOPLE IS YOUR SOLE AND UNIQUE RESPONSIBILITY. SINCE THIS SOFTWARE WILL EXPLORE VARIOUS SLICING PARAMETERS, ALWAYS STAY PHYSICALLY CLOSE TO YOUR PRINTER IN ORDER TO ACT AS QUICK AS POSSIBLE IF NECESSARY.
Licence
Copyright 2021 Nils ARTIGES
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file sliceoptim-0.1.2.tar.gz
.
File metadata
- Download URL: sliceoptim-0.1.2.tar.gz
- Upload date:
- Size: 84.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 77164ebab7a9805936d276397427e23a4265249759f4fd3accc12b819dc32f02 |
|
MD5 | af012e3f164edae6837cde2cc5b0c0a4 |
|
BLAKE2b-256 | f737b1a57f52f60a6ad780e0cc93105af5ee1382619e32ea0fae2c1adfff67b5 |
File details
Details for the file sliceoptim-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: sliceoptim-0.1.2-py3-none-any.whl
- Upload date:
- Size: 28.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a13bda6eb45495b667c846d76a168bf0b25ff6aee57a61a0d89ee628775cfef1 |
|
MD5 | 8639a0178d77da04c29bfaeb520baa0d |
|
BLAKE2b-256 | 617b2fdc83c700c6582a8c40a627c70b7fc3916ecf61864495530b42d3354592 |