Skip to main content

Sort ASCII STL files for better version control

Project description

https://badge.fury.io/py/stlsort.svg https://pypip.in/d/stlsort/badge.png

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:

#!/bin/sh
# 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
fi

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


Download files

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

Source Distribution

stlsort-0.0.3.tar.gz (9.7 kB view details)

Uploaded Source

File details

Details for the file stlsort-0.0.3.tar.gz.

File metadata

  • Download URL: stlsort-0.0.3.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for stlsort-0.0.3.tar.gz
Algorithm Hash digest
SHA256 1939cf1e212ca8ad1057b1745b7d9451cb5876fcaf3c4362d7963c0d8d7aa6f6
MD5 4257e7db2dea7abbdb7310d6e8f5cc4b
BLAKE2b-256 af020fb21923ce1f37362f2caf85c73e99940b03cffc58136260f7dd7d68d250

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page