Skip to main content

Sort ASCII STL files for better version control

Project description

Some tools such as OpenSCAD produce randomly ordered STL files so source control like git can’t tell if they have changed or not. This tool orders each triangle to start with the lowest vertex first (comparing x, then y, then z). It then sorts the triangles to start with the one with the lowest vertices first (comparing first vertex, second, then third). This has no effect on the model but makes the STL consistent. I.e. it makes a canonical form.

Sort your STL files before committing changes! Add a pre-commit hook like this:

# This was not tested with filenames containing spaces
files=`git diff --cached --name-only --diff-filter=ACM | grep .stl$ | tr '\n' ' '`
if [[ x"$files" != x ]]; then
  stlsort $files
  git add $files

This was created by nop head as a part of Mendel90 repository. Works only for ASCII STLs (convert your STLs from binary to ASCII in pre-commit hook if needed).

Project details

Release history Release notifications

This version
History Node


History Node


History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
stlsort-0.0.3.tar.gz (9.7 kB) Copy SHA256 hash SHA256 Source None Feb 26, 2015

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page