STL (від ) — формат файлу, який широкоSTL file has been widely accepted as a de facto standard file format for the rapid prototyping industry застосовують для зберігання тривимірних моделей об'єктів для використання в адитивних технологіях. Інформація про об'єкт зберігається як список трикутних граней, які описують його поверхню, та їхніх нормалей. STL-файл може бути текстовим (ASCII) або двійковим. Свою назву отримав від скорочення терміну «Stereolithography», оскільки спочатку застосовувався саме в цій технології тривимірного друку.

ASCII STL Файл типу ASCII STL починається з рядка: solid name де name — необов'язковий рядок (але якщо name опущено, після solid все одно має бути пропуск). Файл продовжується довільним числом описів трикутників такого вигляду: facet normal ni nj nk outer loop vertex v1x v1y v1z vertex v2x v2y v2z vertex v3x v3y v3z endloop endfacet де кожне n і v — число з рухомою комою у форматі: знак, мантиса, «e», знак, порядок, наприклад «-2.648000e-002». Файл завершується рядком:

Двійковий формат

Оскільки файл ASCII STL може бути великим, існує двійкова версія цього формату. Файл починається із заголовка з 80 символів (який зазвичай нехтується, але не може починатися зі 'solid', оскільки з цієї послідовності починається файл ASCII STL). Після заголовка йде 4-байтове беззнакове ціле число (little-endian), що вказує на кількість трикутних граней у файлі. Після цього йдуть дані, що характеризують кожен із трикутників.

Кожен трикутник описують дванадцятьма 32-бітовими числами з рухомою комою: 3 числа для нормалі та по 3 числа на кожну з трьох вершин для координат X/Y/Z. Далі йдуть 2 байти беззнакового 'short', яке називається 'attribute byte count'. У звичайному файлі має дорівнювати нулю, оскільки більшість програм не розуміє інших значень.

Числа з рухомою комою подають у вигляді числа IEEE з рухомою комою та мають зворотний порядок байтів, хоча цього не зазначено в документації. UINT8 – заголовок UINT32 – число трикутників

для кожного з трикутників REAL32 – вектор нормалі REAL32 – вершина 1 REAL32 – вершина 2 REAL32 – вершина 3 UINT16 – attribute byte count end

Кольори у двійковому STL Існує принаймні 2 способи додавання інформації про колір:

VisCAM і SolidView використовують 2 байти 'attribute byte count' у кінці опису кожного трикутника для зберігання 15 бітів кольору RGB: біти від 0 до 4 — рівень інтенсивності для синього (від 0 до 31) біти від 5 до 9 — рівень інтенсивності для зеленого (від 0 до 31) біти від 10 до 14 — рівень інтенсивності для червоного (від 0 до 31) якщо біт 15 дорівнює 1, колір використовується якщо біт 15 дорівнює 0, колір не використовується (для сумісності зі стандартним STL)

Materialise Magics працює інакше. Він використовує 80 байтів заголовка для подання загального кольору. Також там може міститись інформація про матеріал. Колір кожної грані описують у 'attribute byte count' як: біти від 0 до 4 — рівень інтенсивності для червоного (від 0 до 31) біти від 5 до 9 — рівень інтенсивності для зеленого (від 0 до 31) біти від 10 до 14 — рівень інтенсивності для синього (від 0 до 31) якщо біт 15 дорівнює 0, то грань має свій колір якщо біт 15 дорівнює 1, то використовується загальний колір.

Нормалі граней У двійковій та ASCII-версіях STL нормаль грані має бути одиничним вектором, спрямованим від об'єкта. У більшості програм її можна встановити в (0,0,0), і програма автоматично розрахує нормаль на основі порядку вершин трикутника, використовуючи правило правої руки. Деякі завантажувачі STL (наприклад, STL плагін для Art of Illusion) звіряють нормалі у файлі з розрахованими за правилом правої руки і попереджають про розбіжності. Інше програмне забезпечення може нехтувати це і використовувати лише правило правої руки.

Недоліки

Невисока точність геометріїhttps://webspace.utexas.edu/reyesr/titanium/stl/stlmarch17.htm This conversion usually creates a much larger file with less accuracy than the original 3D model. (у версії ASCII можна задавати довільну точність). Великий обсяг файлу для складних моделей.

Підтримка в застосунках

ADEM CAD

Meshlab Blender Kompas 3D SketchUp T-FLEX CAD Autodesk Inventor CAD SolidWorks Sharp3D ANSYS SpaceClaim Direct Modeler Cinema 4D FreeCAD SolveSpace може експортувати STL

PrusaSlicer

Див. також (Additive Manufacturing File Format) PLY (формат файлу) (Polygon File Format, Stanford Triangle Format.)

Примітки

Посилання The StL Format Free STL Viewer для Google Chrome