User Tools

Site Tools


geda:gsch2pcb_tutorial.ru

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Last revision Both sides next revision
geda:gsch2pcb_tutorial.ru [2012/10/25 07:26]
vzh Tweak formatting
geda:gsch2pcb_tutorial.ru [2014/04/25 03:36]
vzh Updated using po4a
Line 1: Line 1:
-====== gschem -> gsch2pcb -> pcb ======+//Эта страница доступна также на следующих языках://​ 
 +[[gsch2pcb_tutorial|English]]
  
 +====== gschem -> gsch2pcb -> pcb ======
 Это учебник по использованию **gsch2pcb** как интерфейса между **gschem** и Это учебник по использованию **gsch2pcb** как интерфейса между **gschem** и
 **pcb**. Мы предполагаем,​ что пакеты **gEDA**, **pcb** и **gsch2pcb** у вас **pcb**. Мы предполагаем,​ что пакеты **gEDA**, **pcb** и **gsch2pcb** у вас
Line 7: Line 9:
 нуждается в отдельной установке. Настоящий учебник функционален и нацелен на нуждается в отдельной установке. Настоящий учебник функционален и нацелен на
 получение как можно более быстрых результатов. Хотя он и не является полным получение как можно более быстрых результатов. Хотя он и не является полным
-справочным руководством по **gschem** или **pcb**, но на примере +справочным руководством по **gschem** или **pcb**, но на примере простого 
-простого проекта показывает все шаги, которые вы могли бы предпринять.+проекта показывает все шаги, которые вы могли бы предпринять.
  
 Цель учебника --- научиться пользоваться **gsch2pcb** как мостом между Цель учебника --- научиться пользоваться **gsch2pcb** как мостом между
