Показать сообщение отдельно
Старый 02.06.2018, 21:14   #12
Uncle
VIP
 
Аватар для Uncle
 
Регистрация: 31.10.2009
Адрес: Рівне. УкраЇна
Сообщений: 10,580
Сказал(а) спасибо: 14,588
Поблагодарили 20,026 раз(а) в 6,492 сообщениях
Вес репутации: 5258
Uncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспоримаUncle репутация неоспорима
По умолчанию

Цитата:
Сообщение от Letos Посмотреть сообщение
Теперь для переименования всех панелей в блоке достаточно выделить блок, а панели внутри него автоматически
Скрипт полезный..
Можно ли его немножко доработать? Предложения по усовершенствованию:
1. В наименовании детали после Имени Блока добавить пробел или нижнее подчеркивание.
2. В наименование детали добавлять не Имя Блока а номер позиции блока (если есть). Если нет позиции, то тогда Имя.
Или:
3. Вывести в окно свойств меню настроек в котором предлагать :
3.1 - выбор : что именно добавлять к наименованию детали - Имя Блока или Номер Позиции блока.
3.2 - выбор :
а) - к наименованию детали прибавлять Имя Основного Блока (Или Позицию, в зависимости от выставленных настроек, описанных в пункте 3.1), в который деталь включена вне зависимости от того, находится ли она во вложенном в основной Блок;
б) - прибавлять Имя (Позицию) всех Блоков в иерархии
в) - прибавлять только Имя (Позицию) именно того Блока, в котором находится деталь, не зависимо от иерархии...
Осуществима ли такая задача?

-------------------------------------------------

P.S. С первым пунктом справился сам :

PHP код:
var delimiter '.'
function MakeName(obj) {
    var 
owner obj.Owner;
    return 
owner.Name "_" 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 
0< list.Count++){
            
CheckObject(list[i]);
        }
    }
}

for (var 
0Model.SelectionCounti++) {
    
CheckObject(Model.Selections[i]);

Ставит вместо точки нижнее подчеркивание между Именем Блока и Именем детали
__________________
Уж лучше беспокойство в сомнении, чем успокоенность в заблуждении. .
(Мандзони Алессандро)
------------------------------------
Троллей не кормлю...

Последний раз редактировалось Uncle; 02.06.2018 в 21:40. Причина: Выложил изменённый скрипт
Uncle вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
Oldman (03.06.2018)