- Рейтинг
- 75
День добрый. Впереди букв много поэтому если лень читать переходите в абзац"ЗЫ"
Пишу скрипт. Хочу узнать для выделенных объектов кто из них тяжелее, для этого ищу в цикле количство вершин (фейсов) следующим способом:
for obj in selection do (
polymax=80
meshobj= getPolygonCount obj
if polymax<meshobj[1] do polymax=meshobj[1]
)
проблема в том что при каждом новом выделении тех же объектов(!) максимальное число вершин не правильное.. .То есть не закрывая утилиты я еще раз выделяю те же самые объекты, не перекомпелируя саму утилиту, нажимаю подсчитать, он мне другое уже число выводит..polymax меняю только в этом куске кода. числа которые он путает берет от объектов, реально существующие. похоже на то как будто в цикле пропускат более тяжелые чем 80 вертексов. хотя если выделить один объект на 180 верт. и другой на 230 иногда не ошибется, выведет 230. для единственного объекта выводит его правильное количество.
Еще пробовал писать через snapshotAsMesh. но там тоже ошибка в подсчете((
Другая проблема в том что этот способ не подходит для объектов таких как tube. Пишет что Mesh operation on non-mesh: Tube . А конвертить в едитполи мне нельзя.
ЗЫ: В ИДЕАЛЕ было бы для меня достать до цифр у Vertices и Faces, которые у каждого объекта в Object Properties.. Может кто знает как туда залезть. (для трубы там тоже все прекрасно показывается).
буду благодарен любым советам =)
Пишу скрипт. Хочу узнать для выделенных объектов кто из них тяжелее, для этого ищу в цикле количство вершин (фейсов) следующим способом:
for obj in selection do (
polymax=80
meshobj= getPolygonCount obj
if polymax<meshobj[1] do polymax=meshobj[1]
)
проблема в том что при каждом новом выделении тех же объектов(!) максимальное число вершин не правильное.. .То есть не закрывая утилиты я еще раз выделяю те же самые объекты, не перекомпелируя саму утилиту, нажимаю подсчитать, он мне другое уже число выводит..polymax меняю только в этом куске кода. числа которые он путает берет от объектов, реально существующие. похоже на то как будто в цикле пропускат более тяжелые чем 80 вертексов. хотя если выделить один объект на 180 верт. и другой на 230 иногда не ошибется, выведет 230. для единственного объекта выводит его правильное количество.
Еще пробовал писать через snapshotAsMesh. но там тоже ошибка в подсчете((
Другая проблема в том что этот способ не подходит для объектов таких как tube. Пишет что Mesh operation on non-mesh: Tube . А конвертить в едитполи мне нельзя.
ЗЫ: В ИДЕАЛЕ было бы для меня достать до цифр у Vertices и Faces, которые у каждого объекта в Object Properties.. Может кто знает как туда залезть. (для трубы там тоже все прекрасно показывается).
буду благодарен любым советам =)