Цитата:
Сообщение от 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 i = 0; i < list.Count; i ++){
CheckObject(list[i]);
}
}
}
for (var i = 0; i < Model.SelectionCount; i++) {
CheckObject(Model.Selections[i]);
}
Ставит вместо точки нижнее подчеркивание между Именем Блока и Именем детали