STL-Datei – Entwicklung, Nutzung und Aufbau des STL-Dateiformats


STL steht kurz für Stereolithografie. Stereolithografie ist ein additives Fertigungsverfahren, welches dreidimensionale Werkstücke schichtweise konstruiert und aufbaut. Die Bezeichnung leitet sich vom Lithografie-Druck ab, bei dem ein zweidimensionales Bild gedruckt wird, indem mehrere Farbschichten übereinander aufgebracht werden. Das 1988 von 3D Systems entwickelte STL-Dateiformat dient dazu, 3D-Modelle digital zu beschreiben. Dazu wird die Oberfläche des Objekts in Dreiecke aufgeteilt, deren Koordinaten in der Datei codiert werden. Die STL-Schnittstelle ist heute eines der am weitesten verbreiteten Formate für die Beschreibung dreidimensionaler Objekte. Die STL-Datei wird beispielsweise als Format für 3D-Drucker verwendet. Kaum ein CAD-Programm oder CAM-Gerät kommt ohne die Möglichkeit des STL-Imports und -Exports aus.

 

Inhaltsverzeichnis

  1. Geschichte und Entwicklung der STL-Datei
  2. Heutige Nutzung des STL-Formats
  3. Aufbau einer STL-Datei
  4. FAQ zum STL-Dateiformat

Geschichte und Entwicklung der STL-Datei

Das US-Unternehmen 3D Systems hat die Stereolithografie 1984 entwickelt und zum Patent angemeldet. Ab 1988 wurde dann STL als einfaches Dateiformat eingeführt, mit dem 3D-Objekte digital beschrieben werden konnten. Das Format wurde für die nächsten 20 Jahre unverändert belassen. Erst 2009 veröffentlichte man mit Version 2.0 eine Aktualisierung, die im Laufe der folgenden Jahre in die Entwicklung des neueren ISO-genormten AMF-Formats (additive manufacturing file format) mündete. Einige der größten Schwächen der STL-Datei wie etwa die Tatsache, dass sich immer nur die Außenseite eines Objekts definiert lässt, konnte man mit AMF zumindest teilweise beheben.

Heutige Nutzung des STL-Formats

Das STL-Format spielt, trotz der zunehmenden Verbreitung von AMF, weiterhin eine Rolle. Die Einfachheit des Dateiformats und die über Jahrzehnte gewachsene hohe Dominanz sind dafür entscheidend. Im industriellen Bereich gibt es kaum ein CAM-System (computer aided manufacturing), das keine Daten per STL-Schnittstelle entgegen nehmen kann. Auch bei privat genutzten 3D-Druckern ist das STL-Format mit so gut wie allen Modellen nutzbar. Aufgrund der vergleichsweise einfachen Lesbarkeit der Dateien spielt das Format darüber hinaus eine Rolle, wenn CAD- bzw. CAM-Modelle mit Scripts oder mithilfe von Programmen wie Wolfram Mathematica bearbeitet werden sollen. Zum Beispiel um ganze Modelle oder Teilmodelle einer automatischen Skalierung zu unterziehen oder computergestützten, theoretischen Belastbarkeitsprüfungen auszusetzen. Für die Konstruktion komplexerer 3D-Modelle spielt das Format aufgrund seiner mangelnden Flexibilität aber keine nennenswerte Rolle.

Aufbau einer STL-Datei

STL-Dateien gibt es grundsätzlich in zwei verschiedenen Varianten. Zum einen ist das die im ASCII-Format gespeicherte Variante, die sich grundsätzlich mit jedem Texteditor öffnen und bearbeiten lässt. Nachteil dieser Formatvariante ist, dass die Dateien sehr schnell enorm groß werden können. 

Demgegenüber steht die Binär-Variante des STL-Formats, die etwas platzsparender ist, da die Koordinaten jedes Dreiecks in reduzierter Form gespeichert werden. Für die Speicherung komplexerer Objekte ist die Nutzung des Binärformats daher sinnvoller. In der Praxis spielt das ASCII-Format nur noch eine Rolle, um das grundsätzliche Speicherformat der Daten anschaulich zu machen.

Im ASCII-Format beginnt jede STL-Datei mit dem Schlüsselwort solid, das vor allem früher Parsen helfen sollte, die Datei korrekt zu identifizieren. Danach werden im dreidimensionalen Raum positionierte Dreiecke definiert.

Jedes Dreieck folgt dem folgenden Schema

```

STL

facet normal n1 n2 n3

outer loop

vertex v1x v1y v1z

vertex v2x v2y v2z

vertex v3x v3y v3z

endloop

endfacet

```

