исправьте меня, если я ошибаюсь, но когда вы используете call getArea() из узла meshFace, он не возвращает область относительно текущих единиц сцены, а скорее по отношению к ее собственному масштабу ,pymel getArea() не возвращает единицы реального мира
Например:
Если я создаю окно с блоками сцены, установленные на метры, то окно создается с масштабом 1,1,1.
С этой коробкой я называю:
#Assuming you selected only faces from the scene.
import pymel.core as pm
selected = pm.ls(selection = True, flatten = True)
totalFaceArea = 0
for face in selected:
totalFaceArea = totalFaceArea + face.getArea(space = "world")
print selected
print totalFaceArea
Однако, если я изменить единицы сцены в сантиметры, то масштаб не меняется (что имеет смысл). Проблема в том, что область, похоже, исходит из масштаба, а не объема пространства, которое он занимает на сцене, поэтому область не изменяется при изменении единиц сцены.
Вы, ребята, знаете способ компенсировать изменение в единицах сцены или способ получить область лица в единицах сцены?
Спасибо!
Майя не имеет масштаб Любое совпадение в графическом интерфейсе, что. в противном случае, это означает ** ложь **. Единственное, что произойдет, если установить масштаб на что-то другое, кроме значения по умолчанию, - это проблемы. SO, если вы хотите использовать масштаб, вам нужно реализовать целый ряд кода, который все еще не работает , В основном они думали, что они представили масштабный механизм, но они так и не сделали. (и действительно, модуль Mayas по умолчанию является жестким, система говорит cm, потому что это то, как ведут себя все элементы, зависящие от единицы). Но тогда почти все компьютерные программы имеют эту проблему даже для большинства программ САПР. – joojaa