Цитата:
Сообщение от AndriyVavilon
Спасибо большое! Только если выделить несколько панелей то переименует только одну, возможно чтоб обрабатывало все выделенные объекты?
|
Вот более замороченный вариант:
Код:
var delimiter = '.'
function MakeName(obj) {
var owner = obj.Owner;
return owner.Name + delimiter + obj.Name
}
function CheckObject(obj) {
if (obj.AsPanel) {
Undo.Changing(obj);
obj.Name = MakeName(obj);
}else if (obj.List){
var list = obj.AsList();
for (var i = 0; i < list.Count; i ++){
CheckObject(list[i]);
}
}
}
for (var i = 0; i < Model.SelectionCount; i++) {
CheckObject(Model.Selections[i]);
}
Теперь для переименования всех панелей в блоке достаточно выделить блок, а панели внутри него автоматически переименуются. В этом варианте, в отличие от предыдущего, переименовываются только панели (в предыдущем переименовать можно было любой выделенный 3д объект).