-**gschem** и **pcb**, для того чтобы все добавления или удаления элементов на +**gschem** и **pcb**, для того чтобы все добавления или удаления элементов 
-[[geda:​glossary.ru#​Принципиальная схема|принципиальной схеме]] в **gschem** приводили бы к соответствующим автоматическим +на [[geda:​glossary.ru#​Принципиальная схема|принципиальной схеме]] в 
-изменениям в [[geda:​glossary.ru#​Топология|топологической схеме]] в **pcb**, то есть чтобы топология печатной +**gschem** приводили бы к соответствующим автоматическим изменениям в 
-платы всегда соответствовала принципиальным схемам. Обратная +[[geda:​glossary.ru#​Топология|топологической схеме]] в **pcb**, то есть чтобы 
-трансляция изменений из **pcb** в **gschem** в настоящее время невозможна.+топология печатной платы всегда соответствовала принципиальным 
 +схемам. Обратное аннотирование изменений из **pcb** в **gschem** в настоящее 
 +время невозможно.
  
 История изменений настоящего документа находится в История изменений настоящего документа находится в
Line 24: Line 28:
 электронные компоненты. __[[geda:​glossary.ru#​Символ]]__ --- это группа из электронные компоненты. __[[geda:​glossary.ru#​Символ]]__ --- это группа из
 выводов,​ атрибутов и линий, представляющая небольшое графическое изображение выводов,​ атрибутов и линий, представляющая небольшое графическое изображение
-[[geda:​glossary.ru#​Компонент|электронного компонента]] в электрической схеме. +[[geda:​glossary.ru#​Компонент|электронного компонента]] в электрической 
-Выводы разных символов соединяют друг с другом,​ вычерчивая между ними +схеме. ​ Выводы разных символов соединяют друг с другом,​ вычерчивая между 
-[[geda:​glossary.ru#​Соединение|соединения]]. [[geda:​glossary.ru#​Атрибут|Атрибуты]] --- +ними 
-это именованные переменные,​ прикрепляемые к символам и предназначенные для +[[geda:​glossary.ru#​Соединение|соединения]]. 
-хранения некоторой информации. Есть три атрибута,​ непосредственно относящихся +[[geda:​glossary.ru#​Атрибут|Атрибуты]] --- это именованные переменные,​ 
-к переводу принципиальной схемы в топологическую,​ и они должны быть заданы. +прикрепляемые к символам и предназначенные для хранения некоторой 
-Каждый добавляемый в схему символ должен иметь атрибуты ''​footprint'',​ +информации. Есть три атрибута,​ непосредственно относящихся к переводу 
-''​value'',​ и ''​refdes''​.+принципиальной схемы в топологическую,​ и они должны быть заданы. ​ Каждый 
 +добавляемый в схему символ должен иметь атрибуты ''​footprint'',​ ''​value'',​ и 
 +''​refdes''​.
  
-Значение атрибута ''​footprint''​ (посадочное место) в принципиальной +Значение атрибута ''​footprint''​ (посадочное место) в принципиальной схеме 
-схеме определяет для символа название pcb-элемента,​ которым данный экземпляр +определяет для символа название pcb-элемента,​ которым данный экземпляр 
-символа должен быть представлен в топологии платы. __pcb-элемент__ --- это группа из +символа должен быть представлен в топологии платы. __pcb-элемент__ --- это 
-выводов,​ контактных площадок и контуров +группа из выводов,​ контактных площадок и контуров [[geda:​glossary.ru#​Слой 
-[[geda:​glossary.ru#​Слой шелкографии|шелкографии]],​ соответствующая форме +шелкографии|шелкографии]],​ соответствующая форме электронного 
-электронного компонента. Есть два типа pcb-элементов и это, наверно,​ сбивает с +компонента. Есть два типа pcb-элементов и это, наверно,​ сбивает с толку 
-толку новичков в **pcb**. Есть исходные pcb-элементы,​ генерируемые макросами+новичков в **pcb**. Есть исходные pcb-элементы,​ генерируемые макросами
 **m4**, и, начиная с версии **pcb** 1.7, есть ещё и файловые элементы типа **m4**, и, начиная с версии **pcb** 1.7, есть ещё и файловые элементы типа
 **newlib**. __Файловый элемент__ --- это один фиксированный элемент в одном **newlib**. __Файловый элемент__ --- это один фиксированный элемент в одном
-файле. В одном же файле __m4-элементов__ макроопределений элементов может быть +файле. В одном же файле __m4-элементов__ макроопределений элементов может 
-много. Чтобы получать программируемые элементы с разным количеством выводов +быть много. Чтобы получать программируемые элементы с разным количеством 
-или изменяемыми размерами,​ для макросов могут задаваться аргументы. В +выводов или изменяемыми размерами,​ для макросов могут задаваться 
-настоящем руководстве будет раскрыто использование этих двух типов элементов и +аргументы. В настоящем руководстве будет раскрыто использование этих двух 
-далее я так и буду называть их //​m4-элементами//​ и //​файловыми элементами//​.+типов элементов и далее я так и буду называть их //​m4-элементами//​ и 
 +//​файловыми элементами//​.
  
 При работе в **pcb**, если в меню **//​Вид//​** -> **//​Отображаемое название При работе в **pcb**, если в меню **//​Вид//​** -> **//​Отображаемое название
-элемента//​** выбрать **Описание**,​ то как название элемента будет отображаться +элемента//​** выбрать **Описание**,​ то как название элемента будет 
-значение атрибута **gschem** ''​footprint''​. Дело в том, что запись для +отображаться значение атрибута **gschem** ''​footprint''​. Дело в том, что 
-каждого конкретного pcb-элемента в файле топологии содержит поле ''​Описание''​ +запись для каждого конкретного pcb-элемента в файле топологии содержит поле 
-(''​Description''​),​ которое должно соответствовать посадочному месту +''​Описание''​ (''​Description''​),​ которое должно соответствовать посадочному 
-(''​footprint''​),​ и это соответствие отслеживается программой **gsch2pcb**.+месту (''​footprint''​),​ и это соответствие отслеживается программой 
 +**gsch2pcb**
 + 
 +Значение атрибута **gschem** ''​refdes''​ --- это **позиционное обозначение** 
 +в схеме, такое как //Q1//, //U1//, //R1// и т. д.  Если в **pcb** в меню 
 +**//​Вид//​** -> **//​Отображаемое название элемента//​** выбрать **Позиционное 
 +обозначение**,​ то как название элемента будет отображаться значение атрибута 
 +''​refdes''​. 
 + 
 +Значение атрибута **gschem** ''​value''​ --- это **значение** (тип или 
 +значение физической величины) конкретного компонента,​ такое как, например,​ 
 +//BC546//, //7400//, //1K// и т. д.  Если в **pcb** в меню **//​Вид//​** -> 
 +**//​Отображаемое название элемента//​** выбрать **Значение**,​ то как название 
 +элемента будет отображаться значение атрибута ''​value''​.
  
-Значение атрибута **gschem** ''​refdes''​ --- это **позиционное обозначение** в 
-схеме, такое как //Q1//, //U1//, //R1// и т. д. 
-Если в **pcb** в меню **//​Вид//​** -> **//​Отображаемое название элемента//​** 
-выбрать **Позиционное обозначение**,​ то как название элемента будет 
-отображаться значение атрибута ''​refdes''​. 
  
-Значение атрибута **gschem** ''​value''​ --- это **значение** (тип или значение 
-физической величины) конкретного 
-компонента,​ такое как, например,​ //BC546//, //7400//, //1K// и т. д. 
-Если в **pcb** в меню **//​Вид//​** -> **//​Отображаемое название элемента//​** 
-выбрать **Значение**,​ то как название элемента будет отображаться значение 
-атрибута ''​value''​. 
  
  
Line 74: Line 83:
 **gschem** и pcb-элементов,​ но можно создать и свои собственные библиотеки. **gschem** и pcb-элементов,​ но можно создать и свои собственные библиотеки.
  
-  * Где-нибудь,​ может быть в своём домашнем каталоге,​ создайте структуру каталогов для своих проектов. Для своих каталогов вы можете придумать имена сами, в данном же учебнике я буду ссылаться на структуру каталогов,​ используемую мной: +  * Где-нибудь,​ может быть в своём домашнем каталоге,​ создайте структуру каталогов для своих проектов. Для своих каталогов вы можете придумать имена сами, в данном же учебнике я буду ссылаться на структуру каталогов,​ используемую мной: <​code>​gaf/​
-<​code>​gaf/​+
 gaf/​gschem-sym/ ​                   Сюда я кладу свои символы gschem. gaf/​gschem-sym/ ​                   Сюда я кладу свои символы gschem.
 gaf/​gschem-sym/​transistors/ ​       Можете организовать подкаталоги для своих символов. gaf/​gschem-sym/​transistors/ ​       Можете организовать подкаталоги для своих символов.
Line 82: Line 90:
 gaf/​myproject1/ ​                   И, наконец,​ отдельные каталоги для каждого gaf/​myproject1/ ​                   И, наконец,​ отдельные каталоги для каждого
 gaf/​myproject2/ ​                   проекта. gaf/​myproject2/ ​                   проекта.
-...</​code>​ +...</​code>​ При такой организации любые ваши символы **gschem** и pcb-элементы могут быть общими для всех ваших проектов и это достаточно хорошо для начала работы. ​ Однако,​ я упомяну и другие возможности,​ которые будут описаны ниже: у вас могут быть подкаталоги //​файловых элементов//​ или файлы //​m4-элементов//​ **pcb** для конкретных проектов;​ кроме того, администраторы САПР могут настроить для общего пользования и локальные каталоги //​файловых элементов//,​ и файлы //​m4-элементов//​. 
-При такой организации любые ваши символы **gschem** и pcb-элементы могут быть +  * **Настройка gEDA:** программы **gschem**, **gnetlist** и может быть другие,​ используемые вами, как например **gattrib**,​ должны иметь возможность найти любые создаваемые вами символы,​ поэтому этим программам нужно сказать,​ где лежат каталоги ваших символов для **gschem**, добавив строки ''​component-library''​ в файл //''​gafrc''//​ --- либо в файл, общий для проектов пользователя,​ //''​${HOME}/.gEDA/​gafrc''//,​ либо в файл //''​gafrc''//​ в каталоге конкретного проекта. Есть ещё системный файл //''​${GEDADATA}/​system-gafrc''//,​ который могут настроить администраторы. Чтобы данные файлы можно было найти, должны быть соответственно установлены переменные окружения ''​HOME''​ и ''​GEDADATA''​. Для описанной нами выше структуры каталогов в //''​${HOME}/.gEDA/​gafrc''//​ можно добавить следующие строки (а также строки и для других подкаталогов,​ которые вы бы хотели создать в //''​gschem-sym''//​):​ <​code>​(component-library "​${HOME}/​gaf/​gschem-sym"​)
-общими для всех ваших проектов и это достаточно хорошо для начала работы. +
-Однако,​ я упомяну и другие возможности,​ которые будут описаны ниже: у вас +
-могут быть подкаталоги //​файловых элементов//​ или файлы //​m4-элементов//​ +
-**pcb** для конкретных проектов;​ кроме того, администраторы САПР могут +
-настроить для общего пользования и локальные каталоги //​файловых элементов//,​ +
-и файлы //​m4-элементов//​. +
- +
-  * **Настройка gEDA (для новых версий >= 2005):** программы **gschem**, **gnetlist** и может быть другие,​ используемые вами, как например **gattrib**,​ должны иметь возможность найти любые создаваемые вами символы,​ поэтому этим программам нужно сказать,​ где лежат каталоги ваших символов для **gschem**, добавив строки ''​component-library''​ в файл //''​gafrc''//​ --- либо в файл, общий для проектов пользователя,​ //''​${HOME}/​gafrc''//,​ либо в файл //''​gafrc''//​ в каталоге конкретного проекта. Есть ещё системный файл //''​${GEDADATA}/​system-gafrc''//,​ который могут настроить администраторы. Чтобы данные файлы можно было найти, должны быть соответственно установлены переменные окружения ''​HOME''​ и ''​GEDADATA''​. Для описанной нами выше структуры каталогов в //''​${HOME}/​gafrc''//​ можно добавить следующие строки (а также строки и для других подкаталогов,​ которые вы бы хотели создать в //''​gschem-sym''//​):​ <​code>​(component-library "​${HOME}/​gaf/​gschem-sym"​)+
 (component-library "​${HOME}/​gaf/​gschem-sym/​transistors"​)</​code>​ Или же файлы //''​gafrc''//​ можно добавить в каталоги каждого из проектов (в такие как //''​myproject1''//​ и //''​myproject2''//,​ указанные выше) и прописать в них: <​code>​(component-library "​../​gschem-sym"​) (component-library "​${HOME}/​gaf/​gschem-sym/​transistors"​)</​code>​ Или же файлы //''​gafrc''//​ можно добавить в каталоги каждого из проектов (в такие как //''​myproject1''//​ и //''​myproject2''//,​ указанные выше) и прописать в них: <​code>​(component-library "​../​gschem-sym"​)
-(component-library "​../​gschem-sym/​transistors"​)</​code>​ +(component-library "​../​gschem-sym/​transistors"​)</​code> ​Более современные версии ​gEDA (с 1.7.2) ​позволяют указать только одну команду для достижения этого: <​code>​(component-library-search "../​gschem-sym"​) </​code>​ которая рекурсивно просканирует все подкаталоги для ​символьных ​библиотек. Дальнейшие подробности настройки программ ​gEDA см. в [[geda:​gschem_ug:​config.ru|Руководстве пользователя gEDA gschem]]
-  * **Настройка gEDA (для старых версий >= 2004):** файлы //''​gafrc''//​ в этих версиях не поддерживаются. Хотя фактически возможность их использования была введена в середине 2004 г., на самом же деле, чтобы в полной мере иметь описанную здесь функциональность (относительные пути), нужен пакет gEDA 2005 годаВ любом случае для старых пакетов gEDA строки ''​component-library''​ нужно скопировать в несколько rc-файлов для ​разных ​программ gEDA: +  * Если хочется более детальной настройки **gschem** и **gnetlist**,​ можно переопределить и другие начальные установки,​ заданные в глобальных rc-файлах. В Debian, чтобы узнать,​ что можно настроить,​ посмотрите rc-файлы в //''/​etc/​gEDA/''//​. Мне, например,​ нравится светлый фон в **gschem**, поэтому я прописываю в свой //''​~/​.gEDA/​gschemrc''//​ строку:​ <​code>​(load (build-path geda-rc-path ​"​gschem-colormap-lightbg"​)) ; light background</​code>​
-    * **Настройка gschem:** создайте файл //''​~/​.gEDA/​gschemrc''//​ содержащий следующее:<​code>​(component-library "​${HOME}/​gaf/​gschem-sym"​) +
-(component-library "​${HOME}/​gaf/​gschem-sym/​transistors"​)</​code>​ +
-    * **Настройка gnetlist:​** ​программа **gnetlist** тоже должна знать, где найти символы, так что скопируйте эти строки в //''​~/​.gEDA/​gnetlistrc''//​+
-  * Если хочется более детальной настройки **gschem** и **gnetlist**,​ можно переопределить и другие начальные установки,​ заданные в глобальных rc-файлах. В Debian, чтобы узнать,​ что можно настроить,​ посмотрите rc-файлы в //''/​etc/​gEDA/''//​. Мне, например,​ нравится светлый фон в **gschem**, поэтому я прописываю в свой //''​~/​.gEDA/​gschemrc''//​ строку:​ <​code>​(load (string-append gedadatarc ​"/gschem-lightbg"​)) ; light background</​code>​+
   * **Настройка pcb:** обычно пакет **pcb** настроен так, что **pcb** автоматически смотрит в подкаталог //''​packages''//​ в рабочем каталоге. Поэтому,​ для того чтобы эта программа находила все элементы,​ лежащие у меня в каталоге //''​gaf/​pcb-elements''//,​ в каждом из каталогов своих проектов я делаю на него ссылку. Заметьте,​ что на самом деле эта ссылка при использовании **gsch2pcb** не обязательна,​ потому что, как будет показано ниже, альтернативно каталог //''​pcb-elements''//​ можно прописать в //​файле проекта//​. Но если вы хотите такую ссылку сделать,​ перейдите в каталог //''​gaf/​myproject1''//​ и введите команду:​ <​code>​ln -s ../​pcb-elements packages</​code>​   * **Настройка pcb:** обычно пакет **pcb** настроен так, что **pcb** автоматически смотрит в подкаталог //''​packages''//​ в рабочем каталоге. Поэтому,​ для того чтобы эта программа находила все элементы,​ лежащие у меня в каталоге //''​gaf/​pcb-elements''//,​ в каждом из каталогов своих проектов я делаю на него ссылку. Заметьте,​ что на самом деле эта ссылка при использовании **gsch2pcb** не обязательна,​ потому что, как будет показано ниже, альтернативно каталог //''​pcb-elements''//​ можно прописать в //​файле проекта//​. Но если вы хотите такую ссылку сделать,​ перейдите в каталог //''​gaf/​myproject1''//​ и введите команду:​ <​code>​ln -s ../​pcb-elements packages</​code>​
   * ** Настройка gsch2pcb: ** В каждом из каталогов своих проектов создайте для **gsch2pcb** файл проекта,​ который можно называть как угодно,​ лишь бы имя не оканчивалось на //.sch//. Файл проекта мы создадим в примере ниже.   * ** Настройка gsch2pcb: ** В каждом из каталогов своих проектов создайте для **gsch2pcb** файл проекта,​ который можно называть как угодно,​ лишь бы имя не оканчивалось на //.sch//. Файл проекта мы создадим в примере ниже.
  
-Вот и все настройки,​ которые нужны после исходной установки пакетов **gschem**, **gsch2pcb** и **pcb**. +Вот и все настройки,​ которые нужны после исходной установки пакетов 
 +**gschem**, **gsch2pcb** и **pcb**.
  
 ===== Простой пример ===== ===== Простой пример =====
-Давайте настолько быстро,​ насколько это возможно,​ разработаем простой проект,​ +Давайте настолько быстро,​ насколько это возможно,​ разработаем простой 
-начиная с принципиальной схемы и заканчивая созданием топологии печатной +проект,​ начиная с принципиальной схемы и заканчивая созданием топологии 
-платы, и затем его можно будет использовать как основу для более серьёзных +печатной платы, и затем его можно будет использовать как основу для более 
-вещей. Я сразу немного усложню этот проект,​ используя в нём две принципиальных +серьёзных вещей. Я сразу немного усложню этот проект,​ используя в нём две 
-схемы.+принципиальных схемы. 
  
 Предположим,​ вы уже настроили структуру каталогов,​ как описано выше. Теперь Предположим,​ вы уже настроили структуру каталогов,​ как описано выше. Теперь
Line 118: Line 115:
 output-name board output-name board
 </​code>​ </​code>​
 +
 +
  
  
 ==== Создание схемы one.sch ==== ==== Создание схемы one.sch ====
 +
 Если вы в **gschem** впервые,​ попробуйте сделать простую Если вы в **gschem** впервые,​ попробуйте сделать простую
 [[geda:​gschem_warmup.ru|разминку в gschem]]. [[geda:​gschem_warmup.ru|разминку в gschem]].
  
-{{geda:​one-sch-1.png |one.sch}} Запустите **''​gschem one.sch''​** и создайте +{{geda:​one-sch-1.png |one.sch}} Запустите **''​gschem one.sch''​** и создайте эту схему (на самом деле второй операционный усилитель здесь лишний,​ но ведь это просто учебник):​ 
-эту схему (на самом деле второй операционный усилитель здесь лишний,​ но ведь +  * Откройте диалоговое окно выбора компонентов (нажмите клавишу ​<key>i</​key>​)
-это просто учебник):​ +
-  * Откройте диалоговое окно выбора компонентов (нажмите клавишу ​[**i**])+
   * Убедитесь,​ что в выпадающем меню внизу диалогового окна установлено **Поведение по умолчанию -- ссылка на компонент**.   * Убедитесь,​ что в выпадающем меню внизу диалогового окна установлено **Поведение по умолчанию -- ссылка на компонент**.
   * Добавьте компоненты:​   * Добавьте компоненты:​
Line 133: Line 131:
     * Из библиотеки **Input/​Output** один //''​output-2.sym''//​.     * Из библиотеки **Input/​Output** один //''​output-2.sym''//​.
     * Из библиотеки **Power rails** один //''​gnd-1.sym''//,​ два //''​vcc-1.sym''//​ и два //''​vee-1.sym''//​     * Из библиотеки **Power rails** один //''​gnd-1.sym''//,​ два //''​vcc-1.sym''//​ и два //''​vee-1.sym''//​
-  * Разместите компоненты средней кнопкой мыши и поверните некоторые из них, выделив и нажав клавиши ​[**e**][**r**], чтобы всё выглядело красиво. Поверните нижний операционный усилитель и зеркально отразите его, нажав ​[**e**][**i**]+  * Разместите компоненты средней кнопкой мыши и поверните некоторые из них, выделив и нажав клавиши ​<key>e</​key><​key>​r</​key>​, чтобы всё выглядело красиво. Поверните нижний операционный усилитель и зеркально отразите его, нажав ​<key>e</​key><​key>​i</​key>​
-  * С помощью клавиши ​[**n**] и мыши начертите соединения.+  * С помощью клавиши ​<key>n</​key> ​и мыши начертите соединения.
  
 Большая рамка основной надписи также является компонентом. Для удобства она Большая рамка основной надписи также является компонентом. Для удобства она
 заблокирована,​ чтобы предотвратить постоянный захват её мышью. Чтобы заблокирована,​ чтобы предотвратить постоянный захват её мышью. Чтобы
 разблокировать рамку, выделите её перемещением мыши, удерживая левую кнопку разблокировать рамку, выделите её перемещением мыши, удерживая левую кнопку
-нажатой,​ а затем нажмите ​[**e**][**Shift**-**L**]. В библиотеке **Titleblocks** можно +нажатой,​ а затем нажмите ​<key>e</​key>​ - <key>Shift-l</​key>​. В библиотеке 
-найти рамки основной надписи различных размеров((Конечно же, не по нашему +**Titleblocks** можно найти рамки основной надписи различных 
-ГОСТу. --- //Прим. перев.//​)). Запомните,​ чтобы заблокировать новую рамку, её +размеров. Запомните,​ чтобы заблокировать новую рамку, её нужно выделить и 
-нужно выделить и нажать ​[**e**][**l**]. +нажать ​<key>e</​key><​key>​l</​key>​.
  
 ==== Редактирование атрибутов компонентов в схеме ==== ==== Редактирование атрибутов компонентов в схеме ====
-{{ geda:​one-sch-2.png|one.sch}} Для каждого из компонентов нужно сделать +{{ geda:​one-sch-2.png|one.sch}} Для каждого из компонентов нужно сделать следующее:​ выделить его и вызвать окно атрибутов нажатием клавиш ​<key>e</​key><​key>​e</​key>​. Атрибут ''​refdes''​ здесь менять не надо, а сделайте вот что:
-следующее:​ выделить его и вызвать окно атрибутов нажатием клавиш +
-[**e**][**e**]. Атрибут ''​refdes''​ здесь менять не надо, а сделайте вот что:+
   * Для резисторов и операционных усилителей добавьте видимые атрибуты ''​value''​ и установите для них подходящие значения (//10K//, //TL072//). Расставьте их средней кнопкой мыши покрасивее. Если трудно их выбрать,​ увеличьте масштаб и опять действуйте средней кнопкой.   * Для резисторов и операционных усилителей добавьте видимые атрибуты ''​value''​ и установите для них подходящие значения (//10K//, //TL072//). Расставьте их средней кнопкой мыши покрасивее. Если трудно их выбрать,​ увеличьте масштаб и опять действуйте средней кнопкой.
   * Для резисторов добавьте атрибуты ''​footprint''​ и установите их значения в //R025// --- это //​m4-элемент//​ в **pcb** для 0,​25-ваттных резисторов. Сделайте эти атрибуты невидимыми.   * Для резисторов добавьте атрибуты ''​footprint''​ и установите их значения в //R025// --- это //​m4-элемент//​ в **pcb** для 0,​25-ваттных резисторов. Сделайте эти атрибуты невидимыми.
Line 161: Line 156:
 подходят для большинства ваших задач. Или при добавлении первого компонента подходят для большинства ваших задач. Или при добавлении первого компонента
 для него сразу надо задавать подходящий корпус,​ а затем копировать его для него сразу надо задавать подходящий корпус,​ а затем копировать его
-(выделить компонент и нажать ​[**e**][**c**]), а не добавлять остальные компоненты из +(выделить компонент и нажать ​<key>e</​key><​key>​c</​key>​), а не добавлять 
-библиотеки.+остальные компоненты из библиотеки.
  
-Так или иначе, пока мы закончили со схемой //''​one.sch''//,​ так что сохраните +Так или иначе, пока мы закончили со схемой //''​one.sch''//,​ так что 
-её, выбрав в меню **//​Файл//​** -> **//​Сохранить страницу//​**,​ и выйдите из +сохраните её, выбрав в меню **//​Файл//​** -> **//​Сохранить страницу//​**,​ и 
-**gschem**.+выйдите из **gschem**.
  
  
Line 188: Line 183:
     * BNC-коннектор:​ добавьте невидимый атрибут ''​footprint''​ //CONNECTOR 2 1//, что определяет //​m4-элемент//,​ принимающий аргументы,​ и мы говорим ему сделать соединитель с двумя рядами и одним столбцом. Хотя в принципиальной схеме у нас BNC-коннектор,​ но на самом деле пусть он будет смонтирован на панели,​ а на плате будет фронтальный соединитель,​ с которого мы и кинем на него провода.     * BNC-коннектор:​ добавьте невидимый атрибут ''​footprint''​ //CONNECTOR 2 1//, что определяет //​m4-элемент//,​ принимающий аргументы,​ и мы говорим ему сделать соединитель с двумя рядами и одним столбцом. Хотя в принципиальной схеме у нас BNC-коннектор,​ но на самом деле пусть он будет смонтирован на панели,​ а на плате будет фронтальный соединитель,​ с которого мы и кинем на него провода.
  
-К сожалению,​ неотъемлемой частью добавленного нами символа //''​2N3904''//​ является +К сожалению,​ неотъемлемой частью добавленного нами символа //''​2N3904''//​ 
-видимый текст ​"​2N3904"​. Поэтому,​ когда мы добавляем атрибут ''​value''​ (нужный +является видимый текст ​«2N3904». Поэтому,​ когда мы добавляем атрибут 
-нам для того, чтобы на топологической схеме отображались соответствующие +''​value''​ (нужный нам для того, чтобы на топологической схеме отображались 
-значения),​ на нашей принципиальной схеме видны два обозначения,​ если не +соответствующие значения),​ на нашей принципиальной схеме видны два 
-сделать атрибут ''​value''​ невидимым. Это нехорошо и в данном примере нам +обозначения,​ если не сделать атрибут ''​value''​ невидимым. Это нехорошо и в 
-придётся смириться с этим, но учтите,​ что в большинстве случаев намертво +данном примере нам придётся смириться с этим, но учтите,​ что в большинстве 
-прибивать информацию к символам --- не очень хорошая идея. Кроме того, +случаев намертво прибивать информацию к символам --- не очень хорошая 
-атрибут ''​device''​ по умолчанию ошибочен и должен иметь значение +идея. Кроме того, атрибут ''​device''​ по умолчанию ошибочен и должен иметь 
-//​NPN_TRANSISTOR//,​ но это не влияет на наше изложение. Это так, для сведения,​ +значение //​NPN_TRANSISTOR//,​ но это не влияет на наше изложение. Это так, 
-что сейчас в **gschem** есть символы,​ переносящие из старых версий **gschem** +для сведения,​ что сейчас в **gschem** есть символы,​ переносящие из старых 
-в новые устаревшие методы работы с атрибутами. Если вам придётся работать с этими +версий **gschem** в новые устаревшие методы работы с атрибутами. Если вам 
-схемами в [[geda:​glossary.ru#​SPICE]],​ символы должны иметь правильные атрибуты ''​device''​.+придётся работать с этими схемами в [[geda:​glossary.ru#​SPICE]],​ символы 
 +должны иметь правильные атрибуты ''​device''​.
  
 Теперь мы закончили с принципиальными схемами,​ лишь не определили атрибуты Теперь мы закончили с принципиальными схемами,​ лишь не определили атрибуты
Line 205: Line 201:
 это для обеих схем сразу. Итак, сохраните //''​two.sch''//,​ выйдите из это для обеих схем сразу. Итак, сохраните //''​two.sch''//,​ выйдите из
 **gschem** и запустите:​ **gschem** и запустите:​
-<​code>​refdes_renum --pgskip one.sch two.sch +<​code>​refdes_renum --pgskip one.sch two.sch</​code>​ 
-</​code>​ +Откройте схемы в **gschem** снова и посмотрите,​ какие значения теперь заданы атрибутам ''​refdes''​ компонентов. Ключ ''​%%--pgskip%%''​ устанавливает начало нумерации в 101 для //''​one.sch''//​ и в 201 для //''​two.sch''//​. Вам следует знать однако,​ что запуск **refdes_renum** на самом деле полезен только для первоначальной нумерации. Если позже вы станете менять свои схемы, добавлять или удалять компоненты,​ никто не даст гарантии,​ что при повторном запуске **refdes_renum** компоненты сохранят существующие значения ''​refdes''​. Если тем временем вы с помощью **gsch2pcb** уже создали печатную плату, эта путаница с номерами позиционных обозначений приведёт к несоответствию ваших принципиальных схем топологии печатной платы. Поэтому после того как вы один раз запустите **refdes_renum** и начнёте заниматься разработкой топологии печатной платы, для безопасности (уникальные) атрибуты ''​refdes''​ для каждого из добавляемых компонентов лучше задавать вручную. Также учтите,​ что **refdes_renum** может пронумеровать ваши резисторы не так, как получилось здесь в моём примере,​ это зависит от порядка их добавления. Имейте это в виду, сравнивая свою окончательную топологию с той, которую увидите на приведённых ниже рисунках.
-Откройте схемы в **gschem** снова и посмотрите,​ какие значения теперь заданы +
-атрибутам ''​refdes''​ компонентов. Ключ ''​%%--pgskip%%''​ устанавливает начало +
-нумерации в 101 для //''​one.sch''//​ и в 201 для //''​two.sch''//​. Вам следует знать +
-однако,​ что запуск **refdes_renum** на самом деле полезен только для +
-первоначальной нумерации. Если позже вы станете менять свои схемы, добавлять +
-или удалять компоненты,​ никто не даст гарантии,​ что при повторном запуске +
-**refdes_renum** компоненты сохранят существующие значения ''​refdes''​. Если +
-тем временем вы с помощью **gsch2pcb** уже создали печатную плату, эта +
-путаница с номерами позиционных обозначений приведёт к несоответствию ваших +
-принципиальных схем топологии печатной платы. Поэтому после того как вы один +
-раз запустите **refdes_renum** и начнёте заниматься разработкой топологии печатной +
-платы, для безопасности (уникальные) атрибуты ''​refdes''​ для каждого из +
-добавляемых компонентов лучше задавать вручную. Также учтите,​ что +
-**refdes_renum** может пронумеровать ваши резисторы не так, как получилось +
-здесь в моём примере,​ это зависит от порядка их добавления. Имейте это в виду, +
-сравнивая свою окончательную топологию с той, которую увидите на приведённых +
-ниже рисунках.+
  
  
Line 238: Line 217:
  
  
-Теперь,​ когда файл //''​project''//​ для **gsch2pcb** уже настроен,​ всё что нам +Теперь,​ когда файл //''​project''//​ для **gsch2pcb** уже настроен,​ всё что 
-надо сделать для создания исходного набора pcb-файлов,​ это запустить+нам надо сделать для создания исходного набора pcb-файлов,​ это запустить
 **gsch2pcb**:​ **gsch2pcb**:​
 <​code>​~/​gaf/​myproject1$ gsch2pcb project <​code>​~/​gaf/​myproject1$ gsch2pcb project
 0 file elements and 7 m4 elements added to board.pcb. 0 file elements and 7 m4 elements added to board.pcb.
-(0 файловых элементов и 7 m4-элементов добавлено к board.pcb.) 
 </​code>​ </​code>​
 +Сообщение гласит:​ «0 файловых элементов и 7 m4-элементов добавлено к board.pcb».
 Так как в файле проекта ''​output-name''​ установлено в //board//, то создаваемые pcb-файлы называются //''​board.pcb''//​ и //''​board.net''//​. Так как в файле проекта ''​output-name''​ установлено в //board//, то создаваемые pcb-файлы называются //''​board.pcb''//​ и //''​board.net''//​.
  
-Внимание:​ более современный совет --- сначала создать пустую плату в **pcb**, +Внимание:​ более современный совет --- сначала создать пустую плату в 
-а затем при каждом запуске **gsch2pcb** в топологии будут производиться +**pcb**, а затем при каждом запуске **gsch2pcb** в топологии будут 
-изменения,​ как описано ниже (в разделе [[#​Изменение схем]]).+производиться изменения,​ как описано ниже (в разделе [[#​Изменение схем]]).
 Смысл в том, что в настоящее время установки по умолчанию для **gsch2pcb** Смысл в том, что в настоящее время установки по умолчанию для **gsch2pcb**
 совершенно отличаются от таковых для **pcb**, и по общему мнению для совершенно отличаются от таковых для **pcb**, и по общему мнению для
-большинства случаев умолчания **pcb** лучше. +большинства случаев умолчания **pcb** лучше. ​ Но есть одно ​«но»: если вы с 
-Но есть одно ​"но": если вы с помощью **pcb2panel** компонуете из нескольких +помощью **pcb2panel** компонуете из нескольких топологических схем одну на 
-топологических схем одну на одной плате, то +одной плате, то если платы создавались с винегретом из умолчаний 
-если платы создавались с винегретом из умолчаний **gsch2pcb** и (современной) +**gsch2pcb** и (современной) программы **pcb** без редактирования стека 
-программы **pcb** без редактирования стека слоёв, которое может требовать +слоёв, которое может требовать дополнительной работы,​ вы получите 
-дополнительной работы,​ вы получите непригодные результаты. (mjm, Aug 2008)+непригодные результаты. (mjm, Aug 2008)
  
-Если **gsch2pcb** говорит вам что-то вроде: +Если **gsch2pcb** говорит вам что-то вроде: //2 unknown elements added to 
-//2 unknown elements added to board.pcb.//​ (2 неизвестных элемента добавлено к +board.pcb.//​ (2 неизвестных элемента добавлено к board.pcb), запустите 
-board.pcb), запустите программу с флагом ''​-v'':​ **''​gsch2pcb -v project''​** и +программу с флагом ''​-v'':​ **''​gsch2pcb -v project''​** и вывод **gsch2pcb** 
-вывод **gsch2pcb** подскажет вам, какие компоненты в схеме не имеют +подскажет вам, какие компоненты в схеме не имеют известного ''​footprint''​.
-известного ''​footprint''​.+
 Либо вы забыли добавить данный атрибут,​ либо его значение неправильно,​ либо Либо вы забыли добавить данный атрибут,​ либо его значение неправильно,​ либо
-pcb-элемент для него отсутствует в установленных библиотеках. +pcb-элемент для него отсутствует в установленных библиотеках. ​ Но если 
-Но если **gsch2pcb** вообще не может найти ни одного элемента и все 7 +**gsch2pcb** вообще не может найти ни одного элемента и все 7 неизвестны,​ 
-неизвестны,​ то, вероятно,​ **gsch2pcb** не может найти каталог установки ваших+то, вероятно,​ **gsch2pcb** не может найти каталог установки ваших
 //​m4-элементов//​ для **pcb**. В таком случае посмотрите первую часть раздела //​m4-элементов//​ для **pcb**. В таком случае посмотрите первую часть раздела
-[[geda:​gsch2pcb_tutorial.ru#Нестандартные m4-элементы требуется gsch2pcb 1.0| +[[#​Нестандартные m4-элементы]].
-Нестандартные m4-элементы ]].+
  
  
Line 276: Line 253:
 ==== Разработка топологии в pcb-файлах ==== ==== Разработка топологии в pcb-файлах ====
 === Установка умолчаний === === Установка умолчаний ===
-{{geda:​board-1.png |pcb, шаг 1}}Запустите **''​pcb board.pcb''​**. +{{geda:​board-1.png |pcb, шаг 1}}Запустите **''​pcb board.pcb''​**. ​ Вы увидите 
-Вы увидите большую кучу pcb-элементов,​ заданных в атрибутах ''​footprint''​ +большую кучу pcb-элементов,​ заданных в атрибутах ''​footprint''​ компонентов 
-компонентов схемы. Это нормально,​ позже мы приведём всё это в порядок.+схемы. Это нормально,​ позже мы приведём всё это в порядок.
  
 Когда вы открываете pcb-файл в **pcb** первый раз, нужно настроить разные Когда вы открываете pcb-файл в **pcb** первый раз, нужно настроить разные
-исходные значения. +исходные значения. ​ Обычно для большей части работы по разводке я сначала 
-Обычно для большей части работы по разводке я сначала устанавливаю шаг +устанавливаю шаг сетки в 25 милов из меню **//​Вид//​** -> **//Шаг сетки//​** 
-сетки в 25 милов из меню **//​Вид//​** -> **//Шаг сетки//​** -> **//25 милов//​**,​ +-> **//25 милов//​**,​ а затем, если где-нибудь понадобится более плотная 
-а затем, если где-нибудь понадобится более плотная компоновка,​ изменяю его на меньшие значения. +компоновка,​ изменяю его на меньшие значения. ​ Обратите внимание,​ что если 
-Обратите внимание,​ что если единицами измерения сделать миллиметры с помощью +единицами измерения сделать миллиметры с помощью **//​Вид//​** -> **//​Единицы 
-**//​Вид//​** -> **//​Единицы измерения сетки//​** -> **//​мм//​**,​ то вместо милов +измерения сетки//​** -> **//​мм//​**,​ то вместо милов в меню **//​Вид//​** -> 
-в меню **//​Вид//​** -> **//Шаг сетки//​** будет ряд вариантов размеров в +**//Шаг сетки//​** будет ряд вариантов размеров в миллиметрах. Между 
-миллиметрах. Между миллиметрами и милами можно переключаться в любое время.+миллиметрами и милами можно переключаться в любое время.
  
-Ещё нужно задать умолчания для размеров линий и отверстий в [[geda:​glossary.ru#​Стиль трассировки|стилях разводки]] +Ещё нужно задать умолчания для размеров линий и отверстий в 
-**Сигналы**,​ **Питание**,​ **Толстый** и **Тонкий**. Чтобы задать эти размеры,​ +[[geda:​glossary.ru#​Стиль трассировки|стилях разводки]] **Сигналы**,​ 
-надо просто выбрать один из этих стилей в нижнем левом углу окна **pcb** и +**Питание**,​ **Толстый** и **Тонкий**. Чтобы задать эти размеры,​ надо просто 
-нажать кнопку **Стиль трассировки**. Размер своей платы можно установить +выбрать один из этих стилей в нижнем левом углу окна **pcb** и нажать кнопку 
-сейчас,​ а можно отложить на потом, занявшись работой над топологией. Чтобы +**Стиль трассировки**. Размер своей платы можно установить сейчас,​ а можно 
-изменить размер платы, откройте окно **//​Файл//​** -> **//​Настройки...//​** и +отложить на потом, занявшись работой над топологией. Чтобы изменить размер 
-выберите страницу **Размеры**. В этом окне можно поменять и другие значения,​ +платы, откройте окно **//​Файл//​** -> **//​Настройки...//​** и выберите 
-например,​ приращения и значения для [[geda:​glossary.ru#​Проверка соответствия проектным нормам|проверки на соответствие проектным нормам]]. +страницу **Размеры**. В этом окне можно поменять и другие значения,​ 
-Чтобы узнать,​ что это такое, вам следует просмотреть документацию по **pcb**. +например,​ приращения и значения для [[geda:​glossary.ru#​Проверка соответствия 
-И может быть вам покажется полезной установка **//​Вид//​** -> **//​Отображать+проектным нормам|проверки на соответствие проектным нормам]]. ​ Чтобы узнать,​ 
 +что это такое, вам следует просмотреть документацию по **pcb**. ​ И может 
 +быть вам покажется полезной установка **//​Вид//​** -> **//​Отображать
 сетку//​**. сетку//​**.
- 
  
 === Распределение компонентов === === Распределение компонентов ===
 {{ geda:​board-2.png|Шаг 2}} Берите элементы средней кнопкой мыши и {{ geda:​board-2.png|Шаг 2}} Берите элементы средней кнопкой мыши и
 расставляйте по одному,​ пока их все не разнесёте. расставляйте по одному,​ пока их все не разнесёте.
 +
 Можно и самой программе **pcb** позволить разнести элементы с помощью Можно и самой программе **pcb** позволить разнести элементы с помощью
-**//​Выделение//​** -> **//​Распределить все элементы//​**,​ а потом +**//​Выделение//​** -> **//​Распределить все элементы//​**,​ а потом уже вручную 
-уже вручную подкорректировать их положение. +подкорректировать их положение.
  
 === Загрузка списка соединений === === Загрузка списка соединений ===
Line 321: Line 299:
 следовать за ним как резиновые,​ но их концы не будут перепрыгивать на другие следовать за ним как резиновые,​ но их концы не будут перепрыгивать на другие
 узлы, хотя при этом общая длина и могла бы стать меньше. Перепрыгнуть линии узлы, хотя при этом общая длина и могла бы стать меньше. Перепрыгнуть линии
-связи, для получения ​"лучшей" ​геометрии,​ заставит [[geda:​glossary.ru#​действие]] +связи, для получения ​«лучшей» геометрии,​ заставит 
-**//​Оптимизировать линии связи//​**. В любое время его легко запустить,​ нажав +[[geda:​glossary.ru#​действие]] **//​Оптимизировать линии связи//​**. В любое 
-клавишу ​[**o**]. +время его легко запустить,​ нажав клавишу ​<key>o</​key>​.
  
 === Компоновка === === Компоновка ===
 {{ geda:​board-4.png|Шаг 4}}Теперь линии связи нужно заменить дорожками,​ {{ geda:​board-4.png|Шаг 4}}Теперь линии связи нужно заменить дорожками,​
 которые можно будет протравить на медной поверхности платы. Обычно после которые можно будет протравить на медной поверхности платы. Обычно после
-**//​Распределить все элементы//​** линии связи расположены беспорядочно и часто +**//​Распределить все элементы//​** линии связи расположены беспорядочно и 
-пересекаются. Попробуйте распутать как можно больше этих линий перемещением и +часто пересекаются. Попробуйте распутать как можно больше этих линий 
-поворотом компонентов. Ключ к хорошо разведённой печатной плате --- правильное +перемещением и поворотом компонентов. Ключ к хорошо разведённой печатной 
-размещение компонентов. Хотя **pcb** и пытается приводить линии связи в +плате --- правильное размещение компонентов. Хотя **pcb** и пытается 
-порядок,​ будет хорошо,​ если вы привыкнете при размещении компонентов время от +приводить линии связи в порядок,​ будет хорошо,​ если вы привыкнете при 
-времени их оптимизировать,​ нажимая клавишу ​[**o**].+размещении компонентов время от времени их оптимизировать,​ нажимая клавишу 
 +<key>o</​key>​.
  
-Выберите инструмент **ROT** ([**F9**]), позволяющий средней кнопкой мыши 
-перемещать элементы,​ а левой --- поворачивать. Правой кнопкой при увеличенном 
-масштабе можно смещать область просмотра в пределах рабочей области окна. Попробуйте 
-увеличить и уменьшить масштаб колёсиком мыши или клавишами [**z**] и 
-[**Shift-z**]. Наведите курсор мыши на вывод и нажмите клавишу [**f**], чтобы 
-подсветить объекты,​ касающиеся этого вывода и получше рассмотреть дорожки. 
-Попробуйте убрать подсветку,​ нажав [**Shift-f**]. В любое время изменения можно 
-отменить,​ нажав [**u**]. 
  
-Обратите ​внимание: вместо того, чтобы вручную размещать ​компоненты ​ли +Выберите инструмент **ROT** (<​key>​F9</​key>​),​ позволяющий средней кнопкой 
-разносить с помощью команд **//​Выделение//** -> **//Распределить ...//**), как +мыши перемещать ​элементы, а левой --- поворачивать. ​Правой ​кнопкой при 
-описано вышеможно ​использовать ​возможность авторазмещения в **pcb**. Для +увеличенном масштабе можно смещать ​область просмотра в пределах рабочей 
-этого нужно загрузить ​список соединений, выбрать компоненты для +области окна. Попробуйте увеличить и уменьшить ​масштаб ​колёсиком мыши или 
-автоматического размещения (если это первый запуск **pcb**, просто **//Выделение//** -> +клавишами ​<​key>​z</​key>​ и <​key>​Shift-z</​key>​. Наведите ​курсор мыши на вывод и 
-**//Выделить ​все видимые ​объекты//**)затем выбрать **//​Выделение//​** -> +нажмите клавишу <​key>​f<​/key>, чтобы подсветить объекты, ​касающиеся этого 
-**//​Авторазмещение выделенных элементов//​**. После этого ​можно снова +вывода и получше рассмотреть дорожки. ​ Попробуйте убрать подсветкунажав 
-подкорректировать созданную ​программой расстановку ​вручную. Функция +<​key>​Shift-f</​key>​. В любое ​время изменения ​можно отменить, нажав 
-авторазмещения должна расставить элементы ​более разумно, чем функция +<​key>​u</​key>​.
-распределенияно когда ​топология разрастаетсяона работает намного +
-медленнее.+
  
 +Обратите внимание:​ вместо того, чтобы вручную размещать компоненты (или
 +разносить с помощью команд **//​Выделение//​** -> **//​Распределить ...//**),
 +как описано выше, можно использовать возможность авторазмещения в
 +**pcb**. Для этого нужно загрузить список соединений,​ выбрать компоненты для
 +автоматического размещения (если это первый запуск **pcb**, просто
 +**//​Выделение//​** -> **//​Выделить все видимые объекты//​**),​ затем выбрать
 +**//​Выделение//​** -> **//​Авторазмещение выделенных элементов//​**. После
 +этого можно снова подкорректировать созданную программой расстановку
 +вручную. Функция авторазмещения должна расставить элементы более разумно,​
 +чем функция распределения,​ но когда топология разрастается,​ она работает
 +намного медленнее.
  
 === Замещение линий связи дорожками === === Замещение линий связи дорожками ===
-{{geda:​board-5.png |Шаг 5}} Теперь можно начать [[geda:​glossary.ru#​Трассировка|трассировку]] --- разводку +{{geda:​board-5.png |Шаг 5}} Теперь можно начать 
-дорожек между выводами,​ соединёнными линиями связи. На левой панели +[[geda:​glossary.ru#​Трассировка|трассировку]] --- разводку дорожек между 
-инструментов **pcb** выберите инструмент **LINE**, выберите слой, на котором +выводами,​ соединёнными линиями связи. На левой панели инструментов **pcb** 
-хотите чертить (**solder** -- слой пайки, **component** -- слой компонентов,​ и +выберите инструмент **LINE**, выберите слой, на котором хотите чертить 
-т. д.), и начните чертить линии, выбирая конечные точки левой кнопкой мыши. +(**solder** -- слой пайки, **component** -- слой компонентов,​ и т. д.), и 
-Отметим ещё раз, клавиша ​[**f**] поможет вам найти дорожки,​ которые нужно+начните чертить линии, выбирая конечные точки левой кнопкой мыши. ​ Отметим 
 +ещё раз, клавиша ​<key>f</​key> ​поможет вам найти дорожки,​ которые нужно
 соединить. Если вы хотите остановить текущую дорожку,​ чтобы начать чертить соединить. Если вы хотите остановить текущую дорожку,​ чтобы начать чертить
 новую где-то в другом месте, закончите её щелчком средней кнопки мыши. новую где-то в другом месте, закончите её щелчком средней кнопки мыши.
 Можно поиграться здесь и с автотрассировкой. Можно поиграться здесь и с автотрассировкой.
  
-Очень полезное действие инструмента **SEL** --- выделение нескольких объектов +Очень полезное действие инструмента **SEL** --- выделение нескольких 
-с последующим вырезанием или копированием их в буфер обмена из меню+объектов с последующим вырезанием или копированием их в буфер обмена из меню
 **//​Правка//​** -> **//​Вырезать выделение в буфер//​** (или **//​Правка//​** -> **//​Правка//​** -> **//​Вырезать выделение в буфер//​** (или **//​Правка//​** ->
 **//​Копировать выделение в буфер//​**). Содержимое буфера можно тотчас же **//​Копировать выделение в буфер//​**). Содержимое буфера можно тотчас же
-вставить или отменить текущую вставку выбором другого инструмента. Содержимое +вставить или отменить текущую вставку выбором другого 
-буфера можно вставить потом в любое время из меню **//​Буфер//​** -> +инструмента. Содержимое буфера можно вставить потом в любое время из меню 
-**//​Вставить из буфера//​**. Таким образом можно перемещать области топологии +**//​Буфер//​** -> **//​Вставить из буфера//​**. Таким образом можно перемещать 
-или переходить в другое место и повторять общие шаблоны дорожек. Чтобы выбрать +области топологии или переходить в другое место и повторять общие шаблоны 
-несколько объектов инструментом **SEL**, надо нажав кнопку мыши выделить +дорожек. Чтобы выбрать несколько объектов инструментом **SEL**, надо нажав 
-нужную область,​ потом нажав ​[**Shift**] и щёлкая мышью можно добавлять объекты к +кнопку мыши выделить нужную область,​ потом нажав ​<key>Shift</​key> ​и щёлкая 
-уже выделенным.+мышью можно добавлять объекты к уже выделенным.
  
 Когда разводка дорожек закончена (если при очередной оптимизации линий связи Когда разводка дорожек закончена (если при очередной оптимизации линий связи
Line 392: Line 372:
 последний tar-архив. Файлы документации могут быть установлены где-то и в последний tar-архив. Файлы документации могут быть установлены где-то и в
 вашей системе. В Debian они устанавливаются из пакета в вашей системе. В Debian они устанавливаются из пакета в
-//''/​usr/​share/​doc/​pcb/​html/''//​. В **pcb** есть ещё и удобная ​"активная"+//''/​usr/​share/​doc/​pcb/​html/''//​. В **pcb** есть ещё и удобная ​«активная»
 документация,​ с помощью которой можно познакомиться с назначением клавиш или документация,​ с помощью которой можно познакомиться с назначением клавиш или
 вводимыми с клавиатуры командами. Откройте меню **//​Информация//​** -> вводимыми с клавиатуры командами. Откройте меню **//​Информация//​** ->
 **//​Назначение клавиш//​** и вы, вероятно,​ обнаружите,​ что просто читая об **//​Назначение клавиш//​** и вы, вероятно,​ обнаружите,​ что просто читая об
-имеющихся привязках клавиш можно научиться многому из того, что можно делать в +имеющихся привязках клавиш можно научиться многому из того, что можно делать 
-**pcb**. +в **pcb**. ​ Если в окне **//​Файл//​** -> **//​Настройки...//​** вы выбрали 
-Если в окне **//​Файл//​** -> **//​Настройки...//​** вы выбрали //​Использовать +//​Использовать отдельное окно для ввода команд//,​ то затем, когда откроете 
-отдельное окно для ввода команд//,​ то затем, когда откроете окно команд через +окно команд через **//​Окно//​** -> **//​Ввод команды//​** (или клавишей 
-**//​Окно//​** -> **//​Ввод команды//​** (или клавишей ​[**:**]), вы увидите +<key>:</​key>​), вы увидите стрелку и надпись **Справка по 
-стрелку и надпись **Справка по командам**. Щёлкните на стрелку и откроется +командам**. Щёлкните на стрелку и откроется справка по некоторым командам,​ 
-справка по некоторым командам,​ которые здесь можно набрать и для которых могут +которые здесь можно набрать и для которых могут отсутствовать пункты меню 
-отсутствовать пункты меню или привязки клавиш.+или привязки клавиш. 
  
 Скажем,​ например,​ вы задали на странице **//​Настройки...//​** -> Скажем,​ например,​ вы задали на странице **//​Настройки...//​** ->
-**//​Приращения//​** размер приращений равный 5 милов. С такой настройкой можно +**//​Приращения//​** размер приращений равный 5 милов. С такой настройкой 
-выбрать несколько линий и затем увеличить их ширину на 5 милов из меню +можно выбрать несколько линий и затем увеличить их ширину на 5 милов из меню 
-**//​Выделение//​** -> **//​Изменить размер выделенных объектов//​** -> **//​Линии +**//​Выделение//​** -> **//​Изменить размер выделенных объектов//​** -> 
-+5 милов//​**. Но предположим,​ значения ширины хочется менять произвольно,​ а +**//​Линии +5 милов//​**. Но предположим,​ значения ширины хочется менять 
-каждый раз **Настройки...** менять неудобно. Тогда можно выбрать несколько +произвольно,​ а каждый раз **Настройки...** менять неудобно. Тогда можно 
-линий, открыть окно команды (нажатием ​[**:**]) и ввести команду:​ +выбрать несколько линий, открыть окно команды (нажатием ​<key>:</​key>​) и 
-<​code>​changesize(selectedlines,​ +3, mils)+ввести команду:​ 
 +<​code>​ 
 +changesize(selectedlines,​ +3, mils)
 </​code>​ </​code>​
-и выбранные линии увеличатся на 3 мила. Эта команда теперь в списке истории,​ +и выбранные линии увеличатся на 3 мила. Эта команда теперь в списке истории,​ её можно вызвать повторно и быстро отредактировать в окне команды,​ подставив нужные значения размеров.
-её можно вызвать повторно и быстро отредактировать в окне команды,​ подставив +
-нужные значения размеров.+
  
  
Line 422: Line 403:
 Для некоторых разработок важно располагать компоненты на обеих сторонах Для некоторых разработок важно располагать компоненты на обеих сторонах
 платы, хотя в предшествующем примере это нам и не нужно. В таких случаях платы, хотя в предшествующем примере это нам и не нужно. В таких случаях
-клавишей ​[**Tab**] плату можно перевернуть сверху вниз и посмотреть на неё +клавишей ​<key>Tab</​key> ​плату можно перевернуть сверху вниз и посмотреть на 
-сзади, в то время как клавишей ​[**b**] выделенный компонент можно переместить +неё сзади, в то время как клавишей ​<key>b</​key> ​выделенный компонент можно 
-на противоположную сторону платы. +переместить на противоположную сторону платы. ​ Для двухсторонних плат также 
-Для двухсторонних плат также важно учитывать,​ на какой стороне находится +важно учитывать,​ на какой стороне находится конкретный слой дорожек. Это 
-конкретный слой дорожек. Это можно посмотреть и настроить в диалоговом окне +можно посмотреть и настроить в диалоговом окне **//​Файл//​** -> 
-**//​Файл//​** -> **//​Настройки...//​** -> **//​Слои//​** -> **//​Группы//​**. Слои +**//​Настройки...//​** -> **//​Слои//​** -> **//​Группы//​**. Слои стороны 
-стороны **component** будут находиться наверху платы, слои стороны +**component** будут находиться наверху платы, слои стороны **solder** --- 
-**solder** --- внизу. В этом окне нужно обеспечить,​ чтобы все слои, которые +внизу. В этом окне нужно обеспечить,​ чтобы все слои, которые будут 
-будут производиться за один шаг (т. е. протравливаться фотолитографическим+производиться за один шаг (т. е. протравливаться фотолитографическим
 методом),​ были сгруппированы вместе. методом),​ были сгруппированы вместе.
- 
  
 ===== Изменение схем ===== ===== Изменение схем =====
-Процесс переноса изменений принципиальной схемы в топологию **pcb** с помощью +Процесс переноса изменений принципиальной схемы в топологию **pcb** с 
-**gsch2pcb** очень прост. После того как с помощью **gsch2pcb** создан +помощью **gsch2pcb** очень прост. После того как с помощью **gsch2pcb** 
-исходный файл //''​board.pcb''//,​ всякий раз, когда в схемы вносятся изменения +создан исходный файл //''​board.pcb''//,​ всякий раз, когда в схемы вносятся 
-в **gschem**, нужно запускать **''​gsch2pcb project''​**. Затем надо будет +изменения в **gschem**, нужно запускать **''​gsch2pcb project''​**. Затем надо 
-запустить **''​pcb board.pcb''​** и выполнить необходимые шаги в зависимости +будет запустить **''​pcb board.pcb''​** и выполнить необходимые шаги в 
-от действий программы **gsch2pcb**. Каждый раз при запуске **gsch2pcb** +зависимости от действий программы **gsch2pcb**. Каждый раз при запуске 
-происходит следующее:​+**gsch2pcb** происходит следующее:​ 
 + 
   * **gsch2pcb** всегда создаёт новый список соединений //''​board.net''//​. Если соединения изменились,​ загрузите этот файл после запуска **pcb**.   * **gsch2pcb** всегда создаёт новый список соединений //''​board.net''//​. Если соединения изменились,​ загрузите этот файл после запуска **pcb**.
   * Если вы добавили в схему компоненты (с атрибутами ''​footprint''​),​ **gsch2pcb** создаст файл //''​board.new.pcb''//,​ содержащий все новые pcb-элементы,​ соответствующие этим атрибутам. Затем запустите **''​pcb board.pcb''​** и загрузите //''​board.new.pcb''//​ с новыми элементами в существующую топологию с помощью **//​Файл//​** -> **//​Загрузить топологию в буфер обмена//​**. Разместите новые элементы,​ загрузите новый список соединений и проведите новые дорожки.   * Если вы добавили в схему компоненты (с атрибутами ''​footprint''​),​ **gsch2pcb** создаст файл //''​board.new.pcb''//,​ содержащий все новые pcb-элементы,​ соответствующие этим атрибутам. Затем запустите **''​pcb board.pcb''​** и загрузите //''​board.new.pcb''//​ с новыми элементами в существующую топологию с помощью **//​Файл//​** -> **//​Загрузить топологию в буфер обмена//​**. Разместите новые элементы,​ загрузите новый список соединений и проведите новые дорожки.
Line 448: Line 430:
   * Если вы изменили атрибуты ''​value''​ компонентов схемы, изменённые значения будут внесены непосредственно в файл //''​board.pcb''//​.   * Если вы изменили атрибуты ''​value''​ компонентов схемы, изменённые значения будут внесены непосредственно в файл //''​board.pcb''//​.
  
-Итак, при использовании **gsch2pcb** все изменения pcb-элементов приводятся ​в + 
-действие изменениями в принципиальных схемах и элементы для компонентов+Итак, при использовании **gsch2pcb** все изменения pcb-элементов приводятся 
 +в действие изменениями в принципиальных схемах и элементы для компонентов
 никогда не нужно добавлять или удалять вручную. никогда не нужно добавлять или удалять вручную.
 +
  
 Однако pcb-элементы,​ не являющиеся частью схем, такие как отверстия для Однако pcb-элементы,​ не являющиеся частью схем, такие как отверстия для
Line 457: Line 441:
 задавалось ''​Название на плате'',​ так как оно зарезервировано для значений задавалось ''​Название на плате'',​ так как оно зарезервировано для значений
 атрибутов ''​refdes''​ компонентов принципиальной схемы и **gsch2pcb** захочет атрибутов ''​refdes''​ компонентов принципиальной схемы и **gsch2pcb** захочет
-удалить элементы с непустым ''​Названием на плате'',​ не соответствующие ни одному +удалить элементы с непустым ''​Названием на плате'',​ не соответствующие ни 
-из значений ''​refdes''​ компонентов схемы.+одному из значений ''​refdes''​ компонентов схемы. 
  
 До сих пор для нашей платы мы использовали только //​m4-элементы//,​ теперь До сих пор для нашей платы мы использовали только //​m4-элементы//,​ теперь
 давайте изменим схему и попробуем работать с //​файловыми элементами//​. Но давайте изменим схему и попробуем работать с //​файловыми элементами//​. Но
 сначала хорошо бы познакомиться с элементами,​ предлагаемыми в **pcb** по сначала хорошо бы познакомиться с элементами,​ предлагаемыми в **pcb** по
-умолчанию. +умолчанию. ​ В зависимости от места установки вашей **pcb** у вас будет 
-В зависимости от места установки вашей **pcb** у вас будет каталог +каталог //''/​usr/​local/​share/​pcb/​newlib''//,​ //''/​usr/​share/​pcb/​newlib''//​ 
-//''/​usr/​local/​share/​pcb/​newlib''//,​ //''/​usr/​share/​pcb/​newlib''//​ или +или возможно какой-то ещё (это зависит от //​префикса//,​ указанного при 
-возможно какой-то ещё (это зависит от //​префикса//,​ указанного при установке +установке **pcb**). В версиях **pcb** до **20031113** вместо библиотеки 
-**pcb**). В версиях **pcb** до **20031113** вместо библиотеки **newlib** +**newlib** использовалась **pcb_lib**,​ путь доступа к которой 
-использовалась **pcb_lib**,​ путь доступа к которой //''/​usr/​local/​pcb_lib''//​ +//''/​usr/​local/​pcb_lib''//​ или //''/​usr/​lib/​pcb_lib''//​. ​ Когда вы найдёте у 
-или //''/​usr/​lib/​pcb_lib''//​. +себя каталог //''​newlib''//,​ взгляните на имена файлов в его
-Когда вы найдёте у себя каталог //''​newlib''//,​ взгляните на имена файлов в его+
 подкаталогах. Каждое из этих имён может использоваться как значение атрибута подкаталогах. Каждое из этих имён может использоваться как значение атрибута
-''​footprint''​ для компонентов в принципиальной схеме. +''​footprint''​ для компонентов в принципиальной схеме. ​ Например,​ имеется 
-Например,​ имеется файл +файл //''​xxx/​newlib/​2_pin_thru-hole_packages/​0.125W_Carbon_Resistor''//,​ так 
-//''​xxx/​newlib/​2_pin_thru-hole_packages/​0.125W_Carbon_Resistor''//,​ так что +что если бы мы на своей плате захотели использовать 0,​125-ваттные резисторы,​
-если бы мы на своей плате захотели использовать 0,​125-ваттные резисторы,​+
 атрибут ''​footprint''​ резистора можно было бы установить в атрибут ''​footprint''​ резистора можно было бы установить в
-//​0.125W_Carbon_Resistor//​ вместо //R025//. +//​0.125W_Carbon_Resistor//​ вместо //​R025//​. ​ Попробуйте изменить,​ скажем,​ 
-Попробуйте изменить,​ скажем,​ резистор //R101// в //''​one.sch''//,​ задав для него+резистор //R101// в //''​one.sch''//,​ задав для него
 //​0.125W_Carbon_Resistor//,​ а затем запустите **''​gsch2pcb project''​**. //​0.125W_Carbon_Resistor//,​ а затем запустите **''​gsch2pcb project''​**.
 Если **gsch2pcb** не находит такого элемента,​ значит в свой файл Если **gsch2pcb** не находит такого элемента,​ значит в свой файл
Line 488: Line 471:
 <​code>​~/​gaf/​myproject1$ gsch2pcb project <​code>​~/​gaf/​myproject1$ gsch2pcb project
 board.pcb is backed up as board.pcb.bak1. board.pcb is backed up as board.pcb.bak1.
-(board.pcb сохранён как board.pcb.bak1.) 
 1 elements deleted from board.pcb. 1 elements deleted from board.pcb.
-(1 элемент удалён из board.pcb) 
 1 file elements and 0 m4 elements added to board.new.pcb. 1 file elements and 0 m4 elements added to board.new.pcb.
-(Добавлено 1 файловых элементов и 0 m4-элементов в board.pcb) 
 </​code>​ </​code>​
-Теперь нужно запустить **''​pcb board.pcb''​**. Вы увидите,​ что элемент для +Сообщения означают:​ «board.pcb сохранён как board.pcb.bak1. 1 элемент удалён из board.pcb. Добавлено 1 файловых элементов и 0 m4-элементов в board.pcb».  ​Теперь нужно запустить **''​pcb board.pcb''​**. Вы увидите,​ что элемент для резистора //R101// пропал и при загрузке //''​board.new.pcb''//​ из меню **//​Файл//​** -> **//​Загрузить топологию в буфер обмена//​** появится новый элемент.
-резистора //R101// пропал и при загрузке //''​board.new.pcb''//​ из меню +
-**//​Файл//​** -> **//​Загрузить топологию в буфер обмена//​** появится новый +
-элемент.+
  
  
Line 503: Line 480:
 Обычным способом создания своих нестандартных символов является изменение Обычным способом создания своих нестандартных символов является изменение
 существующих. Что мне не нравится в используемом нами существующих. Что мне не нравится в используемом нами
-//''​dual-opamp-1.sym''//,​ так это то, что выводы питания повторяются на каждом +//''​dual-opamp-1.sym''//,​ так это то, что выводы питания повторяются на 
-символе. Хотя кому-то может это и нравится,​ мне кажется,​ что при этом+каждом символе. Хотя кому-то может это и нравится,​ мне кажется,​ что при этом
 страница,​ полная операционных усилителей,​ выглядит слегка хаотично. Это страница,​ полная операционных усилителей,​ выглядит слегка хаотично. Это
 предоставляет нам неплохую возможность изучить атрибуты ''​net''​ в данном предоставляет нам неплохую возможность изучить атрибуты ''​net''​ в данном
 руководстве. К символам в **gschem** можно прикреплять атрибуты ''​net'',​ руководстве. К символам в **gschem** можно прикреплять атрибуты ''​net'',​
 которые привязывают выводы к конкретным соединениям. Вместо подключения которые привязывают выводы к конкретным соединениям. Вместо подключения
-выводов //8// каждого операционного усилителя к //''​Vcc''//,​ а выводов +выводов //8// каждого операционного усилителя к //''​Vcc''//,​ а выводов //4// 
-//4// к //''​Vee''//​ в схеме, можно сделать так, что это будет производиться +к //''​Vee''//​ в схеме, можно сделать так, что это будет производиться 
-автоматически,​ и эти выводы из схемы убрать. Для этого просто скопируйте файл +автоматически,​ и эти выводы из схемы убрать. Для этого просто скопируйте 
-исходного символа в каталог своих символов для **gschem**, задав ему новое +файл исходного символа в каталог своих символов для **gschem**, задав ему 
-имя, и отредактируйте его. Выполните шаги, описанные ниже. (Каталог установки +новое имя, и отредактируйте его. Выполните шаги, описанные ниже. (Каталог 
-символов gEDA может быть у вас другим,​ например,​+установки символов gEDA может быть у вас другим,​ например,​
 //''/​usr/​local/​share/​gEDA/​sym/''//​):​ //''/​usr/​local/​share/​gEDA/​sym/''//​):​
- 
  
 == Установка видимости атрибутов == == Установка видимости атрибутов ==
Line 524: Line 500:
 gschem opamp-dual.sym gschem opamp-dual.sym
 </​code>​ </​code>​
-  * Нажмите клавиши ​[**e**][**n**], чтобы атрибуты было видно. +  * Нажмите клавиши ​<key>e</​key><​key>​n</​key>​, чтобы атрибуты было видно. 
-  * Нажмите клавиши ​[**v**][**e**], чтобы увидеть всю схему целиком.+  * Нажмите клавиши ​<key>v</​key><​key>​e</​key>​, чтобы увидеть всю схему целиком.
   * Выделите вывод //8// щелчком левой кнопки мыши по нему.   * Выделите вывод //8// щелчком левой кнопки мыши по нему.
- 
  
 == Удаление видимых выводов питания == == Удаление видимых выводов питания ==
 {{geda:​gschem-sym-2.png |Шаг 2}} {{geda:​gschem-sym-2.png |Шаг 2}}
-  ​* Удалите вывод //8// нажатием клавиши ​[**Delete**].+ 
 +  ​* Удалите вывод //8// нажатием клавиши ​<key>Delete</​key>​.
   * Подобным образом выделите и удалите вывод //4//.   * Подобным образом выделите и удалите вывод //4//.
   * Дважды щелкните по строкам ''​slotdef'',​ чтобы выбрать и изменить их. Удалите из них выводы //4// и //8//.   * Дважды щелкните по строкам ''​slotdef'',​ чтобы выбрать и изменить их. Удалите из них выводы //4// и //8//.
- 
  
 == Добавление глобальных соединений в числовом виде == == Добавление глобальных соединений в числовом виде ==
Line 547: Line 522:
 устанавливаться по умолчанию. При редактировании символов очень важно после устанавливаться по умолчанию. При редактировании символов очень важно после
 внесения всех изменений выполнять **//​Правка//​** -> **//​Смещение внесения всех изменений выполнять **//​Правка//​** -> **//​Смещение
-символа...//​**,​ устанавливая смещение в ноль перед сохранением. Сделайте это ​и +символа...//​**,​ устанавливая смещение в ноль перед сохранением. Сделайте это 
-сохраните символ из меню **//​Файл//​** -> **//​Сохранить//​**. Я установил+и сохраните символ из меню **//​Файл//​** -> **//​Сохранить//​**. Я установил
 значение атрибута ''​footprint''​ по умолчанию в //DIP8//, так как это мой значение атрибута ''​footprint''​ по умолчанию в //DIP8//, так как это мой
 собственный элемент. собственный элемент.
- 
  
 == Запуск gschem с новым символом == == Запуск gschem с новым символом ==
 {{geda:​one-sch-3.png |one.sch}} Запустите **''​gschem one.sch''​**. Выделите и {{geda:​one-sch-3.png |one.sch}} Запустите **''​gschem one.sch''​**. Выделите и
-удалите клавишей ​[**Delete**] оба операционных усилителя. Удалите также+удалите клавишей ​<key>Delete</​key> ​оба операционных усилителя. Удалите также
 подключенные к ним символы //''​Vcc''//​ и //''​Vee''//​. Откройте окно подключенные к ним символы //''​Vcc''//​ и //''​Vee''//​. Откройте окно
 **//​Добавить//​** -> **//​Компонент...//​** и из библиотеки //''​gschem-sym''//,​ **//​Добавить//​** -> **//​Компонент...//​** и из библиотеки //''​gschem-sym''//,​
 которая теперь должна содержать ваш новый символ,​ выберите и поместите на которая теперь должна содержать ваш новый символ,​ выберите и поместите на
-схему два символа //''​opamp-dual.sym''//​. Переместите их в подходящее место на +схему два символа //''​opamp-dual.sym''//​. Переместите их в подходящее место 
-схеме и не забудьте зеркально отразить и повернуть нижний операционный +на схеме и не забудьте зеркально отразить и повернуть нижний операционный 
-усилитель как и прежде. Измените атрибуты каждого из операционных усилителей,​ +усилитель как и прежде. Измените атрибуты каждого из операционных 
-задав им те же значения,​ которые они имели раньше,​ т. е. установите +усилителей,​ задав им те же значения,​ которые они имели раньше,​ 
-''​footprint''​ в //DIL 8 300//, добавьте атрибут ''​value''​ со значением //TL072// и +т. е. установите ''​footprint''​ в //DIL 8 300//, добавьте атрибут ''​value''​ 
-установите ''​refdes''​ для обоих усилителей в //U101//. Установите ''​slot''​ для +со значением //TL072// и установите ''​refdes''​ для обоих усилителей в 
-второго операционного усилителя в //2//. Если не установить значения +//U101//. Установите ''​slot''​ для второго операционного усилителя в 
-атрибутов в те, что были раньше,​ **gsch2pcb** подумает,​ что это другой +//2//. Если не установить значения атрибутов в те, что были раньше,​ 
-компонент и удалит существующий корпус //DIL// с топологической схемы. Если +**gsch2pcb** подумает,​ что это другой компонент и удалит существующий корпус 
-всё сделано верно, запуск **gsch2pcb** должен показать:​+//DIL// с топологической схемы. Если всё сделано верно, запуск **gsch2pcb** 
 +должен показать:​
 <​code>​~/​gaf/​myproject1$ gsch2pcb project <​code>​~/​gaf/​myproject1$ gsch2pcb project
 Found a cpinlist head with a netname! [Vcc] Found a cpinlist head with a netname! [Vcc]
-(Найден заголовок cpinlist с именем соединения! [Vcc]) 
 Found a cpinlist head with a netname! [Vee] Found a cpinlist head with a netname! [Vee]
 Found a cpinlist head with a netname! [Vcc] Found a cpinlist head with a netname! [Vcc]
Line 580: Line 554:
 Found a cpinlist head with a netname! [Vee] Found a cpinlist head with a netname! [Vee]
 No elements to add so not creating board.new.pcb No elements to add so not creating board.new.pcb
-(Нет элементов для добавления,​ так что не создаю board.new.pcb) 
 </​code>​ </​code>​
-откуда видно, что программа gEDA **gnetlist** кажется немножко +откуда видно, что программа gEDA **gnetlist** кажется немножко ​«разволновалась», обнаружив добавленные нами только что новые атрибуты //Vcc// и //Vee//((Сообщения гласят:​ «Найден заголовок cpinlist с именем соединения [...]!» и «Нет элементов для добавления,​ так что не создаю board.new.pcb». --- //Прим. перев.//​)), и создала новый список соединений. Теперь,​ я думаю, схема выглядит опрятнее. И если вы запустите **''​pcb board.pcb''​**,​ загрузите новый список соединений,​ а затем оптимизируете линии связи, программа **pcb** должна будет сообщить вам, что плата готова,​ а это значит,​ что соединение выводов питания операционных усилителей через атрибут ''​net''​ сработало.
-"разволновалась", обнаружив добавленные нами только что новые атрибуты //Vcc// и +
-//Vee//, и создала новый список соединений. Теперь,​ я думаю, схема выглядит +
-опрятнее. И если вы запустите **''​pcb board.pcb''​**,​ загрузите новый список +
-соединений,​ а затем оптимизируете линии связи, программа **pcb** должна будет +
-сообщить вам, что плата готова,​ а это значит,​ что соединение выводов питания +
-операционных усилителей через атрибут ''​net''​ сработало.+
  
 Подробное описание создания символов вы можете найти в Подробное описание создания символов вы можете найти в
-[[gEDA:​gschem_symbol_creation.ru|Руководстве по созданию символов]] на странице +[[gEDA:​gschem_symbol_creation.ru|Руководстве по созданию символов]] на 
-[[geda:​documentation.ru|Документации gEDA]]. +странице [[geda:​documentation.ru|Документации gEDA]].
  
 ===== Нестандартные файловые элементы ===== ===== Нестандартные файловые элементы =====
-Свои оригинальные //​файловые элементы//​ можно создавать либо в процессе работы +Свои оригинальные //​файловые элементы//​ можно создавать либо в процессе 
-в **pcb** над какой-то топологической схемой,​ либо просто запуская **pcb** для +работы в **pcb** над какой-то топологической схемой,​ либо просто запуская 
-создания элемента. Для демонстрации сделаем нестандартный элемент для диода +**pcb** для создания элемента. Для демонстрации сделаем нестандартный 
-//1N4004//. **pcb** предоставляет в наше распоряжение +элемент для диода //1N4004//. **pcb** предоставляет в наше распоряжение 
-[[geda:​glossary.ru#​Аксиальный компонент|аксиальные]] корпуса,​ но +[[geda:​glossary.ru#​Аксиальный компонент|аксиальные]] корпуса,​ но мы хотим 
-мы хотим быть уверены,​ что для сверления отверстий под слегка утолщённые +быть уверены,​ что для сверления отверстий под слегка утолщённые выводы этого 
-выводы этого 1-амперного диода будет использоваться подходящий размер сверла. +1-амперного диода будет использоваться подходящий размер сверла. ​ Для них 
-Для них нужно сверло диаметром примерно 42 мила (#58).+нужно сверло диаметром примерно 42 мила (#58). 
  
 Запустите **pcb** и первое,​ что надо сделать,​ это выбрать стиль разводки Запустите **pcb** и первое,​ что надо сделать,​ это выбрать стиль разводки
 **Сигналы** и изменить для него размеры (нажмите кнопку **Стиль трассировки**). **Сигналы** и изменить для него размеры (нажмите кнопку **Стиль трассировки**).
 Установите **Отверстие перехода** в //42//, а **Размер перехода** в //70// Установите **Отверстие перехода** в //42//, а **Размер перехода** в //70//
-или, если хотите,​ больше. Выберите **//​Вид//​** -> **//Шаг сетки//​** -> **//25 +или, если хотите,​ больше. 
-милов//​** и **//​Вид//​** -> **//​Отображать сетку//​**. Несколько увеличьте +Выберите 
-масштаб,​ а затем начертите элемент:​+**//​Вид//​** -> **//Шаг сетки//​** -> **//25 милов//​** и 
 +**//​Вид//​** -> **//​Отображать сетку//​**. 
 +Несколько увеличьте масштаб,​ а затем начертите элемент:​
 {{geda:​pcb-el-1.png |Шаг 1}} {{geda:​pcb-el-1.png |Шаг 1}}
   * Выберите инструмент **VIA** и поместите два перехода на 400 милов друг от друга.   * Выберите инструмент **VIA** и поместите два перехода на 400 милов друг от друга.
-  * Наведите курсор мыши на левый переход,​ нажмите клавишу ​[**n**] и задайте переходу название //1//. Задайте правому переходу название //2//.+  * Наведите курсор мыши на левый переход,​ нажмите клавишу ​<key>n</​key> ​и задайте переходу название //1//. Задайте правому переходу название //2//.
   * Вывод //1// будет катодом и это должно соответствовать номерам выводов в вашем символе диода для **gschem**.   * Вывод //1// будет катодом и это должно соответствовать номерам выводов в вашем символе диода для **gschem**.
  
 {{ geda:​pcb-el-2.png|Шаг 2}} {{ geda:​pcb-el-2.png|Шаг 2}}
 +
   * Выберите слой **Шелкография** и инструмент **LINE**.   * Выберите слой **Шелкография** и инструмент **LINE**.
   * Начертите контур компонента как показано,​ с шириной линии и шагом сетки, установленными в 10 милов.   * Начертите контур компонента как показано,​ с шириной линии и шагом сетки, установленными в 10 милов.
   * Установив ширину линии в 20 милов, начертите тремя линиями маркировку катода с левой стороны.   * Установив ширину линии в 20 милов, начертите тремя линиями маркировку катода с левой стороны.
   * Не перекрывайте площадки пайки линиями слоя шелкографии.   * Не перекрывайте площадки пайки линиями слоя шелкографии.
 +Выделите переходы и только что начерченный контур
 +с помощью инструмента **SEL** и закончите создание элемента:​
  
-Выделите переходы и только что начерченный контур с помощью инструмента **SEL** и закончите создание элемента:​ 
   * **//​Буфер//​** -> **//​Вырезать выделение в буфер//​**,​ подведите курсор мыши к центру левого перехода и щёлкните.   * **//​Буфер//​** -> **//​Вырезать выделение в буфер//​**,​ подведите курсор мыши к центру левого перехода и щёлкните.
   * **//​Буфер//​** -> **//​Преобразовать буфер в элемент//​**   * **//​Буфер//​** -> **//​Преобразовать буфер в элемент//​**
Line 636: Line 607:
 Также мне известен лишь один единственный способ сделать изображение вывода 1 Также мне известен лишь один единственный способ сделать изображение вывода 1
 квадратным -- вручную отредактировать файл //''​D400-1A''//​ и изменить флаг квадратным -- вручную отредактировать файл //''​D400-1A''//​ и изменить флаг
-квадратности в строке для первого вывода (''​%%Pin ... "​1"​ ...%%''​). Например,​ +квадратности в строке для первого вывода (''​%%Pin ... "​1"​ ...%%''​). Например,​ измените строку:​ 
-измените строку:​ +<​code>​ 
-<​code>​Pin(0 0 70 20 70 42 ""​ "​1"​ 0x00000001)</​code>​+Pin(0 0 70 20 70 42 ""​ "​1"​ 0x00000001) 
 +</​code>​
 на на
-<​code>​Pin(0 0 70 20 70 42 ""​ "​1"​ 0x00000101)</​code>​+<​code>​ 
 +Pin(0 0 70 20 70 42 ""​ "​1"​ 0x00000101) 
 +</​code>​
 Теперь //D400-1A// можно использовать в атрибуте ''​footprint''​ символа Теперь //D400-1A// можно использовать в атрибуте ''​footprint''​ символа
 **gschem** и **gsch2pcb** найдёт его при условии,​ что вы сделали ссылку **gschem** и **gsch2pcb** найдёт его при условии,​ что вы сделали ссылку
Line 646: Line 620:
 ссылку,​ программе **gsch2pcb** всё же можно сообщить имя каталога элементов ссылку,​ программе **gsch2pcb** всё же можно сообщить имя каталога элементов
 следующей строкой в файле проекта:​ следующей строкой в файле проекта:​
-<​code>​elements-dir ~/​gaf/​pcb-elements +<​code>​elements-dir ~/​gaf/​pcb-elements</​code>​
-</​code>​+
 Быть может вы уже и заметили,​ но всё же скажу вам, что кое-что в моём примере Быть может вы уже и заметили,​ но всё же скажу вам, что кое-что в моём примере
 //''​myproject1''//​ неправильно. Во-первых,​ линии слоя шелкографии в некоторых //''​myproject1''//​ неправильно. Во-первых,​ линии слоя шелкографии в некоторых
Line 654: Line 627:
 подобных проблем при работе в **gschem** и **pcb**, но иногда нумерация подобных проблем при работе в **gschem** и **pcb**, но иногда нумерация
 выводов транзистора может сбить с толку. Если в своих разработках вы будете выводов транзистора может сбить с толку. Если в своих разработках вы будете
-использовать транзисторы,​ посмотрите описание моего подхода,​ как обеспечить,​ +использовать транзисторы,​ посмотрите описание 
-чтобы нумерация выводов символа транзистора для **gschem** была+моего подхода,​ как обеспечить,​ чтобы нумерация 
 +выводов символа транзистора для **gschem** была
 скоординирована с номерами выводов pcb-элемента:​ скоординирована с номерами выводов pcb-элемента:​
 [[gEDA:​transistor_guide.ru|Руководство по транзистору.]] [[gEDA:​transistor_guide.ru|Руководство по транзистору.]]
 +
  
 Из руководства по транзистору можно увидеть,​ что проблема здесь в том, что Из руководства по транзистору можно увидеть,​ что проблема здесь в том, что
 элемент //TO92// использует менее распространённую конфигурацию нумерации элемент //TO92// использует менее распространённую конфигурацию нумерации
 выводов //​(3,​2,​1)//,​ в то время как //''​2N3904-1.sym''//​ похож на символ выводов //​(3,​2,​1)//,​ в то время как //''​2N3904-1.sym''//​ похож на символ
-//''​npn-ebc''//,​ выводы которого нумеруются в последовательности //​(1,​2,​3)//​. В +//''​npn-ebc''//,​ выводы которого нумеруются в последовательности 
-**gschem** номера выводов //2N3904// можно увидеть,​ нажав клавиши +//​(1,​2,​3)//​. В **gschem** номера выводов //2N3904// можно увидеть,​ нажав 
-[**e**][**n**] (и не смущайтесь атрибутом ''​pinseq'',​ который почти закрывает +клавиши ​<key>e</​key><​key>​n</​key> ​(и не смущайтесь атрибутом ''​pinseq'',​ 
-''​pinnumber''​). А в **pcb** номера выводов //TO92// можно увидеть наведя +который почти закрывает ''​pinnumber''​). А в **pcb** номера выводов //TO92// 
-курсор мыши на элемент и нажав клавишу ​[**d**]. Чтобы убедиться,​ что видны +можно увидеть наведя курсор мыши на элемент и нажав клавишу 
-номера выводов,​ а не их названия,​ выберите **//​Вид//​** -> **//​Отображать на +<key>d</​key>​. Чтобы убедиться,​ что видны номера выводов,​ а не их названия,​ 
-цоколёвке номера//​**.+выберите **//​Вид//​** -> **//​Отображать на цоколёвке номера//​**. 
  
 У меня есть библиотеки с символами транзисторов и элементами,​ которые могут У меня есть библиотеки с символами транзисторов и элементами,​ которые могут
 показаться вам полезными,​ так что сначала для удобства можете наполнить свои показаться вам полезными,​ так что сначала для удобства можете наполнить свои
-библиотеки файлами из моих +библиотеки файлами из моих ​{{geda:​gsch2pcb-libs.tar.gz| библиотек для 
-[[http://​www.geda.seul.org/​docs/​current/​tutorials/​gsch2pcb/​gsch2pcb-libs-20040110.tar.gz| +gschem/PCB}}. Разархивируйте их в //''​~/​gaf''//,​ чтобы получить копию 
-библиотек для gschem/​PCB ​]]. Разархивируйте их в //''​~/​gaf''//,​ чтобы получить +настройки нашего примераи там вы также найдёте файл 
-копию настройки нашего примера и там вы также найдёте файл +//''​~/​gaf/​pcb-elements.Readme''//,​ документирующий 
-//''​~/​gaf/​pcb-elements.Readme''//,​ документирующий pcb-элементы. //​Примечание:​ +pcb-элементы. //​Примечание:​ на момент 1.10.2004 г. я поправил pcb-элементы 
-на момент 1.10.2004 г. я поправил pcb-элементы tar-архива,​ чтобы они не +tar-архива,​ чтобы они не перекрывали площадки пайки линиями слоя 
-перекрывали площадки пайки линиями слоя шелкографии.//​ Если вы разархивируете +шелкографии.//​ Если вы разархивируете их куда-то ещё, нужно будет 
-их куда-то ещё, нужно будет обеспечить,​ чтобы программы **gschem** и +обеспечить,​ чтобы программы **gschem** и **gsch2pcb** могли их найти, 
-**gsch2pcb** могли их найти, прописав для **gschem** строки +прописав для **gschem** строки ''​component-library''​ в //''​gafrc''//,​ а для
-''​component-library''​ в //''​gschemrc''//​ / //''​gnetlistrc''//,​ а для+
 **gsch2pcb** строки ''​elements-dir''​ в файл проекта. **gsch2pcb** строки ''​elements-dir''​ в файл проекта.
  
-Если вы установите эти библиотеки,​ то можете исправить //Q201// в //''​two.sch''//,​ + 
-заменив его посадочное место на //TO-92//, представляющее собой мой нестандартный +Если вы установите эти библиотеки,​ то можете исправить //Q201// в 
-элемент с нумерацией выводов //​(1,​2,​3)//​. Затем запустите **''​gsch2pcb +//''​two.sch''//,​ заменив его посадочное место на //TO-92//, представляющее 
-project''​**,​ а затем **''​pcb board.pcb''​**,​ и загрузите новый элемент для +собой мой нестандартный элемент с нумерацией выводов //​(1,​2,​3)//​. Затем 
-транзистора. На следующем рисунке схемы //''​two.sch''//​ атрибут ''​footprint''​ +запустите **''​gsch2pcb project''​**,​ а затем **''​pcb board.pcb''​**,​ и 
-сделан видимым,​ чтобы подчеркнуть вышесказанное,​ а также показан новый символ +загрузите новый элемент для транзистора. На следующем рисунке схемы 
-для //2N3904//, созданный из моего //''​npn-ebc.sym''//,​ как описано в моём +//''​two.sch''//​ атрибут ''​footprint''​ сделан видимым,​ чтобы подчеркнуть 
-руководстве по транзистору. Если сравнить внешний вид контура этого +вышесказанное,​ а также показан новый символ для //2N3904//, созданный из 
-транзистора на обновлённой топологии //''​board.pcb''//​ с тем, что было в +моего //''​npn-ebc.sym''//,​ как описано в моём руководстве по 
-исходном варианте,​ можно увидеть,​ что ориентация теперь правильна и что линии +транзистору. Если сравнить внешний вид контура этого транзистора на 
-слоя шелкографии не перекрывают площадок пайки. Также, для иллюстрации другого +обновлённой топологии //''​board.pcb''//​ с тем, что было в исходном варианте,​ 
-стиля, получающегося при использовании нестандартных элементов,​ я изменил +можно увидеть,​ что ориентация теперь правильна и что линии слоя шелкографии 
-атрибуты ''​footprint''​ для резисторов //R102// и //R103// в //''​one.sch''//​ на мои+не перекрывают площадок пайки. Также, для иллюстрации другого стиля, 
 +получающегося при использовании нестандартных элементов,​ я изменил атрибуты 
 +''​footprint''​ для резисторов //R102// и //R103// в //''​one.sch''//​ на мои
 собственные 0,​125-ваттный элемент //R0w8// и 0,​25-ваттный //R0w4//. Можно собственные 0,​125-ваттный элемент //R0w8// и 0,​25-ваттный //R0w4//. Можно
 увидеть также стиль //R101// после замены его посадочного места на увидеть также стиль //R101// после замены его посадочного места на
 //​0.125W_Carbon_Resistor//,​ как было предложено выше. Когда вы оцените //​0.125W_Carbon_Resistor//,​ как было предложено выше. Когда вы оцените
 различия в стилях,​ я отмечу,​ что в своих элементах я хотел максимизировать различия в стилях,​ я отмечу,​ что в своих элементах я хотел максимизировать
-пространство,​ чтобы показывать тексты значений и позиционных обозначений (тело +пространство,​ чтобы показывать тексты значений и позиционных обозначений 
-0,​125-ваттного элемента могло бы быть и чуть побольше),​ и немного увеличить +(тело 0,​125-ваттного элемента могло бы быть и чуть побольше),​ и немного 
-диаметр площадок для пайки, чтобы он был менее критичен для используемой +увеличить диаметр площадок для пайки, чтобы он был менее критичен для 
-техники производства плат. К тому же, для увеличения плотности размещения компонентов +используемой техники производства плат. К тому же, для увеличения плотности 
-расстояние между выводами моего резистора //R0w4// сделано несколько меньшим,​ +размещения компонентов расстояние между выводами моего резистора //R0w4// 
-чем в //R025//.+сделано несколько меньшим,​ чем в //R025//.
  
-{{geda:​two-sch-2.png |two.sch}} ​ {{ geda:​board-6.png|pcb}}+{{geda:​two-sch-2.png |two.sch}} {{ geda:​board-6.png|pcb}}
  
-===== Нестандартные m4-элементы ​(требуется gsch2pcb >= 1.0) =====+===== Нестандартные m4-элементы =====
 Сначала немного слов о том, как разыскать //​m4-элементы//,​ имеющиеся в Сначала немного слов о том, как разыскать //​m4-элементы//,​ имеющиеся в
 поставке **pcb**. Полагаю,​ в проекте **pcb** есть какая-нибудь готовящаяся к поставке **pcb**. Полагаю,​ в проекте **pcb** есть какая-нибудь готовящаяся к
 выпуску документация,​ но в данный момент я не знаю ничего,​ на что бы указать выпуску документация,​ но в данный момент я не знаю ничего,​ на что бы указать
-вам, и тут нельзя просто сориентироваться по именам файлов,​ как это можно было +вам, и тут нельзя просто сориентироваться по именам файлов,​ как это можно 
-для //​файловых элементов//​. И ещё, ведь многие из этих элементов требуют +было для //​файловых элементов//​. И ещё, ведь многие из этих элементов 
-указания аргументов и вам нужно определить,​ каких. Так что пока,+требуют указания аргументови вам нужно определить,​ каких. Так что пока
 всё, что я могу сказать вам, это то, что легче всего выяснить,​ что есть в всё, что я могу сказать вам, это то, что легче всего выяснить,​ что есть в
-наличии,​ прочитав файлы //​m4-элементов//,​ а для этого нужно знать место +наличии,​ прочитав файлы //​m4-элементов//,​ а для этого нужно знать место их 
-их установки для **pcb**. +установки для **pcb**. Для версии **pcb 20031113** каталогом установки 
-Для версии **pcb 20031113** каталогом установки наиболее вероятно будет +наиболее вероятно будет //''/​usr/​share/​pcb/​m4''//​ или 
-//''/​usr/​share/​pcb/​m4''//​ или //''/​usr/​local/​share/​pcb/​m4''//,​ в то время как +//''/​usr/​local/​share/​pcb/​m4''//,​ в то время как в более ранних версиях 
-в более ранних версиях **pcb** таковым мог быть +**pcb** таковым мог быть //''/​usr/​X11R6/​lib/​X11/​pcb/​m4''//​ (чтобы увидеть,​ 
-//''/​usr/​X11R6/​lib/​X11/​pcb/​m4''//​ (чтобы увидеть,​ какой из этих каталогов +какой из этих каталогов используется программой **gsch2pcb**,​ запустите 
-используется программой **gsch2pcb**,​ запустите **''​%%gsch2pcb --help%%''​** или +**''​%%gsch2pcb --help%%''​** или **''​gsch2pcb -v project''​**). Но если у вас 
-**''​gsch2pcb -v project''​**). +всё установлено где-то в другом месте, нужно выяснить где. Кстати,​ если 
-Но если у вас всё установлено где-то в другом месте, нужно выяснитьгде. +каталог **m4** //​является другим//,​ нежели вышеуказанные три, тогда 
-Кстати,​ если каталог **m4** //​является другим//,​ нежели вышеуказанные три, тогда +**gsch2pcb** не найдёт ваши //​m4-элементы//​ в вышеприведённых примерах,​ и 
-**gsch2pcb** не найдёт ваши //​m4-элементы//​ в вышеприведённых примерах,​ и вам +вам нужно будет добавить правильное имя каталога **m4** в свой файл
-нужно будет добавить правильное имя каталога **m4** в свой файл+
 //''​project''//​ строкой вида: //''​project''//​ строкой вида:
-<​code>​m4-pcbdir /​путь/​к/​pcb/​m4 +<​code>​m4-pcbdir /​путь/​к/​pcb/​m4</​code>​
-</​code>​+
 Просто прочитайте //''​.inc''//​-файлы в каталоге установки **m4**. Например,​ в Просто прочитайте //''​.inc''//​-файлы в каталоге установки **m4**. Например,​ в
 файле //''​misc.inc''//​ вы найдёте использовавшийся нами элемент //R025//, и файле //''​misc.inc''//​ вы найдёте использовавшийся нами элемент //R025//, и
Line 757: Line 732:
 (''​description''​),​ как упомянуто выше в разделе **Терминология**. (''​description''​),​ как упомянуто выше в разделе **Терминология**.
 Так как эти аргументы устанавливаются автоматически,​ никаких дополнительных Так как эти аргументы устанавливаются автоматически,​ никаких дополнительных
-аргументов для //R025//, когда вы задаёте его как ''​footprint''​ в +аргументов для //R025//, когда вы задаёте его как ''​footprint''​ в **gschem**, указывать не нужно.
-**gschem**, указывать не нужно.+
 Но теперь взгляните на определение следующего //​m4-элемента//​ в //''​misc.inc''//:​ Но теперь взгляните на определение следующего //​m4-элемента//​ в //''​misc.inc''//:​
 <​code>#​ ------------------------------------------------------------------- <​code>#​ -------------------------------------------------------------------
Line 776: Line 750:
 них обрабатываются автоматически,​ так что при его использовании нужно задать них обрабатываются автоматически,​ так что при его использовании нужно задать
 ещё один. ещё один.
-На вас снисходит озарение,​ и вы ясно понимаете,​ что это корпус ​"​Single +На вас снисходит озарение,​ и вы ясно понимаете,​ что это корпус ​«Single 
-In Line" ​("односторонний")! Так что может показаться,​ что вместо используемого+In Line» ​(«односторонний»)! Так что может показаться,​ что вместо используемого
 в нашем примере выше элемента //CONNECTOR 2 1//, определяющего 1 столбец,​ в нашем примере выше элемента //CONNECTOR 2 1//, определяющего 1 столбец,​
 нужно было бы использовать //SIL 2//. Но это ошибка! Потому что, прочитав тело нужно было бы использовать //SIL 2//. Но это ошибка! Потому что, прочитав тело
-макроса,​ можно увидеть,​ что если аргумент равен //2//, второй цикл **for** не +макроса,​ можно увидеть,​ что если аргумент равен //2//, второй цикл **for** не сможет его обработать. Фактически,​ он может работать только для аргументов 
-сможет его обработать. Фактически,​ он может работать только для аргументов +равных или больших //​4//​. ​ Если же вы всё же запустите **gsch2pcb**,​ и будет казаться,​ что программа застряла
-равных или больших //4//. +
-Если же вы всё же запустите **gsch2pcb**,​ и будет казаться,​ что программа застряла+
 в бесконечном цикле, причиной,​ скорее всего, является проблема с аргументами в бесконечном цикле, причиной,​ скорее всего, является проблема с аргументами
-макроса **m4**. Просмотрев //''​misc.inc''//,​ вы в итоге определите,​ какие +макроса **m4**. Просмотрев //''​misc.inc''//,​ вы в итоге определите,​ какие элементы из него можно использовать:​
-элементы из него можно использовать:​+
 <​code>​Корпус ​     Аргументы,​ которые нужно задать <​code>​Корпус ​     Аргументы,​ которые нужно задать
 SD           ​1 ​     количество выводов корпуса ZIP SD           ​1 ​     количество выводов корпуса ZIP
Line 806: Line 777:
 </​code>​ </​code>​
 Ну и так далее для прочих файлов //''​.inc''//​... Ну и так далее для прочих файлов //''​.inc''//​...
 +
  
 Действительность такова,​ что настройка **m4** является менее дружественной Действительность такова,​ что настройка **m4** является менее дружественной
Line 812: Line 784:
 понимать макросы **m4**). Поэтому я советую вам выполнять свои собственные понимать макросы **m4**). Поэтому я советую вам выполнять свои собственные
 элементы главным образом в виде //​файловых элементов//​. С другой стороны элементы главным образом в виде //​файловых элементов//​. С другой стороны
-определение отдельных элементов с помощью принимающих аргументы макросов даёт +определение отдельных элементов с помощью принимающих аргументы макросов 
-вам программируемые элементы,​ что может быть очень полезно при +даёт вам программируемые элементы,​ что может быть очень полезно при 
-разработке посадочных мест с большим количеством выводов. +разработке посадочных мест с большим количеством выводов. ​ Это особенно 
-Это особенно хорошо для корпусов микросхем с изменяемыми шириной и количеством+хорошо для корпусов микросхем с изменяемыми шириной и количеством
 выводов. Поэтому для хорошего примера использования нестандартного выводов. Поэтому для хорошего примера использования нестандартного
 //​m4-элемента//​ можно предложить скопировать существующее макроопределение //​m4-элемента//​ можно предложить скопировать существующее макроопределение
 корпусов микросхем (макрос //DIL//) в m4-файл,​ который **gsch2pcb** сможет корпусов микросхем (макрос //DIL//) в m4-файл,​ который **gsch2pcb** сможет
-найти, и изменить его по своему вкусу. Местоположение результирующего m4-файла +найти, и изменить его по своему вкусу. Местоположение результирующего 
-может быть одним из следующих:​+m4-файла может быть одним из следующих:​ 
 + 
   * //''​pcb.inc''//​ в нашем каталоге //''​myproject1''//,​ и сделанный нами элемент будет локальным для этого проекта.   * //''​pcb.inc''//​ в нашем каталоге //''​myproject1''//,​ и сделанный нами элемент будет локальным для этого проекта.
   * //''​~/​.pcb/​pcb.inc''//,​ и элемент станет известен всем нашим проектам.   * //''​~/​.pcb/​pcb.inc''//,​ и элемент станет известен всем нашим проектам.
-  * //''/​путь/​к/​любому/​файлу''//,​ если этот путь известен **gsch2pcb**,​ для чего в файл проекта добавляется строка вида:<​code>​m4-file /​путь/​к/​любому/​файлу +  * //''/​путь/​к/​любому/​файлу''//,​ если этот путь известен **gsch2pcb**,​ для чего в файл проекта добавляется строка вида: <​code>​m4-file /​путь/​к/​любому/​файлу</​code>​ В зависимости от того, хотите ли вы, чтобы этот файл был известен только для данного проекта,​ для всех ваших проектов,​ или для всех проектов всех пользователей,​ эту строку можно добавить в один из следующих файлов:<​code>​~/​gaf/​myproject1/​project
-</​code>​ В зависимости от того, хотите ли вы, чтобы этот файл был известен только для данного проекта,​ для всех ваших проектов,​ или для всех проектов всех пользователей,​ эту строку можно добавить в один из следующих файлов:<​code>​~/​gaf/​myproject1/​project+
 ~/.gsch2pcb ~/.gsch2pcb
 /​usr/​local/​etc/​gsch2pcb /​usr/​local/​etc/​gsch2pcb
Line 830: Line 803:
 </​code>​ </​code>​
  
-В настоящем руководстве я буду использовать первый способ (//''​pcb.inc''//​),​ поэтому + 
-скопируйте существующий файл макроса:​ +В настоящем руководстве я буду использовать первый способ (//''​pcb.inc''//​),​ 
-<​code>​cd /​usr/​local/​share/​pcb/​m4 ​ (or /​usr/​share/​pcb/​m4 or /​usr/​X11R6/​lib/​X11/​pcb/​m4)+поэтому скопируйте существующий файл макроса:​ 
 +<​code>​cd /​usr/​local/​share/​pcb/​m4 (or /​usr/​share/​pcb/​m4 or /​usr/​X11R6/​lib/​X11/​pcb/​m4)
 cp dil.inc ~/​gaf/​myproject1/​pcb.inc cp dil.inc ~/​gaf/​myproject1/​pcb.inc
 cd ~/​gaf/​myproject1 cd ~/​gaf/​myproject1
 </​code>​ </​code>​
-Теперь отредактируйте полученный файл //''​pcb.inc''//,​ только что скопированный вами, +Теперь отредактируйте полученный файл //''​pcb.inc''//,​ только что скопированный вами, и удалите из него всё, кроме макроса ''​PKG_DIL''​. Измените название корпуса на что-то вроде ''​PKG_DILFAT'',​ потому что целью наших изменений будет увеличение выводов. На самом деле название можно было бы и не трогать и новое определение использовалось бы вместо старого,​ но пока продолжим с новым названием. ​ Измените диаметр выводов в строках ''​PIN''​ с //60// на //​70//​. ​ После этого целиком содержимое файла //''​pcb.inc''//​ должно выглядеть так:
-и удалите из него всё, кроме макроса ''​PKG_DIL''​. Измените название корпуса на +
-что-то вроде ''​PKG_DILFAT'',​ потому что целью наших изменений будет увеличение +
-выводов. На самом деле название можно было бы и не трогать и новое определение +
-использовалось бы вместо старого,​ но пока продолжим с новым названием. +
-Измените диаметр выводов в строках ''​PIN''​ с //60// на //70//. После этого +
-целиком содержимое файла //''​pcb.inc''//​ должно выглядеть так:+
 <​code>#​ ------------------------------------------------------------------- <​code>#​ -------------------------------------------------------------------
 # the definition of a dual-inline package N and similar types # the definition of a dual-inline package N and similar types
Line 872: Line 840:
 )') )')
 </​code>​ </​code>​
-Запустите **''​gschem one.sch''​** и установите атрибут ''​footprint''​ +Запустите **''​gschem one.sch''​** и установите атрибут ''​footprint''​ операционного усилителя в //DILFAT 8 300//. Затем запустите **''​gsch2pcb project''​** и **gsch2pcb** удалит элемент //DIL// из //''​board.pcb''//,​ добавьте в //''​board.new.pcb''//​ новый элемент //DILFAT// из своего m4-файла //''​pcb.inc''//​. Запустите **''​pcb board.pcb''​** и загрузите //''​board.new.pcb''//​ в свою топологию. Поставьте новый элемент с более толстыми выводами на то место, что освободилось при удалении старого.
-операционного усилителя в //DILFAT 8 300//. Затем запустите **''​gsch2pcb +
-project''​** и **gsch2pcb** удалит элемент //DIL// из //''​board.pcb''//,​ +
-добавьте в //''​board.new.pcb''//​ новый элемент //DILFAT// из своего m4-файла +
-//''​pcb.inc''//​. Запустите **''​pcb board.pcb''​** и загрузите +
-//''​board.new.pcb''//​ в свою топологию. Поставьте новый элемент с более +
-толстыми выводами на то место, что освободилось при удалении старого.+
  
 +===== Многопользовательская настройка =====
 +Вышеприведённые примеры ориентированы на отдельного пользователя,​ чьи
 +проекты и личные библиотеки символов для **gschem** и элементов для **pcb**
 +находятся в его домашнем каталоге. Здесь же приводится способ
 +многопользовательской настройки для совместного использования ресурсов:​
 +
 +
 +  * Поместите собственные //​файловые элементы//​ **pcb** для общего пользования,​ например,​ в //''/​usr/​local/​share/​pcb/​pcb-elements''//​. Сделайте так, чтобы программа **gsch2pcb** искала элементы в этом каталоге для каждого пользователя,​ добавив вот такую строку в //''/​etc/​gsch2pcb''//​ или //''/​usr/​local/​etc/​gsch2pcb''//:​ <​code>​elements-dir /​usr/​local/​share/​pcb/​pcb-elements</​code>​ Если есть какие-то нестандартные файлы //​m4-элементов//​ для общего пользования,​ например,​ //''/​usr/​local/​share/​pcb/​pcb.inc''//,​ добавьте ещё одну строку в //''/​etc/​gsch2pcb''//​ или //''/​usr/​local/​etc/​gsch2pcb''//:​ <​code>​m4-file /​usr/​local/​share/​pcb/​pcb.inc</​code>​
 +  * Если **pcb** по умолчанию устанавливает файлы **m4** не в //''/​usr/​local/​share/​pcb/​m4''//,​ //''/​usr/​share/​pcb/​m4,''//​ или //''/​usr/​X11R6/​lib/​X11/​pcb/​m4''//,​ сделайте место установки известным для каждого пользователя **gsch2pcb**,​ добавив в //''/​etc/​gsch2pcb''//​ или //''/​usr/​local/​etc/​gsch2pcb''//​ строку:​ <​code>​m4-pcbdir /​путь/​к/​pcb/​m4</​code>​ Если вместо **m4** используется **gm4**, то в файл //''​gsch2pcb''//​ добавьте следующее:​ <​code>​m4-command gm4</​code>​
 +  * Если в каком-нибудь каталоге есть нестандартные символы **gschem** для общего пользования,​ нужно изменить системный файл //''​system-gafrc''//,​ добавив строки ''​component-library''​ для них.
  
-===== Многопользовательская настройка (требуется gsch2pcb >= 1.0) ===== 
-Вышеприведённые примеры ориентированы на отдельного пользователя,​ чьи проекты 
-и личные библиотеки символов для **gschem** и элементов для **pcb** находятся 
-в его домашнем каталоге. Здесь же приводится способ многопользовательской 
-настройки для совместного использования ресурсов:​ 
-  * Поместите собственные //​файловые элементы//​ **pcb** для общего пользования,​ например,​ в //''/​usr/​local/​share/​pcb/​pcb-elements''//​. Сделайте так, чтобы программа **gsch2pcb** искала элементы в этом каталоге для каждого пользователя,​ добавив вот такую строку в //''/​etc/​gsch2pcb''//​ или //''/​usr/​local/​etc/​gsch2pcb''//:<​code>​elements-dir /​usr/​local/​share/​pcb/​pcb-elements</​code>​ Если есть какие-то нестандартные файлы //​m4-элементов//​ для общего пользования,​ например,​ //''/​usr/​local/​share/​pcb/​pcb.inc''//,​ добавьте ещё одну строку в //''/​etc/​gsch2pcb''//​ или //''/​usr/​local/​etc/​gsch2pcb''//:<​code>​m4-file /​usr/​local/​share/​pcb/​pcb.inc</​code>​ 
-  * Если **pcb** по умолчанию устанавливает файлы **m4** не в //''/​usr/​local/​share/​pcb/​m4''//,​ //''/​usr/​share/​pcb/​m4,''//​ или //''/​usr/​X11R6/​lib/​X11/​pcb/​m4''//,​ сделайте место установки известным для каждого пользователя **gsch2pcb**,​ добавив в //''/​etc/​gsch2pcb''//​ или //''/​usr/​local/​etc/​gsch2pcb''//​ строку:<​code>​m4-pcbdir /​путь/​к/​pcb/​m4 
-</​code>​ Если вместо **m4** используется **gm4**, то в файл //''​gsch2pcb''//​ добавьте следующее:<​code>​m4-command gm4</​code>​ 
-  * Если в каком-нибудь каталоге есть нестандартные символы **gschem** для общего пользования,​ нужно изменить системные файлы //''​gschemrc''//​ и //''​gnetlistrc''//,​ добавив строки ''​component-library''​ для них. 
  
 После выполнения вышеуказанных действий пользователи получат доступ к общим После выполнения вышеуказанных действий пользователи получат доступ к общим
 библиотекам и им останется только добавлять в файлы своих проектов библиотекам и им останется только добавлять в файлы своих проектов
-//''​project''//​ строки ''​schematics''​ и ''​output-name''​. Но к тому же им ничто +//''​project''//​ строки ''​schematics''​ и ''​output-name''​. Но к тому же им 
-не мешает использовать и свои собственные,​ специфические для пользователя +ничто не мешает использовать и свои собственные,​ специфические для 
-и/или проекта,​ дополнительные библиотеки символов и элементов.+пользователя и/или проекта,​ дополнительные библиотеки символов и элементов. 
  
  
 ===== Создание печатных плат ===== ===== Создание печатных плат =====
 Учебник должен содержать и описание процесса производства печатных плат. Учебник должен содержать и описание процесса производства печатных плат.
- 
  
 == Фотолитография == == Фотолитография ==
 +
 Используйте меню **//​Файл//​** -> **//​Экспорт топологии//​** -> **//ps//** для Используйте меню **//​Файл//​** -> **//​Экспорт топологии//​** -> **//ps//** для
 создания Postscript-файла,​ пригодного для печати на прозрачной плёнке. создания Postscript-файла,​ пригодного для печати на прозрачной плёнке.
-Обратите внимание на наличие переключателей '​mirror'​ (зеркально) и '​ps-invert'​ +Обратите внимание на наличие переключателей '​mirror'​ (зеркально) и 
-(инверсия ps), которые могут вам понадобиться в зависимости от вашего способа +'​ps-invert'​ (инверсия ps), которые могут вам понадобиться в зависимости от 
-производства.+вашего способа производства.
  
 Откройте ps-файл и напечатайте только те страницы,​ что необходимы вам для Откройте ps-файл и напечатайте только те страницы,​ что необходимы вам для
Line 916: Line 880:
 **//​Файл//​** -> **//​Настройки...//​** -> **//​Слои//​**,​ надлежащим образом **//​Файл//​** -> **//​Настройки...//​** -> **//​Слои//​**,​ надлежащим образом
 сгруппировать слои и поместить их на нужную сторону. сгруппировать слои и поместить их на нужную сторону.
- 
  
 == Производство на станке == == Производство на станке ==
-[[http://​www.lpkf.com|LPKF]] (и может быть другие компании) имеют плоттеры для 
-печатных плат, понимающие [[geda:​glossary.ru#​Gerber-файлы]]. Их можно произвести,​ выбрав 
-**//​Файл//​** -> **//​Экспорт топологии//​** -> **//​gerber//​**,​ что приведёт к 
-созданию множества файлов. Эти файлы можно просматривать в 
-[[http://​geda.seul.org/​tools/​gerbv/​index.html|gerbv]] и сохранять оттуда их 
-графическое представление. Если вы удовлетворены полученными Gerber-файлами,​ 
-просто отдайте их кому-нибудь,​ у кого в распоряжении есть такое оборудование,​ 
-и ждите, пока платы будут готовы! 
- 
-=====  ===== 
----- 
- 
-Автор руководства:​ //Bill Wilson// (bill--at--gkrellm.net) 
  
-Перевод:​ //Владимир ​Жбанов// (vzhbanov at gmail dot com)+[[http://​www.lpkf.com|LPKF]] (и может быть другие компании) имеют плоттеры 
 +для печатных плат, понимающие [[geda:​glossary.ru#​Gerber-файлы]]. Их можно 
 +произвести, выбрав **//​Файл//​** -> **//​Экспорт топологии//​** -> 
 +**//​gerber//​**,​ что приведёт к созданию множества файлов. Эти файлы можно 
 +просматривать в [[http://geda.seul.org/​tools/​gerbv/​index.html|gerbv]] и 
 +сохранять оттуда их графическое представление. Если вы удовлетворены 
 +полученными Gerber-файлами, просто отдайте ​их кому-нибудь, у кого в 
 +распоряжении есть такое оборудование, и ждите, пока платы будут готовы!
  
geda/gsch2pcb_tutorial.ru.txt · Last modified: 2014/04/25 03:45 by vzh