PyMeshLab — скрипт фильтра целевой длины и абс — изотропное явное повторное построение сетки

Я хотел бы изменить свою модель, используя фильтр под названием «Повторное создание сетки: изотропное явное повторное создание сетки». В этом фильтре я хотел бы настроить целевую длину. Существует два типа целевой длины: абс и %. Но в сценарии фильтра, доступном в PyMeshLab, есть только сценарий фильтра для целевой длины в процентах. Я не хочу настраивать процент, так как хочу применить один и тот же сценарий для моделей разного размера, где целевая длина абс (в формате мировых единиц) сделает более похожей длину края, а не форму %.

Могу ли я в любом случае написать скрипт для целевой длины в форме абс?

1 ответ

Я думаю, что документация для remeshing_isotropic_explicit_remeshing не очень понятна. Я предполагаю, что вы используете текущую версию pymeshlab (21.10)

если вы передаете значение с плавающей запятой в качестве параметра, оно должно интерпретироваться как абсолютное значение. Вы можете заставить это поведение использовать аргументы типа pymeshlab.AbsoluteValue(x). Если вам нужно интерпретировать аргументы как процентное значение, используйте pymeshlab.Percentage(x). Вы можете найти пример здесь

      import pymeshlab

ms = pymeshlab.MeshSet()
ms.load_new_mesh('bunny10k.ply')

#Apply absolute value 3 as argument
ms.remeshing_isotropic_explicit_remeshing(targetlen = pymeshlab.AbsoluteValue(3))
ms.save_current_mesh('output1.ply')

ms.load_new_mesh('bunny10k.ply')
#Apply percentage 3% as argument
ms.remeshing_isotropic_explicit_remeshing(targetlen = pymeshlab.Percentage(3))
ms.save_current_mesh('output2.ply')
Другие вопросы по тегам