Mit den drei Werten n1, n2 und n3 wird ein senkrecht zum Dreieck stehender, nach außen weisender Vektor definiert, der der CAD-Software hilft, die Außenseite des Objekts zu erkennen. Die drei im Code als vertex bezeichneten Eckpunkte werden über drei Koordinaten beschrieben und definieren das Dreieck im Raum. Eine direkte Verknüpfung der Dreiecke ist nicht möglich. Infolgedessen muss man beinahe alle Koordinaten mehrfach in die Datei schreiben. Obwohl das Dateiformat den Eindruck erweckt ist es nicht vorgesehen, komplexere Polygone zu definieren oder mehrere Dreiecke innerhalb eines facet-Blocks zusammenzufassen.

Die Binärvariante des STL-Formats weist im Kern dieselben Elemente auf, wie die im ASCII-Format gespeicherte Variante. Dabei werden die Koordinaten aber als 32-Bit-lange Ganzzahlen (Integers) gespeichert, die wesentlich kompakter sind als die von Menschen lesbaren Werte im ASCII-File. Dadurch werden die Dateien ein gutes Stück kleiner, lassen sich aber nicht mehr sinnvoll mit einem Texteditor bearbeiten. Da das allerdings bei komplexeren 3D-Objekten auch im ASCII-Format nicht zielführend ist, ist dieser Nachteil des Binärformats in der Praxis nicht relevant.

FAQ zum STL-Dateiformat

Mit welchen Programmen kann ich eine STL-Datei bearbeiten?

Die allermeisten CAD-Programme können STL-Dateien exportieren und importieren. Dabei ist allerdings zu beachten, dass das STL-Format erheblich weniger Informationen enthält als richtige CAD-Baupläne. Die Nutzung aller Funktionen eines umfangreichen CAD-Programms wie AutoCAD ist (sinnvoll) nur dann möglich, wenn andere Speicherformate genutzt werden. Darüber hinaus gibt es eine Reihe kostenloser und oft auch quelloffener STL-Editoren. 3D Crafter (der Nachfolger von 3D Canvas) zum Beispiel oder der Open-Source-3D-Editor Blender. Einsteigerinnen und Einsteiger können auch einen Blick auf das sehr reduzierte kostenlose CAD-Programm FreeCAD werfen.

Hat das STL-Format Nachteile?

STL ist kein ganz zeitgemäßes Format mehr und weist einige Nachteile auf, die moderne 3D-Formate nicht haben. Unter anderem ist es zum Beispiel nicht möglich, Farbinformationen in ein Modell zu speichern. Außerdem hat das Format keine eigene Funktion für die Definition von Kurven. Um Objekte mit geschwungenen Formen zu definieren, ist daher eine sehr kleinteilige, fein-aufgelöste Beschreibung vieler Dreieckselemente notwendig. Auch deshalb kann eine STL-Datei schnell sehr groß werden. Zudem ist es nicht möglich, mehrere verknüpfte Objekte in einer Datei zu beschreiben. Stattdessen lässt sich immer nur die Oberfläche eines einzelnen dreidimensionalen Körpers definieren.

Welche Alternativen zum STL-Format gibt es?

STL ist, obgleich es auch heute noch den Vorteil weiter Verbreitung und einfacher Editierbarkeit hat, inzwischen etwas in die Jahre gekommen. Das XML-basierte Nachfolgeformat AMF ist die naheliegende Alternative zu STL. AMF beherrscht die Codierung unterschiedlicher Farben und Materialien in einem Objekt, kann Kanten von Dreiecken auch als Kurven definieren und mehrere getrennte Elemente zueinander in Relation setzen. Alternativ gibt es die Möglichkeit, 3D-Modelle in den nativen (häufig proprietären) Dateiformaten verschiedener CAD-Programme abzulegen und nur bei Bedarf ins STL-Format zu exportieren. Das DWG-Format von AutoCAD zum Beispiel spielt eine große Rolle und lässt sich auch von anderen CAD-Programmen importieren. Nachteil der CAD-Formate ist, dass viele 3D-Drucker und CAM-Geräte nicht direkt damit umgehen können.

Wo gibt es kostenlose STL-Beispieldateien?

Wer sich als Neueinsteigerin oder Neueinsteiger ein wenig mit dem STL-Format auseinandersetzen will hat die Möglichkeit, STL-3D-Modelle von verschiedenen Websites herunterzuladen. Insbesondere die 3D-Druck-Community tauscht auf Internetseiten wie Thingiverse zahlreiche 3D-Modelle aus, die in den allermeisten Fällen als STL-Dateien angeboten werden. Zum Einstieg ist es sinnvoll, zunächst ein möglichst einfaches Modell auszuwählen. Mit einem STL-Editor lassen sich daran dann eigene Modifikationen vornehmen.



Weitere Begriffe