Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Capture CIS-массивная замена имен цепей
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > Cadence
NoMemory
Здравствуйте все, есть необходимость массировано изменить большое количество имен (во всех цепях убрать пробелы, поставить нижние подчеркивания). Пробовал проделать такую процедуру с помощью Export/Import Properties, но программа ответила отказом - не редактируемый тип (интересно, зачем экспортировать список цепей, если его нельзя редактировать таким образом, странная функция). Далее была попытка найти все пробелы во всех цепях и с помощью панели Edit Properties произвести замену - проблема та же, в этой панели имена цепей не редактируются. Есть какой-нибудь способ сделать такую замену, кроме как тыкать и менять каждую цепь? Должен же быть способ делать это гораздо быстрее или я ошибаюсь? Прошу помощи.
PCBtech
Цитата(NoMemory @ Jun 2 2015, 06:36) *
Здравствуйте все, есть необходимость массировано изменить большое количество имен (во всех цепях убрать пробелы, поставить нижние подчеркивания). Пробовал проделать такую процедуру с помощью Export/Import Properties, но программа ответила отказом - не редактируемый тип (интересно, зачем экспортировать список цепей, если его нельзя редактировать таким образом, странная функция). Далее была попытка найти все пробелы во всех цепях и с помощью панели Edit Properties произвести замену - проблема та же, в этой панели имена цепей не редактируются. Есть какой-нибудь способ сделать такую замену, кроме как тыкать и менять каждую цепь? Должен же быть способ делать это гораздо быстрее или я ошибаюсь? Прошу помощи.


Может быть, с помощью процедуры UPDATE?

Цитата(NoMemory @ Jun 2 2015, 06:36) *
Здравствуйте все, есть необходимость массировано изменить большое количество имен (во всех цепях убрать пробелы, поставить нижние подчеркивания). Пробовал проделать такую процедуру с помощью Export/Import Properties, но программа ответила отказом - не редактируемый тип (интересно, зачем экспортировать список цепей, если его нельзя редактировать таким образом, странная функция). Далее была попытка найти все пробелы во всех цепях и с помощью панели Edit Properties произвести замену - проблема та же, в этой панели имена цепей не редактируются. Есть какой-нибудь способ сделать такую замену, кроме как тыкать и менять каждую цепь? Должен же быть способ делать это гораздо быстрее или я ошибаюсь? Прошу помощи.


Нашелся способ попроще - с помощью скриптов.

В меню выберите View/Command Window

В открывшемся окне команд введите
source C:/Cadence/SPB_16.6/tools/capture/tclscripts/capDB/capDesignUtil.tcl
где путь должен указывать на ваш каталог с Cadence

Если все в порядке, то затем в командном окне введите
capDesignUtil::replaceAlias {(.*) (.*)} {\1_\2}

Данная команда заменит все комбинации, состоящие из нескольких символов, затем пробела, затем еще нескольких символов,
так, что вместо пробела будет нижнее подчеркивание.
Первые фигурные скобки - это то, что ищем, вторые фигурные скобки - на что меняем.
(.*) - это wildcard, как бы "переменная, содержащая любой символ"
\1 - первая переменная, \2 - вторая переменная, между ними был пробел, а стало подчеркивание.


Эту же процедуру можно использовать, например, для массовой замены имен шин.
Например, нам надо заменить цепи ADDR_0...ADDR_7 на A0...A7
Вот команда:

capDesignUtil::replaceAlias {ADDR_(.*)} {A\1}
NoMemory
Спасибо огромное! Помогло! Взял сей способ на вооружение.
Anatoly Sergeev
Можно на схеме зайти в меню Edit - Global Replace, поставить Object type = Net Aliases и все поменять. Другой способ - это перейти в меню Accessories - Cadence Tcl/Tk Utiliities - Utilities и выбрать Find And Replace Text. По кнопке Help Вы увидите примеры запросов.
NoMemory
Спасибо, да, как оказалось вариантов, чтобы проделать данную операцию, довольно много. Жаль только, что довольно глубоко все закопано.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.