Я хочу удалить все повторяющиеся объекты со сцены, я хочу найти дубликаты, сравнив количество полигонов всех объектов.
Когда я нашел количество полигонов каждого объекта, я хочу сгруппировать все объекты с одинаковым количеством полигонов вместе и удалить все, кроме одного. Должно быть просто, у меня возникли проблемы с созданием массива со всеми повторяющимися объектами в нем...
Мой код не выдает ошибок, но не добавляет объекты в массив #(дубликатов). Мой код определяет количество полигонов для всех объектов и помещает его в массив objs_info.
-- Remove object duplicates
clearselection()
select geometry
deselect helpers
objs = selection as array
objS_info = #()
objS_info2 = #()
dups = #()
for obj in objs do(
obj_info = #()
obj_dups = #()
ConvertTo obj Editable_Poly
PolyCount_src = polyop.getNumFaces obj
--resetxform obj ; maxOps.CollapseNodeTo obj 1 true --reset Xform + collapse stack
delta_x_src = ((-1 * obj.min.x) + obj.max.x)
delta_z_src = ((-1 * obj.min.z) + obj.max.z)
append obj_info PolyCount_src
delta_ratio_src = delta_x_src/delta_z_src
for i in 1 to objs.count do(
obj_dups = #()
if objs[i] != obj do(
ConvertTo obj Editable_Poly
PolyCount = polyop.getNumFaces obj
--resetxform obj ; maxOps.CollapseNodeTo obj 1 true --reset Xform + collapse stack
delta_x = ((-1 * obj.min.x) + obj.max.x)
delta_z = ((-1 * obj.min.z) + obj.max.z)
delta_ratio = delta_x/delta_z
if(delta_ratio == delta_ratio_src and PolyCount == PolyCount_src) do(
append obj_dups objs[i]
)
)
)
append dups obj_dups
)
format "dups = % \n " obj_dups
Любая помощь будет принята с благодарностью, спасибо!