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

  • Автор темы Автор темы SharadaNsk
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

SharadaNsk

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

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

Прошу помощи в виде скрипта.
 
@SharadaNsk, если объектов очень много, то скрипт может работать очень медленно.
Выложите, пожалуйста, самый сложный свой макет, с которым нужно работать, т.е. где самое большое количество объектов.

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

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

Inkscape, которым я векторизую растр, оставляет такие наименования. А хочется "чистого кода" (я из программистов, так что это просто "пунктик").
 
Как в чём? ))) Скачать чей-то файл и выдать за свой )))

Нет, я растровые карты обрисовываю (хобби такое, скажем так), и если рельеф мне и ручками не лень обрисовать, то обрисовку контура материка стараюсь "автоматизировать" (в inkscape).
 
По моему нельзя простым способом вернуть название прямоугольнику или эллипсу, так как скрипт может увидеть только, что это КОНТУР

В том то и дело, что меня вполне устроит отсутствие наименования контура. Это как в окне параметров объекта удалить наименование polyF1S396P1 и оставить это поле пустым. Вот эта групповая операция по назначению "пустого" имени мне и была необходима.
 
Дефолтное имя любого объекта можно вернуть просто удалив текущее:
Код:
(function restoreDefaultNames () {
  try {
    for (var i = 0; i < selection.length; i++) {
        selection[i].name = '';
    }
  } catch (e) {
  }
  executeMenuCommand('deselectall');
} () )
 
Последнее редактирование:
  • Спасибо
Реакции: SharadaNsk
Благодарю, именно то, что надо.
 
Статус
Закрыто для дальнейших ответов.