Преобразование формата XYZ в формат STL
Я работаю над проектом, который создает формат XYZ в моей твердой части. Как я могу конвертировать из этого формата в формат стереолитографии (STL) с C# или C++? Есть ли библиотека для этой работы?
1 ответ
Если ваш формат "XYZ" имеет другой порядок для нормалей и вершин, переставьте их в формат STL в другой переменной и сохраните это.
Обратите внимание, что если вы сохраняете в двоичном формате, то в C++ вы можете использовать библиотеку fstream, в этом случае также очень полезно перегрузить операторы << и >>, чтобы вы могли записывать и читать из двоичного файла "способом C++". ".
Формат STL (как в комментариях) имеет определенный способ построения;
UINT8[80] – Header
UINT32 – Number of triangles
foreach triangle
REAL32[3] – Normal vector
REAL32[3] – Vertex 1
REAL32[3] – Vertex 2
REAL32[3] – Vertex 3
UINT16 – Attribute byte count
end
Вы можете обернуть это в классе (обратите внимание, что REAL32
равно float
) и использовать операторы fstream и перегруженные << и >> для извлечения и сохранения двоичного формата.
Если вам нужен пример для перегрузки операторов, посмотрите здесь