Топ питань
Часова шкала
Чат
Перспективи
STL (формат файлу)
формат файлу З Вікіпедії, вільної енциклопедії
Remove ads
STL (від англ. stereolithography) — формат файлу, який широко[3][4] застосовують для зберігання тривимірних моделей об'єктів для використання в адитивних технологіях. Інформація про об'єкт зберігається як список трикутних граней, які описують його поверхню, та їхніх нормалей. STL-файл може бути текстовим (ASCII) або двійковим. Свою назву отримав від скорочення терміну «Stereolithography», оскільки спочатку застосовувався саме в цій технології тривимірного друку.
Remove ads
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». Файл завершується рядком:
Remove ads
Двійковий формат

Оскільки файл ASCII STL може бути великим, існує двійкова версія цього формату. Файл починається із заголовка з 80 символів (який зазвичай нехтується, але не може починатися зі 'solid', оскільки з цієї послідовності починається файл ASCII STL). Після заголовка йде 4-байтове беззнакове ціле число (little-endian), що вказує на кількість трикутних граней у файлі. Після цього йдуть дані, що характеризують кожен із трикутників.
Кожен трикутник описують дванадцятьма 32-бітовими числами з рухомою комою: 3 числа для нормалі та по 3 числа на кожну з трьох вершин для координат X/Y/Z. Далі йдуть 2 байти беззнакового 'short', яке називається 'attribute byte count'. У звичайному файлі має дорівнювати нулю, оскільки більшість програм не розуміє інших значень[5].
Числа з рухомою комою подають у вигляді числа IEEE з рухомою комою та мають зворотний порядок байтів, хоча цього не зазначено в документації.
UINT8[80] – заголовок UINT32 – число трикутників для кожного з трикутників REAL32[3] – вектор нормалі REAL32[3] – вершина 1 REAL32[3] – вершина 2 REAL32[3] – вершина 3 UINT16 – attribute byte count end
Remove ads
Кольори у двійковому 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) звіряють нормалі у файлі з розрахованими за правилом правої руки і попереджають про розбіжності. Інше програмне забезпечення може нехтувати це і використовувати лише правило правої руки.
Remove ads
Недоліки
Підтримка в застосунках
- ADEM CAD
- ABViewer[en]
- Meshlab
- Blender
- Kompas 3D[7]
- SketchUp
- T-FLEX CAD
- Autodesk Inventor CAD
- SolidWorks
- Sharp3D
- ANSYS SpaceClaim Direct Modeler
- Cinema 4D
- FreeCAD
- SolveSpace може експортувати STL
- Cura[en]
- PrusaSlicer
Див. також
- AMFF (формат файлу)[en] (Additive Manufacturing File Format)
- PLY (формат файлу) (Polygon File Format, Stanford Triangle Format.)
Примітки
Посилання
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads