Итак, работа продолжается.
Во второй версии моего скрипта был обнаружен редкий и труднопостигаемый глюк, из-за которого Игл в результате терял участки дорожек. За этот тяжкий грех вторая версия удалена тоже.
Выкладываю исправленную третью версию. Она, кроме того, не изменяет размеры via: какие были установлены перед этим в Игле, такие и отрисуются.
Переименовал файл. Теперь он называется SES_draw.ulp, я думаю, что это точнее отражает суть, поскольку он занимается именно вычерчиванием дорожек по координатам, а не конвертированием данных, как таковых.
Кроме того, во время попыток развести реальный проект, обнаружилась нестыковка в скрипте от Kuzmi4. То есть, он работает правильно, но Specctra, как оказалось, не переваривает значок "-" в названиях контактов. А им был поименован вывод электролитического конденсатора (+ и -). Библиотеки мне править не хотелось, да и мало ли где еще там может встретиться минус, замучаешься проверять их все. Я решил заставить скрипт заменять "-" на слово minus. Но раз уж все равно править, я взял за основу скрипт от ConnectEDA, который полностью автоматический (без ручного ввода), но имел ошибки с единицами измерения.
Кроме этой правки и отладки, я добавил еще следующую функцию.
Если в Игле слой поименовать "jumpers", то скрипт странслирует его как слой перемычек, по которому Спекктра будет автоматически расставлять перемычки под SMD-размер 1206. Размер прямоугольных via в Игле надо задать 56mil, а отверстия в них - как можно меньше, тогда можно впрямую напаивать перемычки 1206.
Напоминаю, что конечная цель всей затеи - получить одностороннюю разводку с автоматической расстановкой SMD-перемычек.
Получившийся скрипт для трансляции Игл -> Спекктра с функцией перемычек, я назвал jmp1206_dsn.ulp, выкладываю его тоже. Этот скрипт работает полностью автоматически, передает в DSN параметры, заданные в Игле (зазоры, ширину проводников и т. п.).
Работа с этой парой скриптов.
Она проста.
По подготовленной неразведенной плате запускаем скрипт jmp1206_dsn
Он, не спрашивая ничего лишнего, создает нам файл .dsn (с тем же именем, что и проект).
Запускаем по этому дсн-у Спекктру. Если в Игле параметры были как надо выставлены, в Спекктре можно ничего не трогать и прямо запускать автотрассировку; по окончании закрываем Спекктру с сохранением.
Переходим снова в Игл (его можно даже не закрывать, со Спекктрой не конфликтует), запускаем скрипт SES_draw, указываем ему созданный Спекктрой .ses-файл, и скрипт опять же, ничего не спрашивая, вычерчивает разведенные Спекктрой дорожки. (Подразумевая, что все корпуса стоят на своих прежних местах.)
Можно напечатать средствами Игла и ЛУТ-ить
Начерченную разводку нельзя отменить одним махом, как целое. Поэтому лучше предварительно сохранить файл неразведенной заготовки платы.
Проверялось с Eagle 4.13 и Specctra 15.0
Нажмите для просмотра прикрепленного файлаЗЫ
вот почему мне не хотелось в этом деле кустарщины... Вроде всё работает, но никогда ведь не знаешь - не выкинет ли где-нибудь в сложной разводке какой фортель(((( Невозможно предусмотреть
всё. Но я, честно!, старался как мог.