Как я могу получить XYZ Cordinates DXF, STL

Я хочу получить xyz точек 3D-объектов, написанных в.dxf, .stl, чтобы сделать программное обеспечение для моего 3d-принтера.

Я попробовал анализатор Python DXF, но он не мог получить XYZ-кординаты 3D-объектов.

Кто-нибудь умный, чтобы знать, как я могу это сделать?

1 ответ

3D-объекты кодируются с использованием двоичных данных в файле DXF (аналогично выводу, полученному при выборе 3D-объекта после оценки выражения AutoLISP (entget (car (entsel))) в командной строке AutoCAD); поэтому вы не сможете получить требуемую информацию, прочитав файл DXF в виде простого текста.

Поскольку очень мало свойств трехмерных объектов доступны в API-интерфейсе LISP в AutoCAD, я бы посоветовал вам опросить свойства объекта с помощью.NET - в Интернете есть множество ресурсов, описывающих, как этого можно достичь.

Я бы использовал MeshLab, это приложение с открытым исходным кодом, которое может читать STL-файл и экспортировать текстовый файл XYZ Point Cloud с обычной информацией или без нее. Каждая вершина будет отображаться в виде трех значений с плавающей точкой, разделенных пробелом, EG (без обычных данных);

-90.936005 122.486008 4.072000 
-95.642006 139.926010 4.072000 
-96.862007 139.952011 4.072000

и с нормальными данными;

-90.936005 122.486008 4.072000 0.000000 0.000000 0.078929 
-95.642006 139.926010 4.072000 0.000000 0.000000 0.099790 
-96.862007 139.952011 4.072000 0.000000 0.000000 1.148707 

Затем вы можете использовать стандартный ввод / вывод Python для доступа к данным в текстовом файле.

Хотя, если вы счастливы работать с фасетами, вам просто нужно получить доступ к ASCII-форме STL-файла, где текстовый файл содержит последовательность записей фасетов, таких как;

facet normal -0.000000e+000 0.000000e+000 1.000000e+000
  outer loop
    vertex  -3.315800e+001 1.389420e+002 4.072000e+000
    vertex  -3.104200e+001 1.389120e+002 4.072000e+000
    vertex  -3.111600e+001 1.389960e+002 4.072000e+000
  endloop
endfacet

...

endsolid vcg

Вы можете использовать MeshLab для преобразования двоичных файлов в ACSII STL.

Другие вопросы по тегам