TatlinTatlin: a free and open-source multi-platform 3D inspector for G-code and STL files

Intro

Using Tatlin, you can visualize, inspect and tweak your designs before and during the printing or machining processes. Taking advantage of hardware acceleration, the app efficiently renders complex models even on older systems. Designed for makers and hobbyists, Tatlin aims to provide a fast, portable and intuitive way to visualize and examine models and machine instructions with a minimal learning curve.

I started Tatlin in 2011 shortly after getting my first 3D printer, a Makerbot Thing-o-Matic. The options for examining G-code were very limited at the time, especially on Linux. Writing a visualization tool to complement existing slicers promised to be a fun project and a good way to support the growing community of makers. Since then, a number of people have adopted Tatlin in their workflows and have contributed patches fixing bugs and adding new features.

Gallery

Features

  • Format compatibility: In addition to G-code, Tatlin supports loading STL files allowing you to view sliced models and raw 3D designs.
  • Multi-platform support: Tatlin will run on Linux, Windows, or Mac OS.
  • Interactive 3D visualization: Allows you to rotate, zoom, and pan around the models for detailed inspection.
  • Layer-by-layer analysis: For G-code files, Tatlin provides a layer-by-layer breakdown to identify potential issues in slicing or toolpath generation.
  • Simple STL editing: Tatlin allows you to scale, rotate and move STL models.
  • Beginner-friendly interface: Tatlin aims to be accessible to beginners and seasoned 3D modeling professionals alike.

Installation

A variety of prebuilt packages are available to simplify installing Tatlin on the operating system of your choice.
Choose between AppImage, DEB, RPM or source archive.
Self-contained archive for Windows.
Self-contained archive for MacOS.

Linux

Debian-based systems (Ubuntu and others)

Download the Tatlin RPM package and install by issuing the following command:

sudo apt install tatlin_0.3.1_all.deb

RPM-based systems (Fedora and others)

Download the Tatlin RPM package and install by issuing the following command:

sudo dnf install tatlin_0.3.1_all.rpm

Arch Linux

The official Tatlin package can be found in the AUR.

AppImage

For those users who don't mind downloading a larger package with all the dependencies included, the AppImage provides the ability to run Tatlin with one click. Simply download, add the executable permission with chmod +x and run.

Windows

The self-contained Windows archive includes all of the dependencies, including the Python interpreter. Download, unzip and run tatlin.exe.

MacOS

Like the Windows archive, the MacOS application bundle also includes all of the dependencies. Unzip and run tatlin.app.

Source

For users wishing to forego the prebuilt packages (e.g. for development purposes), the preferred way to run the application from source is by using venv, virtualenv, pipenv or similar. Once you have a virtual environment set up and activated, install the dependencies:

pip install -r requirements.txt

You can then run Tatlin with:

python tatlin.py

Usage

After you install Tatlin, you can run it and open STL or G-code files by going to the File menu and selecting Open or by clicking Open in the middle of the window. Once you have located the file you wish to view on the file system and selected Open in the file selection dialog, Tatlin will begin parsing and loading the file.

Upon opening your file, Tatlin will display the model in the 3D canvas section of the UI. The model should now be ready for interaction. Depending on the file type you selected, the options on the right hand side of the UI will be slightly different, however the mouse navigation will be identical between G-code and STL modes. These mouse controls will enable you to zoom, pan and rotate your model and should be reasonably familiar if you have previous experience with 3D navigation in other programs. The controls are as follows:

  • Hold the Left Mouse button while moving the mouse to rotate the camera.
  • Use the Mouse wheel to zoom in and out.
  • Hold the Right Mouse button while moving the mouse to pan the camera.
  • Hold the Middle Mouse button while moving the mouse to change the camera's pivot point, visualized by a small red sphere in the scene.

In G-code mode, Tatlin will present you with a Layers slider allowing you to inspect the toolpath layer by layer and two checkboxes. The first checkbox, Show arrows, allows you to toggle the display of directional arrows for each G-code command. The second checkbox, 3D view, allows you to switch from the 3D view to 2D for each layer in isolation.

In STL mode, the Dimensions section switches to inputs to display the model's X, Y and Z dimensions and adds a Factor input. These inputs allow you to scale the model proportionally, either by changing the scale factor directly, or by setting one of the dimensions to a specified measurement, which will calculate the scale factor automatically and apply it to the model. The model can also be centered in the scene by clicking the Center model button. This ensures that the model's bounding box is centered above (0, 0, 0). The Rotate section below allows you to rotate the model either in increments of 90 degrees, or by an arbitrary number around each axis. Don't forget to save your STL file if you wish to preserve the changes you made.

The remainder of the UI applies to both G-code and STL modes. The Top, Right, Bottom, Left, Front and Back buttons provide a quick way to adjust the camera, and the Reset view can be clicked any time to get out of a confusing camera orientation. The Orthographic projection checkbox allows you to switch from the default perspective projection to orthographic projection to view the model without perspective distortion.

Support Development

Tatlin is available to download and use to anyone free of charge. Licensed under the GNU General Public License, it offers the freedom to examine, modify, and adapt the source code to meet individual needs. However, the development, maintenance and support of Tatlin is the result of many hours of work and effort by myself and contributions from users like you. When you sponsor Tatlin, you're not only ensuring its continued existence and evolution; you're also enabling me to dedicate more time to a project I deeply enjoy. Without your support, I have to prioritize other projects that help to pay the bills.

Support me on Patreon

By supporting open-source projects like Tatlin and their creators, you're doing more than just making it possible for free software to exist; you're allowing creators to pursue the work they care about and enjoy. The dominant forms of commercial software creation often follow unsustainable practices, which not only contribute to developer burnout behind the scenes but also result in software that is prohibitively expensive for individual users and even small businesses. Your direct support contributes to a more sustainable model of software creation, one that flourishes within the broader ecosystem of free and open-source software.

Thank you for considering a contribution to Tatlin and for your support of open-source software development.