Вы не сможете просто загрузить файл .stl
в массивный массив и выполнить нарезку, как показано в видео, которое вы связали. В видео они загружают модель, которая хранится в виде трехмерного массива.
Однако модель, которую вы пытаетесь загрузить, состоит из полигональной сетки. Это означает, что у вас есть только значения координат вершин. Вы можете открыть файл .stl
в текстовом редакторе, чтобы увидеть его содержимое. (Преобразовав загруженную сетку в массив NumPy, вы просто извлекаете эти значения координат. Вы можете фактически сравнить значения в массиве NUMPY и текстовом файле, они совпадают.) Полученный массив NUMPY имеет форму (550, 9)
. Первое измерение определяется количеством граней в модели (в этом случае модель имеет 550 граней). Поскольку у каждой грани есть три вершины, каждая из которых имеет три значения координат, следовательно, у вас есть 9 чисел на грани. Таким образом, третье измерение не потеряно. Он просто хранится по-другому.
Простая перестройка массива не создаст вам модель, из которой вы можете получить кусочки, как показано на видео. Чтобы достичь этого, вы должны преобразовать сетчатую модель в растеризованную. Это можно сделать, инициализировав пустой трехмерный массив, содержащий всю модель, а затем определив для каждого пикселя, пересекается ли он с геометрией загруженной сетки.