Как импортировать.stl в тетген?

Я пытаюсь заставить tetgen обеспечить тетраэдеризацию Делоне моей stl-модели, но всегда получаю некоторые ошибки о пересекающихся гранях.

Модель представляет собой ascii.stl модель человеческого сердца, полученную из данных компьютерной томографии (при необходимости может дать ссылку). Сначала я использую адаптивный рендеринг с 100 локальными значениями и 1,00 значениями допуска для построения его в программном обеспечении CTAn, а затем исправляю его с помощью MeshFix. MeshFix выводит либо.off, либо двоичные файлы.stl. Если я пытаюсь импортировать модель.off в tetgen, я всегда получаю эту ошибку:

Синтаксическая ошибка чтения заголовка в строке 2 в файле off.off.

Я не могу напрямую импортировать файл.stl в tetgen, поскольку он не поддерживает двоичный файл.stl, поэтому я использую MeshLab, чтобы сначала преобразовать в acsii.stl, а затем импортировать результат в tetgen. Но в этом случае у меня есть другая ошибка:

Найдены две почти самопересекающиеся грани

и он рекомендует мне уменьшить допуск двугранного угла. Я делаю это только для того, чтобы получить следующее сообщение:

Найдены две точно самопересекающиеся грани

и он рекомендует использовать префикс -d для обнаружения всех таких аспектов. Я делаю это и получаю следующее сообщение:

Лица не пересекаются

Теперь я в замешательстве, потому что это дает исключительные предложения.

Если у кого-нибудь здесь есть знакомые с тетгеном, подскажите, пожалуйста, как мне импортировать мою модель в тетген? Я попробовал несколько инструментов для ремонта и разные префиксы, но пока ничего не получалось.

Также будет очень здорово, если у кого-то есть связь с сообществом тетгенов, потому что я не нашел ни одного, хотя попробовал.

1 ответ

Решение

Я никогда не находил способ принести файл stl в Tetgen. Единственным способом, которым я смог перенести свою модель в TetGen, было преобразование ее в тип файла *.ply. Вы можете сделать это и в Meshlab, выбрав опцию "Export Mesh as". Как только вы примените изменения в Tetgen, вы можете преобразовать их обратно в stl-файл в Meshlab.

Использование фильтров очистки и восстановления в Meshlab также может оказаться полезным, если вы еще не использовали его. Я обнаружил, что фильтр "Удаление повторяющихся граней" помогает преодолеть ошибку пересекающихся граней.

Совет: откройте диалог Layers Dialogue в Meshlab и продублируйте слой сетки перед внесением изменений. В Meshlab нет кнопки "Отменить", поэтому, если вы внесете в нее изменения, о чем вы сожалеете, вы сможете, по крайней мере, быстро начать все заново.

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