Схемотехника в Linux с помощью gEDA: создание корпуса из PDF
Содержание:
1. Создание паттерна для РСВ;
2.Создание корпуса из PDF (Вы читаете данный раздел);
3. А если растр?;
4. Организация библиотеки компонентов;
5. Компоненты gEDA.
Данный способ полезен, когда в справочном листке есть описание корпуса и указаны размеры. В случае «подопытного» транзистора IRF2804S-7P такая информация есть на странице 9 (см. файл irf2804s-7p.pdf в архиве http://osa.samag.ru/pub/ pcb geda.zip).
Потребуются следующие инструменты:
- утилита pstoedit с патчем http://ftp.penguin.cz/pub/users/utx/ pstoedit/pstoedit-3.45-pcb-enhanced.patch (у меня в системе установлена версия pstoedit 3.50, и я не стал ставить патч, при этом конвертация работала без проблем);
- редактор векторной графики, который понимает SVG и может создавать PostScript, а также умение работать с ним; я воспользовался Inkscape (ещё я попробовал XFig - результат тот же, только для него нужно будет поставить transfig для экспорта в различные форматы, в том числе и PostScript).
Все вышеперечисленные программы есть в стандартных репозиториях Arch Linux, так что для установки достаточно одной команды:
Последовательность действий тоже оказывается достаточно простой. Для начала открывается справочный листок и смотрится, на какой странице располагается чертеж корпуса и выводов, после чего в терминале дается такая команда (все на примере транзистора IRF2804S-7P, страница 9):
При использовании XFig:
После этого открываем получившийся файл в векторном редакторе и удаляем все лишнее со страницы. Промежуточный вариант наших действий показан на рис. выше.
Удаляем внутреннюю штриховку и делаем заливку - я не сообразил, как её тут сделать (точнее, там достаточно хитро нарисованы контуры, или это издержки конвертации...), поэтому просто нарисовал залитые прямоугольники и в результате получил следующее (см. рис. ниже).
Сохраняемся, затем делаем «Сохранить как... » и сохраняем в формате PostScript.
В результате получаем файл irf2804s-7p-new.ps, для которого выполняем следующую команду:
По (пока?) непонятным мне причинам, при убранных опциях -xscale и -yscale размеры получаются в два раза больше, поэтому они задают масштаб 1:2. Флаг -stdnames - это аргумент конвертера, который задает стандартные имена для слоёв, -grid задает шаг сетки, -mm - использовать миллиметры вместо mils, -snapdist задает отображаемый шаг сетки.
Полученный файл загружаем в PCB, в моём случае он открылся так (см. рис. выше).
Теперь опять удаляем все лишнее и помним, что для подготовки элемента используются два слоя: Component для выводов и Silk для комментариев, дополнительных графических построений. Если какой-то вывод находится не на слое Component (как у нас 1 -7 на слое signal1 и 8 на слое solder), выделяем их, делаем целевой слой активным и выполняем команду Edit — Move selected to current layer. То же самое для габаритов и подписей, но помещая их на слой Silk.
Замечание: номера выводов подставляются автоматически, однако на всякий случай проверьте их вручную.
В результате всех этих махинаций получаем примерно такую картину (см. рис. выше).
Что делать дальше, мы уже знаем - это я описывал, когда рассказывал про создание компонента с нуля. Корпус, полученный по такому рецепту, доступен в архиве http://osa.samag.ru/ pub/pcb geda.zip (под названием irf2804s-7p-new.fp), промежуточные файлы - там же.
1. Создание паттерна для РСВ;
2.
3. А если растр?;
4. Организация библиотеки компонентов;
5. Компоненты gEDA.
Данный способ полезен, когда в справочном листке есть описание корпуса и указаны размеры. В случае «подопытного» транзистора IRF2804S-7P такая информация есть на странице 9 (см. файл irf2804s-7p.pdf в архиве http://osa.samag.ru/pub/ pcb geda.zip).
Потребуются следующие инструменты:
- утилита pstoedit с патчем http://ftp.penguin.cz/pub/users/utx/ pstoedit/pstoedit-3.45-pcb-enhanced.patch (у меня в системе установлена версия pstoedit 3.50, и я не стал ставить патч, при этом конвертация работала без проблем);
- редактор векторной графики, который понимает SVG и может создавать PostScript, а также умение работать с ним; я воспользовался Inkscape (ещё я попробовал XFig - результат тот же, только для него нужно будет поставить transfig для экспорта в различные форматы, в том числе и PostScript).
Все вышеперечисленные программы есть в стандартных репозиториях Arch Linux, так что для установки достаточно одной команды:
# pacman -S pstoedit inkscape
или:
# pacman -S pstoedit xfig transfig
или:
# pacman -S pstoedit xfig transfig
Последовательность действий тоже оказывается достаточно простой. Для начала открывается справочный листок и смотрится, на какой странице располагается чертеж корпуса и выводов, после чего в терминале дается такая команда (все на примере транзистора IRF2804S-7P, страница 9):
$ pstoedit -page 9 irf2804s-7p.pdf irf2804s-7p-new.svg
При использовании XFig:
$ pstoedit -page 9 -f "xfig: -metric" irf2804s-7p.pdf
irf2804s-7p-new.fig
irf2804s-7p-new.fig
После этого открываем получившийся файл в векторном редакторе и удаляем все лишнее со страницы. Промежуточный вариант наших действий показан на рис. выше.
Удаляем внутреннюю штриховку и делаем заливку - я не сообразил, как её тут сделать (точнее, там достаточно хитро нарисованы контуры, или это издержки конвертации...), поэтому просто нарисовал залитые прямоугольники и в результате получил следующее (см. рис. ниже).
Сохраняемся, затем делаем «Сохранить как... » и сохраняем в формате PostScript.
В результате получаем файл irf2804s-7p-new.ps, для которого выполняем следующую команду:
$ pstoedit -xscale 0.555632727 -yscale 0.555632727 -f "pcb:
-stdnames -grid 0.1 -mm -snapdist 0.4"
irf2804s-7p.ps irf2804s-7p.pcb
-stdnames -grid 0.1 -mm -snapdist 0.4"
irf2804s-7p.ps irf2804s-7p.pcb
По (пока?) непонятным мне причинам, при убранных опциях -xscale и -yscale размеры получаются в два раза больше, поэтому они задают масштаб 1:2. Флаг -stdnames - это аргумент конвертера, который задает стандартные имена для слоёв, -grid задает шаг сетки, -mm - использовать миллиметры вместо mils, -snapdist задает отображаемый шаг сетки.
Полученный файл загружаем в PCB, в моём случае он открылся так (см. рис. выше).
Теперь опять удаляем все лишнее и помним, что для подготовки элемента используются два слоя: Component для выводов и Silk для комментариев, дополнительных графических построений. Если какой-то вывод находится не на слое Component (как у нас 1 -7 на слое signal1 и 8 на слое solder), выделяем их, делаем целевой слой активным и выполняем команду Edit — Move selected to current layer. То же самое для габаритов и подписей, но помещая их на слой Silk.
Замечание: номера выводов подставляются автоматически, однако на всякий случай проверьте их вручную.
В результате всех этих махинаций получаем примерно такую картину (см. рис. выше).
Что делать дальше, мы уже знаем - это я описывал, когда рассказывал про создание компонента с нуля. Корпус, полученный по такому рецепту, доступен в архиве http://osa.samag.ru/ pub/pcb geda.zip (под названием irf2804s-7p-new.fp), промежуточные файлы - там же.