Переименовать выделенные в менеджере слоев объекты

Статус
Закрыто для дальнейших ответов.

SharadaNsk

Участник
Топикстартер
Сообщения
29
Реакции
4
Добрый день.

В менеджере слоев разворачиваю слой, выделяю некоторое количество объектов. Необходимо пакетно переименовать выделенные объекты, а именно - удалить их наименования (типа "polyF1S388P1"), чтобы были «дефолтные» <Контур> или <Составной контур>.

Прошу помощи в виде скрипта.
 

dumbm1

10 лет на форуме
Сообщения
421
Реакции
196
@SharadaNsk, если объектов очень много, то скрипт может работать очень медленно.
Выложите, пожалуйста, самый сложный свой макет, с которым нужно работать, т.е. где самое большое количество объектов.

UPD1. Да, и ещё, у меня иллюстратор, например, английский и я понятия не имею, как в русской локализации переведены те или иные объекты. Вам обязательно нужно, чтобы было на русском название объектов или на английском тоже сойдёт?
 
Последнее редактирование:

dumbm1

10 лет на форуме
Сообщения
421
Реакции
196
Вот, например, очень простой вариант скрипта
Код:
(function renameItems(){
  for ( var i = 0 ; i < selection.length ; i++ ) {
    selection[i].name = selection[i].typename;
  }
  alert('renamed ' + i + ' items');
}())
Он переименует только выделенные объекты и то только те, которые не в группах.

И есть одно НО! По моему нельзя простым способом вернуть название прямоугольнику или эллипсу, так как скрипт может увидеть только, что это КОНТУР, но не может определить, что это прямоугольник или эллипс... И видимо такая же ситуация со многими объектами.
 
Последнее редактирование:
  • Спасибо
Реакции: SharadaNsk

qsedftghk

фея
15 лет на форуме
Сообщения
2 032
Реакции
1 198
А в чём физический смысл этого переименования? Зачем тратить на это время?
 

SharadaNsk

Участник
Топикстартер
Сообщения
29
Реакции
4
А в чём физический смысл этого переименования? Зачем тратить на это время?

Inkscape, которым я векторизую растр, оставляет такие наименования. А хочется "чистого кода" (я из программистов, так что это просто "пунктик").
 

SharadaNsk

Участник
Топикстартер
Сообщения
29
Реакции
4
Как в чём? ))) Скачать чей-то файл и выдать за свой )))

Нет, я растровые карты обрисовываю (хобби такое, скажем так), и если рельеф мне и ручками не лень обрисовать, то обрисовку контура материка стараюсь "автоматизировать" (в inkscape).
 

SharadaNsk

Участник
Топикстартер
Сообщения
29
Реакции
4
По моему нельзя простым способом вернуть название прямоугольнику или эллипсу, так как скрипт может увидеть только, что это КОНТУР

В том то и дело, что меня вполне устроит отсутствие наименования контура. Это как в окне параметров объекта удалить наименование polyF1S396P1 и оставить это поле пустым. Вот эта групповая операция по назначению "пустого" имени мне и была необходима.
 

dumbm1

10 лет на форуме
Сообщения
421
Реакции
196
Дефолтное имя любого объекта можно вернуть просто удалив текущее:
Код:
(function restoreDefaultNames () {
  try {
    for (var i = 0; i < selection.length; i++) {
        selection[i].name = '';
    }
  } catch (e) {
  }
  executeMenuCommand('deselectall');
} () )
 
Последнее редактирование:
  • Спасибо
Реакции: SharadaNsk

SharadaNsk

Участник
Топикстартер
Сообщения
29
Реакции
4
Благодарю, именно то, что надо.
 
Статус
Закрыто для дальнейших ответов.