Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Управление версиями
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > Cadence
John Silver
Наверняка многие сталкивались с задачей, как проставить заветный номерок и на схеме, и на плате, а еще и взять этот номерок из SVN. И сделать это как можно более автоматически.
Вот мой вариант:
- создать текстовый файлик содержащий номер версии (например RevCode.txt);
- скриптом на tcl взять номер из файлика и подставить в схему;
- скриптом на skill взять номер из файлика и подставить на плату;
- скрипты запустить из svn с помощью ловушки.

Проблемы, вопросы:
- номер версии должен зависеть от файла *.opj, а не от RevCode.txt, соответственно, можно ли *.opj подставить SVN keyword, и не бедет ли он мешать?
- можно ли выполнять skill скрипт из под ОС, а не из под PCB Editor?

Как вы решаете эту задачу?

Вот один вопрос отпал, как хранить номер версии в opj.
Добавляем новую строчку в файл, и Capture её не трогает.

(ExpressProject "Probe"
(ProjectVersion "19981106")
(ProjectRevision "$Revision: 111.58 $")
(ProjectType "Analog or A/D Mixed Mode")
(Folder "Design Resources"
(Folder "Library")
Uree
Пользуем SVN, правда пока не для всех проектов. Только никакие номера версий из него не вытягиваются и автоматом никуда не вставляются. Фиксируются только релизы в соответствии с принятыми у нас этапами стадий проекта.
vitan
Цитата(Uree @ Feb 28 2011, 11:23) *
Пользуем SVN, правда пока не для всех проектов. Только никакие номера версий из него не вытягиваются и автоматом никуда не вставляются. Фиксируются только релизы в соответствии с принятыми у нас этапами стадий проекта.

Аналогично, только CVS. Замена ключевых слов впечатляет только поначалу, на самом деле практического смысла в этом не очень много.
John Silver
А мне без автоматики совсем тоскливо.
Например 10 листов схемы + 1 плата. Поди обнови везде номер.
Да и использование номера из svn не основная задача, главное - как синхронизировать номер и на схеме и на плате.
vitan
Цитата(John Silver @ Feb 28 2011, 21:53) *
А мне без автоматики совсем тоскливо.
Например 10 листов схемы + 1 плата. Поди обнови везде номер.
Да и использование номера из svn не основная задача, главное - как синхронизировать номер и на схеме и на плате.

А скажите-ка, зачем все это? Просто чтобы глаз радовать? Я из-за таких сомнительных преимуществ не парюсь, например...
John Silver
А что бы четко видеть у кого, какая версия схемы/платы.
Отослал я сегодня версию 11.11 на проверку, а ответ пришел через три дня, и у меня уже версия 22.22, и уже три раза изменены позиционные обозначения. А тебе пишут "вот с резистором R33 то и сё".
Распечатал ты схему, может плату. Сделал это 10 раз. Вовремя старые варианты не уничтожил и сиди потом думай "а какую версию я сейчас рассматриваю".
Начальник например предыдущий предпочитал смотреть схему на бумаге, и эти бумаги накапливались, накапливались....

Ну и эстетическое удовольствие, само-собой.

Так, уже холивар начинается. Лучше б дельное что сказали.

Например почему скрипт из под ПКМ отрабатывает, а из меню нет, что я сделал не так?
Код
proc ::updateRevCodeLauncher::addDesignAccessoryMenu { } {
    AddAccessoryMenu "Update Revision Code" "Update from SVN" "::updateRevCode::execute"
}

proc ::updateRevCodeLauncher::register {args} {
    if { [catch {package require Tk}] } {
        puts "Tk not found. Menu item for Generate Custom BOM will not be created"
    } else {
        wm withdraw .
        RegisterAction "Update Revision Code" "capTrue" "" "::updateRevCode::execute" "PM"
        RegisterAction "_cdnCapTclAddDesignCustomMenu" "capTrue" "" "::updateRevCodeLauncher::addDesignAccessoryMenu" "PM"
    }        
}

::updateRevCodeLauncher::register
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.