1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5 <link rel=
"stylesheet" media=
"screen" type=
"text/css" href=
"./style.css" />
6 <link rel=
"stylesheet" media=
"screen" type=
"text/css" href=
"./design.css" />
7 <link rel=
"stylesheet" media=
"print" type=
"text/css" href=
"./print.css" />
9 <meta http-equiv=
"Content-Type" content=
"text/html; charset=utf-8" />
14 <em>Эта страница доступна также на следующих языках:
</em>
15 <a href=
"geda-file_format_spec.html" class=
"wikilink1" title=
"geda-file_format_spec.html">English
</a>
18 <h1 class=
"sectionedit1" id=
"формат_файлов_geda_gaf">Формат файлов gEDA/gaf
</h1>
22 Автор: Ales V. Hvezda, ahvezda@geda.seul.org
26 Настоящий документ распространяется под лицензией
27 <a href=
"http://www.gnu.org/copyleft/fdl.html" class=
"urlextern" title=
"http://www.gnu.org/copyleft/fdl.html" rel=
"nofollow">GFDL
</a>
35 <!-- EDIT1 SECTION "Формат файлов gEDA/gaf" [125-394] -->
36 <h2 class=
"sectionedit2" id=
"обзор">Обзор
</h2>
40 Здесь представлена официальная документация формата файлов gEDA/gaf
41 (
<em class=
"u">g
</em>schem
<em class=
"u">a
</em>nd
<em class=
"u">f
</em>riends). Основным форматом в gEDA/gaf является
42 формат файлов
<a href=
"geda-glossary.ru.html#принципиальная_схема" class=
"wikilink1" title=
"geda-glossary.ru.html">электрических
43 принципиальных схем
</a> и
<a href=
"geda-glossary.ru.html#символ" class=
"wikilink1" title=
"geda-glossary.ru.html">символов
</a> для них. Файлы
44 с именами, заканчивающимися на
<em><code>.sch
</code></em> и
<em><code>.sym
</code></em>, являются
45 соответственно файлами схем и символов. Пока в gEDA/gaf нет других типов
46 файлов, настоящий документ будет относиться только к формату файлов
49 Настоящий документ находится в обращении с версии gEDA/gaf
20040111. Он
50 охватывает версии формата
1 и
2.
<br/>
52 Обратите внимание, что данный формат и любые другие форматы файлов,
53 относящиеся к gEDA, находятся под лицензией General Public License (
<abbr title=
"GNU General Public License">GPL
</abbr>)
54 версии
2.0. Авторские права на формат файлов схем/символов gEDA/gaf
55 принадлежат Ales Hvezda (Copyright (C)
1998-
2004 Ales Hvezda).
59 <!-- EDIT2 SECTION "Обзор" [395-1848] -->
60 <h2 class=
"sectionedit3" id=
"система_координат">Система координат
</h2>
64 Все координаты задаются в милах (
1/
1000 дюйма). Это произвольное решение. Запомните, что в схемах и символах нет понятия физических длин/размеров (только при разработке принципиальных схем).
67 <li class=
"level1"><div class=
"li"> Начало координат находится в левом нижнем углу.
</div>
69 <li class=
"level1"><div class=
"li"> Размеры координатного пространства неограничены, но рекомендуется размещать объекты в пределах (
120.0,
90.0) (x, y, дюймов).
</div>
71 <li class=
"level1"><div class=
"li"> В большинстве случаев желательно использовать положительные координаты x и y, отрицательные значения тоже работают, но их использование не рекомендуется.
</div>
76 Следующий рисунок показывает настройку координатной системы:
78 <div class=
"table sectionedit4"><table class=
"inline">
80 <td class=
"col0"><a href=
"media/geda/coordinatespace.ru.png" class=
"media" target=
"_blank" title=
"geda:coordinatespace.ru.png"><img src=
"media/geda/coordinatespace.ru.png" class=
"mediaright" title=
":geda:coordinatespace.ru.png " alt=
":geda:coordinatespace.ru.png " /></a></td>
83 <!-- EDIT4 TABLE [2954-3019] -->
85 Значение по оси X возрастает слева направо, по оси Y — снизу вверх.
86 Координатная система располагается в «пейзажной» ориентации и соответствует
87 листу, повёрнутому длинной стороной вниз.
91 <!-- EDIT3 SECTION "Система координат" [1849-3362] -->
92 <h2 class=
"sectionedit5" id=
"имена_файлов">Имена файлов
</h2>
96 Имена файлов символов заканчиваются на
<em><code>.sym
</code></em>. Для имён файлов
97 символов в gEDA/gaf используется только одно соглашение: если есть несколько
98 экземпляров символов с одинаковыми именами (как, например,
7400), то к концу
99 основы имени файла добавляется суффикс -
1, -
2, -
3, … -N . Пример:
100 <em><code>7400-
1.sym
</code></em>,
<em><code>7400-
2.sym
</code></em>,
<em><code>7400-
3.sym
</code></em>…
104 Имена файлов схем заканчиваются на
<em><code>.sch
</code></em>. Раньше существовало
105 соглашение об именах файлов схем (о добавлении -
1 .. -N к основе имени
106 файла), но сейчас оно устарело. Для схем их создатель может выбирать любые
111 <!-- EDIT5 SECTION "Имена файлов" [3363-4364] -->
112 <h2 class=
"sectionedit6" id=
"типы_объектов">Типы объектов
</h2>
116 Файл схемы/символа для gEDA/gaf состоит из следующих частей:
119 <li class=
"level1"><div class=
"li"> Версия (v) как первый элемент в файле. Это обязательно.
</div>
121 <li class=
"level1"><div class=
"li"> Любое количество объектов с правильными данными. Объекты указываются с помощью «типа объекта».
</div>
123 <li class=
"level1"><div class=
"li"> Большинство объектов описываются одной строкой, но текстовые — двумя и более.
</div>
125 <li class=
"level1"><div class=
"li"> Не должно быть пустых строк в конце файла (они игнорируются программами).
</div>
127 <li class=
"level1"><div class=
"li"> Для всех перечислимых типов в форматах файлов gEDA/gaf поле принимает числовое значение.
</div>
132 Идентификатор типа объекта обозначается одной буквой, он должен находиться в
133 первом столбце. Идентификатор типа объекта является регистрозависимым.
137 Файлы схем и символов имеют общий формат.
<a href=
"geda-glossary.ru.html#символ" class=
"wikilink1" title=
"geda-glossary.ru.html">Символ
</a> —
138 это не что иное, как совокупность примитивных объектов (линий,
139 прямоугольников, окружностей, дуг, текста и выводов). Схема представляет
140 собой набор символов (компонентов),
141 <a href=
"geda-glossary.ru.html#соединение" class=
"wikilink1" title=
"geda-glossary.ru.html">соединений
</a> и
<a href=
"geda-glossary.ru.html#шина" class=
"wikilink1" title=
"geda-glossary.ru.html">шин
</a>.
145 В следующих разделах приводится подробное описание каждого из распознаваемых
146 типов объектов. Каждый раздел содержит название объекта, описание того, в
147 каком типе файла (sch/sym) объект может присутствовать, формат данных,
148 описание каждого отдельного поля, подробности и предостережения для данных
149 полей и, наконец, пример с пояснением.
153 Информация об индексе цвета (который используется практически для всех
154 объектов) находится в разделе
<a href=
"#цвета" title=
":geda:file_format_spec.ru.txt ↵" class=
"wikilink1">Цвета
</a>.
158 <!-- EDIT6 SECTION "Типы объектов" [4365-6870] -->
159 <h3 class=
"sectionedit7" id=
"версия">Версия
</h3>
163 Допускается: в файлах схем и символов
167 <strong><code>type version fileformat_version
</code></strong>
169 <div class=
"table sectionedit8"><table class=
"inline">
172 <th class=
"col0">Поз.
</th><th class=
"col1">Поле
</th><th class=
"col2">Тип/единица
</th><th class=
"col3">Описание
</th>
176 <td class=
"col0 rightalign"> #
</td><td class=
"col1">type
</td><td class=
"col2">char
</td><td class=
"col3">v
</td>
179 <td class=
"col0 rightalign"> 1 </td><td class=
"col1">version
</td><td class=
"col2">int
</td><td class=
"col3">Версия gEDA/gaf, в которой был сохранён данный файл
</td>
182 <td class=
"col0 rightalign"> 2 </td><td class=
"col1">fileformat_version
</td><td class=
"col2">int
</td><td class=
"col3">Номер версии формата файла gEDA/gaf
</td>
185 <!-- EDIT8 TABLE [7005-7276] --><ul>
186 <li class=
"level1"><div class=
"li"> Тип обозначается буквой «v» в нижнем регистре (как в слове Victor).
</div>
188 <li class=
"level1"><div class=
"li"> Данный объект должен находиться в каждом файле, используемом или создаваемом программными средствами gEDA/gaf.
</div>
190 <li class=
"level1"><div class=
"li"> Формат первого поля версии — ГГГГММДД.
</div>
192 <li class=
"level1"><div class=
"li"> Номер версии не является произвольным временным штампом. Не выдумывайте номер версии, а в противном случае не ожидайте, что программы будут работать правильно.
</div>
194 <li class=
"level1"><div class=
"li"> «Версия gEDA/gaf, в которой был сохранён данный файл» использовалась во всех версиях gEDA/gaf до
20030921 как версия формата файла. Это поле не должно больше использоваться для определения формата файла. Сейчас оно используется только для информационных целей.
</div>
196 <li class=
"level1"><div class=
"li"> Начиная с gEDA/gaf версии
20031004 и позже, поле
<code>fileformat_version
</code> используется для определения версии формата файла. Весь код формата файла должен отталкиваться от этого поля.
</div>
198 <li class=
"level1"><div class=
"li"> <code>fileformat_version
</code> возрастает при изменении формата файла.
</div>
200 <li class=
"level1"><div class=
"li"> Исходной точкой для
<code>fileformat_version
</code> было значение
1. Текущее значение —
2.
</div>
202 <li class=
"level1"><div class=
"li"> <code>fileformat_version
</code> — это просто целое, без младшего номера.
</div>
204 <li class=
"level1"><div class=
"li"> Рабочие (нестабильные) версии:
19990601,
19990610,
19990705,
19990829,
19990919,
19991011,
20000220,
20000704,
20001006,
20001217,
20010304,
20010708,
20010722,
20020209,
20020414,
20020527,
20020825,
20021103,
20030223,
20030525,
20030901,
20040111,
20040710,
20041228,
20050313,
20050820,
20060123,
20060824,
20060906,
20061020,
20070216,
20070705,
20070708,
20070818,
20071229,
20080110,
20080127,
20080706,
20081220,
20081221,
20090328,
20090829,
20090830,
20110116,
20110619,
20111231</div>
206 <li class=
"level1"><div class=
"li"> Стабильные версии:
20070526,
20070626,
20070902,
20071231,
20080127,
20080929,
20081220,
20081231,
20091004,
20100214,
20110115</div>
208 <li class=
"level1"><div class=
"li"> CVS или тестовые версии (не должны использоваться):
20030921,
20031004,
20031019,
20031231,
20050814</div>
210 <li class=
"level1"><div class=
"li"> Имейте в виду, что каждая из вышеперечисленных версий могла иметь свою вариацию формата файла. Настоящий документ описывает только последнюю версию формата.
</div>
217 <pre class=
"code">v
20040111 1</pre>
220 <!-- EDIT7 SECTION "Версия" [6871-10219] -->
221 <h3 class=
"sectionedit9" id=
"линия">Линия
</h3>
225 Допускается: в файлах схем и символов
229 <strong><code>type x1 y1 x2 y2 color width capstyle dashstyle dashlength dashspace
</code></strong>
231 <div class=
"table sectionedit10"><table class=
"inline">
234 <th class=
"col0">Поз.
</th><th class=
"col1">Поле
</th><th class=
"col2">Тип/единица
</th><th class=
"col3">Описание
</th>
238 <td class=
"col0 rightalign"> #
</td><td class=
"col1">type
</td><td class=
"col2">char
</td><td class=
"col3">L
</td>
241 <td class=
"col0 rightalign"> 1 </td><td class=
"col1">x1
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата X первой точки
</td>
244 <td class=
"col0 rightalign"> 2 </td><td class=
"col1">y1
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата Y первой точки
</td>
247 <td class=
"col0 rightalign"> 3 </td><td class=
"col1">x2
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата X второй точки
</td>
250 <td class=
"col0 rightalign"> 4 </td><td class=
"col1">y2
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата Y второй точки
</td>
253 <td class=
"col0 rightalign"> 5 </td><td class=
"col1">color
</td><td class=
"col2">int
</td><td class=
"col3">Цветовой индекс
</td>
256 <td class=
"col0 rightalign"> 6 </td><td class=
"col1">width
</td><td class=
"col2">int/милы
</td><td class=
"col3">Толщина линии
</td>
259 <td class=
"col0 rightalign"> 7 </td><td class=
"col1">capstyle
</td><td class=
"col2">int
</td><td class=
"col3">Стиль концов линии
</td>
262 <td class=
"col0 rightalign"> 8 </td><td class=
"col1">dashstyle
</td><td class=
"col2">int
</td><td class=
"col3">Тип линии
</td>
265 <td class=
"col0 rightalign"> 9 </td><td class=
"col1">dashlength
</td><td class=
"col2">int/милы
</td><td class=
"col3">Длина штриха
</td>
268 <td class=
"col0 rightalign"> 10 </td><td class=
"col1">dashspace
</td><td class=
"col2">int/милы
</td><td class=
"col3">Интервал между штрихами
</td>
271 <!-- EDIT10 TABLE [10389-11079] --><ul>
272 <li class=
"level1 node"><div class=
"li"> Параметр
<code>capstyle
</code> перечислимого типа:
</div>
274 <li class=
"level2"><div class=
"li"> END NONE =
0 (без стиля)
</div>
276 <li class=
"level2"><div class=
"li"> END SQUARE =
1 (квадратные концы)
</div>
278 <li class=
"level2"><div class=
"li"> END ROUND =
2 (круглые концы)
</div>
282 <li class=
"level1 node"><div class=
"li"> Параметр
<code>dashstyle
</code> перечислимого типа:
</div>
284 <li class=
"level2"><div class=
"li"> TYPE SOLID =
0 (сплошная линия)
</div>
286 <li class=
"level2"><div class=
"li"> TYPE DOTTED =
1 (пунктир)
</div>
288 <li class=
"level2"><div class=
"li"> TYPE DASHED =
2 (штрих)
</div>
290 <li class=
"level2"><div class=
"li"> TYPE CENTER =
3 (штрих-пунктир)
</div>
292 <li class=
"level2"><div class=
"li"> TYPE PHANTOM =
4 (двойной штрих-пунктир)
</div>
296 <li class=
"level1"><div class=
"li"> Параметр
<code>dashlength
</code> не используется для типов SOLID и DOTTED. В случае использования данных типов он должен принимать значение -
1.
</div>
298 <li class=
"level1"><div class=
"li"> Параметр
<code>dashspace
</code> не используется для типа SOLID. В случае использования данного типа он должен принимать значение -
1.
</div>
305 <pre class=
"code">L
23000 69000 28000 69000 3 40 0 1 -
1 75</pre>
308 Сегмент линии от (
23000,
69000) до (
28000,
69000) с цветовым индексом
3,
309 толщиной
40 милов, без стиля концов, пунктир, интервал между точками
75
314 <!-- EDIT9 SECTION "Линия" [10220-12360] -->
315 <h3 class=
"sectionedit11" id=
"изображение">Изображение
</h3>
319 Допускается: в файлах схем и символов
323 <strong><code>type x1 y1 width height angle mirrored embedded
<br/>
327 [encoded picture data
<br/>
329 encoded picture end]
</code></strong>
331 <div class=
"table sectionedit12"><table class=
"inline">
334 <th class=
"col0">Поз.
</th><th class=
"col1">Поле
</th><th class=
"col2">Тип/единица
</th><th class=
"col3">Описание
</th>
338 <td class=
"col0 rightalign"> #
</td><td class=
"col1">type
</td><td class=
"col2">char
</td><td class=
"col3">G
</td>
341 <td class=
"col0 rightalign"> 1 </td><td class=
"col1">x
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата X левого нижнего угла
</td>
344 <td class=
"col0 rightalign"> 2 </td><td class=
"col1">y
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата Y левого нижнего угла
</td>
347 <td class=
"col0 rightalign"> 3 </td><td class=
"col1">width
</td><td class=
"col2">int/милы
</td><td class=
"col3">Ширина изображения
</td>
350 <td class=
"col0 rightalign"> 4 </td><td class=
"col1">height
</td><td class=
"col2">int/милы
</td><td class=
"col3">Высота изображения
</td>
353 <td class=
"col0 rightalign"> 5 </td><td class=
"col1">angle
</td><td class=
"col2">int/градусы
</td><td class=
"col3">Угол поворота изображения
</td>
356 <td class=
"col0 rightalign"> 6 </td><td class=
"col1">mirrored
</td><td class=
"col2">char
</td><td class=
"col3">Зеркально отражённое или нормальное изображение
</td>
359 <td class=
"col0 rightalign"> 7 </td><td class=
"col1">embedded
</td><td class=
"col2">char
</td><td class=
"col3">Внедрённое или ссылка на файл изображения
</td>
362 <td class=
"col0 rightalign"> 8 </td><td class=
"col1">filename
</td><td class=
"col2">string
</td><td class=
"col3">Путь доступа и имя файла для невнедрённого изображения
</td>
365 <td class=
"col0 rightalign"> 9 </td><td class=
"col1">encoded picture data
</td><td class=
"col2">string
</td><td class=
"col3">Изображение, преобразованное в последовательную форму, перекодированное в base64
</td>
368 <td class=
"col0 rightalign"> 10 </td><td class=
"col1">encoded picture end
</td><td class=
"col2">string
</td><td class=
"col3">Строка, содержащая только символ точки
</td>
371 <!-- EDIT12 TABLE [12579-13659] --><ul>
372 <li class=
"level1"><div class=
"li"> Данный объект является объектом изображения. Первая строка содержит все параметры изображения, вторая строка представляет собой путь доступа и имя файла изображения. Имя файла не используется, если изображение внедрено.
</div>
374 <li class=
"level1"><div class=
"li"> Параметр угла поворота изображения
<code>angle
</code> может принимать только одно из следующих значений:
0,
90,
180,
270.
</div>
376 <li class=
"level1 node"><div class=
"li"> Параметр
<code>mirrored
</code> перечислимого типа:
</div>
378 <li class=
"level2"><div class=
"li"> NOT MIRRORED =
0 (без отражения)
</div>
380 <li class=
"level2"><div class=
"li"> MIRRORED =
1 (с отражением)
</div>
384 <li class=
"level1 node"><div class=
"li"> Параметр
<code>embedded
</code> перечислимого типа:
</div>
386 <li class=
"level2"><div class=
"li"> NOT EMBEDDED =
0 (не внедрённое)
</div>
388 <li class=
"level2"><div class=
"li"> EMBEDDED =
1 (внедрённое — пока не поддерживается)
</div>
392 <li class=
"level1 node"><div class=
"li"> Поля
<code>encoded picture data
</code> и
<code>encoded picture end
</code> находятся в файле только в случае, если изображение внедрено в схему:
</div>
394 <li class=
"level2"><div class=
"li"> <code>encoded picture data
</code>: Это многострочное поле. Изображение преобразуется в последовательную форму и затем кодируется в base64. Таким образом в закодированных данных используются только печатные символы. Поле содержит результат двух данных операций.
</div>
396 <li class=
"level2"><div class=
"li"> <code>encoded picture end
</code>: Строка, содержащая только один символ точки
'.
' отмечает конец закодированных данных изображения.
</div>
405 <pre class=
"code">G
16900 35800 1400 2175 0 0 0
406 ../bitmaps/logo.jpg
</pre>
409 Объект изображения с левым нижним углом в (
16900,
35800). Ширина изображения
410 1400 милов, высота
2175 милов.
<br/>
412 Поворот изображения
0 градусов и оно ни отражённое, ни внедрённое.
<br/>
414 Путь доступа и имя файла изображения отображается во второй строке.
420 <pre class=
"code">G
16900 35800 1400 2175 0 0 1
422 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
423 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
427 Объект изображения с левым нижним углом в (
16900,
35800). Ширина изображения
428 1400 милов, высота
2175 милов.
<br/>
430 Поворот изображения
0 градусов, оно не отражённое, но внедрённое.
<br/>
432 Путь доступа и имя файла изображения отображается во второй строке. Так как
433 это изображение внедрённое, путь доступа и имя файла не используются.
<br/>
435 Закодированные данные изображения являются только примером (это не настоящие
436 данные). Последняя строка, содержащая один символ точки
'.
' указывает конец
437 закодированных данных.
441 <!-- EDIT11 SECTION "Изображение" [12361-17078] -->
442 <h3 class=
"sectionedit13" id=
"прямоугольник">Прямоугольник
</h3>
446 Допускается: в файлах схем и символов
450 <strong><code>type x y width height color width capstyle dashstyle dashlength
451 dashspace filltype fillwidth angle1 pitch1 angle2 pitch2
</code></strong>
453 <div class=
"table sectionedit14"><table class=
"inline">
456 <th class=
"col0">Поз.
</th><th class=
"col1">Поле
</th><th class=
"col2">Тип/единица
</th><th class=
"col3">Описание
</th>
460 <td class=
"col0 rightalign"> #
</td><td class=
"col1">type
</td><td class=
"col2">char
</td><td class=
"col3">B
</td>
463 <td class=
"col0 rightalign"> 1 </td><td class=
"col1">x
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата X левого нижнего угла
</td>
466 <td class=
"col0 rightalign"> 2 </td><td class=
"col1">y
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата Y левого нижнего угла
</td>
469 <td class=
"col0 rightalign"> 3 </td><td class=
"col1">width
</td><td class=
"col2">int/милы
</td><td class=
"col3">Ширина прямоугольника (в направлении x)
</td>
472 <td class=
"col0 rightalign"> 4 </td><td class=
"col1">height
</td><td class=
"col2">int/милы
</td><td class=
"col3">Высота прямоугольника (в направлении y)
</td>
475 <td class=
"col0 rightalign"> 5 </td><td class=
"col1">color
</td><td class=
"col2">int
</td><td class=
"col3">Цветовой индекс
</td>
478 <td class=
"col0 rightalign"> 6 </td><td class=
"col1">width
</td><td class=
"col2">int/милы
</td><td class=
"col3">Толщина линий
</td>
481 <td class=
"col0 rightalign"> 7 </td><td class=
"col1">capstyle
</td><td class=
"col2">int/милы
</td><td class=
"col3">Стиль концов линий
</td>
484 <td class=
"col0 rightalign"> 8 </td><td class=
"col1">dashstyle
</td><td class=
"col2">int
</td><td class=
"col3">Тип линий
</td>
487 <td class=
"col0 rightalign"> 9 </td><td class=
"col1">dashlength
</td><td class=
"col2">int/милы
</td><td class=
"col3">Длина штриха
</td>
490 <td class=
"col0 rightalign"> 10 </td><td class=
"col1">dashspace
</td><td class=
"col2">int/милы
</td><td class=
"col3">Интервал между штрихами
</td>
493 <td class=
"col0 rightalign"> 11 </td><td class=
"col1">filltype
</td><td class=
"col2">int
</td><td class=
"col3">Тип заполнения
</td>
496 <td class=
"col0 rightalign"> 12 </td><td class=
"col1">fillwidth
</td><td class=
"col2">int/милы
</td><td class=
"col3">Толщина линий заполнения
</td>
499 <td class=
"col0 rightalign"> 13 </td><td class=
"col1">angle1
</td><td class=
"col2">int/градусы
</td><td class=
"col3">Первый угол заполнения
</td>
502 <td class=
"col0 rightalign"> 14 </td><td class=
"col1">pitch1
</td><td class=
"col2">int/милы
</td><td class=
"col3">Первый шаг/интервал заполнения
</td>
505 <td class=
"col0 rightalign"> 15 </td><td class=
"col1">angle2
</td><td class=
"col2">int/градусы
</td><td class=
"col3">Второй угол заполнения
</td>
508 <td class=
"col0 rightalign"> 16 </td><td class=
"col1">pitch2
</td><td class=
"col2">int/милы
</td><td class=
"col3">Второй шаг/интервал заполнения
</td>
511 <!-- EDIT14 TABLE [17316-18549] --><ul>
512 <li class=
"level1 node"><div class=
"li"> Параметр
<code>capstyle
</code> перечислимого типа:
</div>
514 <li class=
"level2"><div class=
"li"> END NONE =
0 (без стиля)
</div>
516 <li class=
"level2"><div class=
"li"> END SQUARE =
1 (квадратные концы)
</div>
518 <li class=
"level2"><div class=
"li"> END ROUND =
2 (круглые концы)
</div>
522 <li class=
"level1 node"><div class=
"li"> Параметр
<code>dashstyle
</code> перечислимого типа:
</div>
524 <li class=
"level2"><div class=
"li"> TYPE SOLID =
0 (сплошная линия)
</div>
526 <li class=
"level2"><div class=
"li"> TYPE DOTTED =
1 (пунктир)
</div>
528 <li class=
"level2"><div class=
"li"> TYPE DASHED =
2 (штрих)
</div>
530 <li class=
"level2"><div class=
"li"> TYPE CENTER =
3 (штрих-пунктир)
</div>
532 <li class=
"level2"><div class=
"li"> TYPE PHANTOM =
4 (двойной штрих-пунктир)
</div>
536 <li class=
"level1"><div class=
"li"> Параметр
<code>dashlength
</code> не используется для типов SOLID и DOTTED. В случае использования данных типов он должен принимать значение -
1.
</div>
538 <li class=
"level1"><div class=
"li"> Параметр
<code>dashspace
</code> не используется для типа SOLID. В случае использования данного типа он должен принимать значение -
1.
</div>
540 <li class=
"level1 node"><div class=
"li"> Параметр
<code>filltype
</code> перечислимого типа:
</div>
542 <li class=
"level2"><div class=
"li"> FILLING HOLLOW =
0 (без заполнения)
</div>
544 <li class=
"level2"><div class=
"li"> FILLING FILL =
1 (сплошное заполнение)
</div>
546 <li class=
"level2"><div class=
"li"> FILLING MESH =
2 (сетка)
</div>
548 <li class=
"level2"><div class=
"li"> FILLING HATCH =
3 (штриховка)
</div>
550 <li class=
"level2"><div class=
"li"> FILLING VOID =
4 (не используется)
</div>
554 <li class=
"level1"><div class=
"li"> Если значение
<code>filltype
</code> равно
0 (FILLING HOLLOW), то все остальные параметры заполнения должны иметь значение -
1.
</div>
556 <li class=
"level1"><div class=
"li"> Тип заполнения FILLING FILL используется для заполнения сплошным цветом.
</div>
558 <li class=
"level1"><div class=
"li"> Для типа заполнения FILLING MESH заполнением или штриховкой управляют две пары наклон/интервал.
</div>
560 <li class=
"level1"><div class=
"li"> Для типа заполнения FILLING HATCH используется только первая пара наклон/интервал.
</div>
567 <pre class=
"code">B
33000 67300 2000 2000 3 60 0 2 75 50 0 -
1 -
1 -
1 -
1 -
1</pre>
570 Прямоугольник с нижним левым углом в (
33000,
67300) шириной и высотой (
2000,
571 2000), цветовой индекс
3, толщина линий
60 милов, без стиля концов,
572 штриховые линии, длина штриха
75 милов, интервал между штрихами
50 милов,
573 без заполнения, остальные параметры не установлены.
577 <!-- EDIT13 SECTION "Прямоугольник" [17079-21024] -->
578 <h3 class=
"sectionedit15" id=
"окружность">Окружность
</h3>
582 Допускается: в файлах схем и символов
586 <strong><code>type x y radius color width capstyle dashstyle dashlength dashspace
587 filltype fillwidth angle1 pitch1 angle2 pitch2
</code></strong>
589 <div class=
"table sectionedit16"><table class=
"inline">
592 <th class=
"col0">Поз.
</th><th class=
"col1">Поле
</th><th class=
"col2">Тип/единица
</th><th class=
"col3">Описание
</th>
596 <td class=
"col0 rightalign"> #
</td><td class=
"col1">type
</td><td class=
"col2">char
</td><td class=
"col3">V
</td>
599 <td class=
"col0 rightalign"> 1 </td><td class=
"col1">x
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата X центра
</td>
602 <td class=
"col0 rightalign"> 2 </td><td class=
"col1">y
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата Y центра
</td>
605 <td class=
"col0 rightalign"> 3 </td><td class=
"col1">radius
</td><td class=
"col2">int/милы
</td><td class=
"col3">Радиус окружности
</td>
608 <td class=
"col0 rightalign"> 4 </td><td class=
"col1">color
</td><td class=
"col2">int
</td><td class=
"col3">Цветовой индекс
</td>
611 <td class=
"col0 rightalign"> 5 </td><td class=
"col1">width
</td><td class=
"col2">int/милы
</td><td class=
"col3">Толщина линии окружности
</td>
614 <td class=
"col0 rightalign"> 6 </td><td class=
"col1">capstyle
</td><td class=
"col2">int/милы
</td><td class=
"col3">0 (не используется)
</td>
617 <td class=
"col0 rightalign"> 7 </td><td class=
"col1">dashstyle
</td><td class=
"col2">int
</td><td class=
"col3">Тип линии
</td>
620 <td class=
"col0 rightalign"> 8 </td><td class=
"col1">dashlength
</td><td class=
"col2">int/милы
</td><td class=
"col3">Длина штриха
</td>
623 <td class=
"col0 rightalign"> 9 </td><td class=
"col1">dashspace
</td><td class=
"col2">int/милы
</td><td class=
"col3">Интервал между штрихами
</td>
626 <td class=
"col0 rightalign"> 10 </td><td class=
"col1">filltype
</td><td class=
"col2">int
</td><td class=
"col3">Тип заполнения
</td>
629 <td class=
"col0 rightalign"> 11 </td><td class=
"col1">fillwidth
</td><td class=
"col2">int/милы
</td><td class=
"col3">Толщина линий заполнения
</td>
632 <td class=
"col0 rightalign"> 12 </td><td class=
"col1">angle1
</td><td class=
"col2">int/градусы
</td><td class=
"col3">Первый угол заполнения
</td>
635 <td class=
"col0 rightalign"> 13 </td><td class=
"col1">pitch1
</td><td class=
"col2">int/милы
</td><td class=
"col3">Первый шаг/интервал заполнения
</td>
638 <td class=
"col0 rightalign"> 14 </td><td class=
"col1">angle2
</td><td class=
"col2">int/градусы
</td><td class=
"col3">Второй угол заполнения
</td>
641 <td class=
"col0 rightalign"> 15 </td><td class=
"col1">pitch2
</td><td class=
"col2">int/милы
</td><td class=
"col3">Второй шаг/интервал заполнения
</td>
644 <!-- EDIT16 TABLE [21250-22318] --><ul>
645 <li class=
"level1 node"><div class=
"li"> Параметр
<code>dashstyle
</code> перечислимого типа:
</div>
647 <li class=
"level2"><div class=
"li"> TYPE SOLID =
0 (сплошная линия)
</div>
649 <li class=
"level2"><div class=
"li"> TYPE DOTTED =
1 (пунктир)
</div>
651 <li class=
"level2"><div class=
"li"> TYPE DASHED =
2 (штрих)
</div>
653 <li class=
"level2"><div class=
"li"> TYPE CENTER =
3 (штрих-пунктир)
</div>
655 <li class=
"level2"><div class=
"li"> TYPE PHANTOM =
4 (двойной штрих-пунктир)
</div>
659 <li class=
"level1"><div class=
"li"> Параметр
<code>dashlength
</code> не используется для типов SOLID и DOTTED. В случае использования данных типов он должен принимать значение -
1.
</div>
661 <li class=
"level1"><div class=
"li"> Параметр
<code>dashspace
</code> не используется для типа SOLID. В случае использования данного типа он должен принимать значение -
1.
</div>
663 <li class=
"level1 node"><div class=
"li"> Параметр
<code>filltype
</code> перечислимого типа:
</div>
665 <li class=
"level2"><div class=
"li"> FILLING HOLLOW =
0 (без заполнения)
</div>
667 <li class=
"level2"><div class=
"li"> FILLING FILL =
1 (сплошное заполнение)
</div>
669 <li class=
"level2"><div class=
"li"> FILLING MESH =
2 (сетка)
</div>
671 <li class=
"level2"><div class=
"li"> FILLING HATCH =
3 (штриховка)
</div>
673 <li class=
"level2"><div class=
"li"> FILLING VOID =
4 (не используется)
</div>
677 <li class=
"level1"><div class=
"li"> Если значение
<code>filltype
</code> равно
0 (FILLING HOLLOW), то все остальные параметры заполнения должны иметь значение -
1.
</div>
679 <li class=
"level1"><div class=
"li"> Тип заполнения FILLING FILL используется для заполнения сплошным цветом.
</div>
681 <li class=
"level1"><div class=
"li"> Для типа заполнения FILLING MESH заполнением или штриховкой управляют две пары наклон/интервал.
</div>
683 <li class=
"level1"><div class=
"li"> Для типа заполнения FILLING HATCH используется только первая пара наклон/интервал.
</div>
690 <pre class=
"code">V
38000 67000 900 3 0 0 2 75 50 2 10 20 30 90 50</pre>
693 Окружность с центром в (
38000,
67000) и радиусом
900 милов, цветовой индекс
694 3, толщина линии
0 милов (наименьший размер), без стиля концов, штриховая
695 линия, длина штриха
75 милов, интервал между штрихами
50 милов, заполнение
696 сеткой, линии сетки толщиной
10 милов, первая линия сетки под углом
20
697 градусов с интервалом в
30 милов, вторая линия сетки под углом
90 градусов с
698 интервалом в
50 милов.
702 <!-- EDIT15 SECTION "Окружность" [21025-24794] -->
703 <h3 class=
"sectionedit17" id=
"дуга">Дуга
</h3>
707 Допускается: в файлах схем и символов
711 <strong><code>type x y radius startangle sweepangle color width capstyle dashstyle
712 dashlength dashspace
</code></strong>
714 <div class=
"table sectionedit18"><table class=
"inline">
717 <th class=
"col0">Поз.
</th><th class=
"col1">Поле
</th><th class=
"col2">Тип/единица
</th><th class=
"col3">Описание
</th>
721 <td class=
"col0 rightalign"> #
</td><td class=
"col1">type
</td><td class=
"col2">char
</td><td class=
"col3">A
</td>
724 <td class=
"col0 rightalign"> 1 </td><td class=
"col1">x
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата X центра
</td>
727 <td class=
"col0 rightalign"> 2 </td><td class=
"col1">y
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата Y центра
</td>
730 <td class=
"col0 rightalign"> 3 </td><td class=
"col1">radius
</td><td class=
"col2">int/милы
</td><td class=
"col3">Радиус дуги
</td>
733 <td class=
"col0 rightalign"> 4 </td><td class=
"col1">startangle
</td><td class=
"col2">int/градусы
</td><td class=
"col3">Начальный угол дуги
</td>
736 <td class=
"col0 rightalign"> 5 </td><td class=
"col1">sweepangle
</td><td class=
"col2">int/градусы
</td><td class=
"col3">Угол разворота дуги
</td>
739 <td class=
"col0 rightalign"> 6 </td><td class=
"col1">color
</td><td class=
"col2">int
</td><td class=
"col3">Цветовой индекс
</td>
742 <td class=
"col0 rightalign"> 7 </td><td class=
"col1">width
</td><td class=
"col2">int/милы
</td><td class=
"col3">Толщина линии окружности
</td>
745 <td class=
"col0 rightalign"> 8 </td><td class=
"col1">capstyle
</td><td class=
"col2">int
</td><td class=
"col3">Стиль концов линии
</td>
748 <td class=
"col0 rightalign"> 9 </td><td class=
"col1">dashstyle
</td><td class=
"col2">int
</td><td class=
"col3">Тип линии
</td>
751 <td class=
"col0 rightalign"> 10 </td><td class=
"col1">dashlength
</td><td class=
"col2">int/милы
</td><td class=
"col3">Длина штриха
</td>
754 <td class=
"col0 rightalign"> 11 </td><td class=
"col1">dashspace
</td><td class=
"col2">int/милы
</td><td class=
"col3">Интервал между штрихами
</td>
757 <!-- EDIT18 TABLE [24983-25728] --><ul>
758 <li class=
"level1"><div class=
"li"> Угол
<code>startangle
</code> может быть отрицательным, но это не рекомендуется.
</div>
760 <li class=
"level1"><div class=
"li"> Угол
<code>sweepangle
</code> может быть отрицательным, но это не рекомендуется.
</div>
762 <li class=
"level1 node"><div class=
"li"> Параметр
<code>capstyle
</code> перечислимого типа:
</div>
764 <li class=
"level2"><div class=
"li"> END NONE =
0 (без стиля)
</div>
766 <li class=
"level2"><div class=
"li"> END SQUARE =
1 (квадратные концы)
</div>
768 <li class=
"level2"><div class=
"li"> END ROUND =
2 (круглые концы)
</div>
772 <li class=
"level1 node"><div class=
"li"> Параметр
<code>dashstyle
</code> перечислимого типа:
</div>
774 <li class=
"level2"><div class=
"li"> TYPE SOLID =
0 (сплошная линия)
</div>
776 <li class=
"level2"><div class=
"li"> TYPE DOTTED =
1 (пунктир)
</div>
778 <li class=
"level2"><div class=
"li"> TYPE DASHED =
2 (штрих)
</div>
780 <li class=
"level2"><div class=
"li"> TYPE CENTER =
3 (штрих-пунктир)
</div>
782 <li class=
"level2"><div class=
"li"> TYPE PHANTOM =
4 (двойной штрих-пунктир)
</div>
786 <li class=
"level1"><div class=
"li"> Параметр
<code>dashlength
</code> не используется для типов SOLID и DOTTED. В случае использования данных типов он должен принимать значение -
1.
</div>
788 <li class=
"level1"><div class=
"li"> Параметр
<code>dashspace
</code> не используется для типа SOLID. В случае использования данного типа он должен принимать значение -
1.
</div>
795 <pre class=
"code">A
30600 75000 2000 0 45 3 0 0 3 75 50</pre>
798 Дуга с центром в (
30600,
75000) и радиусом
2000 милов, начальный угол
0 градусов, угол разворота дуги
45 градусов, цветовой индекс
3, толщина линии
0 милов (наименьший размер), без стиля концов, штрих-пунктир, длина штриха
75 милов, интервал между штрихами
50 милов.
802 <!-- EDIT17 SECTION "Дуга" [24795-27459] -->
803 <h3 class=
"sectionedit19" id=
"текст_и_атрибуты">Текст и атрибуты
</h3>
807 В зависимости от контекста текстовые объекты могут играть разные роли. Вне
808 какого-либо окружения они представляют собой строки текста, содержащие
809 какую-либо информацию. Заключённые в фигурные скобки, они интерпретируются
810 как атрибуты. См. раздел
<a href=
"geda-file_format_spec.ru.html#атрибуты" class=
"wikilink1" title=
"geda-file_format_spec.ru.html">Атрибуты
</a>.
814 Допускается: в файлах схем и символов
818 <strong><code>type x y color size visibility show_name_value angle alignment
829 string line N
</code></strong>
831 <div class=
"table sectionedit20"><table class=
"inline">
834 <th class=
"col0">Поз.
</th><th class=
"col1">Поле
</th><th class=
"col2">Тип/единица
</th><th class=
"col3">Описание
</th>
838 <td class=
"col0 rightalign"> #
</td><td class=
"col1">type
</td><td class=
"col2">char
</td><td class=
"col3">T
</td>
841 <td class=
"col0 rightalign"> 1 </td><td class=
"col1">x
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата X первой точки
</td>
844 <td class=
"col0 rightalign"> 2 </td><td class=
"col1">y
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата Y первой точки
</td>
847 <td class=
"col0 rightalign"> 3 </td><td class=
"col1">color
</td><td class=
"col2">int
</td><td class=
"col3">Цветовой индекс
</td>
850 <td class=
"col0 rightalign"> 4 </td><td class=
"col1">size
</td><td class=
"col2">int/пункты
</td><td class=
"col3">Размер текста
</td>
853 <td class=
"col0 rightalign"> 5 </td><td class=
"col1">visibility
</td><td class=
"col2">int
</td><td class=
"col3">Видимость текста
</td>
856 <td class=
"col0 rightalign"> 6 </td><td class=
"col1">show_name_value
</td><td class=
"col2">int
</td><td class=
"col3">Управление видимостью атрибута
</td>
859 <td class=
"col0 rightalign"> 7 </td><td class=
"col1">angle
</td><td class=
"col2">int/градусы
</td><td class=
"col3">Угол поворота текста
</td>
862 <td class=
"col0 rightalign"> 8 </td><td class=
"col1">alignment
</td><td class=
"col2">int
</td><td class=
"col3">Выравнивание/точка привязки текста
</td>
865 <td class=
"col0 rightalign"> 9 </td><td class=
"col1">num_lines
</td><td class=
"col2">int
</td><td class=
"col3">Количество строк текста (начальное значение
1)
</td>
868 <td class=
"col0 rightalign"> 10 </td><td class=
"col1">string line
1 … N
</td><td class=
"col2">string
</td><td class=
"col3">Собственно отдельные строки текста
</td>
871 <!-- EDIT20 TABLE [28224-29055] --><ul>
872 <li class=
"level1"><div class=
"li"> Данный объект является многострочным. Первая строка содержит все параметры текста, а последующие содержат собственно текст.
</div>
874 <li class=
"level1"><div class=
"li"> Должно быть точно
<code>num_lines
</code> строк текста, следующих за строкой T … .
</div>
876 <li class=
"level1"><div class=
"li"> Максимальная длина отдельных строк текста составляет
1024, но ограничений на количество строк нет.
</div>
878 <li class=
"level1"><div class=
"li"> Минимальный размер составляет
2 пункта (пункт=
1/
72 дюйма).
</div>
880 <li class=
"level1"><div class=
"li"> Максимального размера нет.
</div>
882 <li class=
"level1"><div class=
"li"> Пара координат является точкой привязки текстового элемента.
</div>
884 <li class=
"level1 node"><div class=
"li"> Параметр
<code>visibility
</code> перечислимого типа:
</div>
886 <li class=
"level2"><div class=
"li"> INVISIBLE =
0 (невидимый)
</div>
888 <li class=
"level2"><div class=
"li"> VISIBLE =
1 (видимый)
</div>
892 <li class=
"level1 node"><div class=
"li"> Параметр
<code>show_name_value
</code> перечислимого типа:
</div>
894 <li class=
"level2"><div class=
"li"> SHOW NAME VALUE =
0 (показывать имя и значение атрибута)
</div>
896 <li class=
"level2"><div class=
"li"> SHOW VALUE =
1 (показывать только значение атрибута)
</div>
898 <li class=
"level2"><div class=
"li"> SHOW NAME =
2 (показывать только имя атрибута)
</div>
902 <li class=
"level1"><div class=
"li"> Параметр
<code>show_name_value
</code> действителен только в случае, если строка является атрибутом (чтобы строка считалась атрибутом, она должна иметь вид:
<code>имя_атрибута=значение
</code>).
</div>
904 <li class=
"level1"><div class=
"li"> Параметр угла поворота текста
<code>angle
</code> может принимать только одно из следующих значений:
0,
90,
180,
270. При значении
270 всегда будет производиться вертикальный текст.
</div>
906 <li class=
"level1"><div class=
"li"> Параметр выравнивания/привязки
<code>alignment
</code> управляет относительным положением точки привязки.
</div>
908 <li class=
"level1"><div class=
"li"> Параметр
<code>alignment
</code> может принимать значения от
0 до
8.
<br/>
909 На следующем рисунке показано действие значений параметра
<code>alignment
</code>.
</div>
914 <a href=
"media/geda/fileformat_textgraphic.jpg" class=
"media" target=
"_blank" title=
"geda:fileformat_textgraphic.jpg"><img src=
"media/geda/fileformat_textgraphic.jpg" class=
"media" alt=
"" /></a>
917 <li class=
"level1"><div class=
"li"> Исходное значение параметра
<code>num_lines
</code> всегда равно
1.
<br/>
918 Поле
<code>num_lines
</code> было добавлено начиная с версии
1 формата файла. Предыдущие версии (
0 и ранее) поддерживали только однострочные текстовые объекты.
</div>
920 <li class=
"level1"><div class=
"li"> Горизонтальная черта над текстовыми строками задаётся ограничивающими текст с двух сторон маркерами надчёркивания вида
<strong>«\_»
</strong>. Символ обратной косой черты записывается в виде
<strong>«\\»
</strong>.
</div>
927 <pre class=
"code">T
16900 35800 3 10 1 0 0 0 1
931 Текстовый объект с точкой привязки в (
16900,
35800), цветовой индекс
3,
932 размером
10 пунктов, видимый, флаги атрибута не действуют (объект не
933 является атрибутом), точка привязки в левом нижнем углу, без поворота,
940 <pre class=
"code">T
16900 35800 3 10 1 0 0 0 5
945 Text string line
5</pre>
948 Данный текстовый объект подобен указанному в примере выше, но здесь пять
955 <pre class=
"code">T
10000 20000 3 10 1 1 8 90 1
956 pinlabel=R/\_W\_
</pre>
959 Текстовый объект с точкой привязки (
10000,
20000), цветовой индекс
3,
960 размером
10 пунктов, видимый, видимо только значение атрибута, точка
961 привязки находится в верхнем правом углу, текст повёрнут на
90 градусов,
962 строка: «R/W», над буквой «W» горизонтальная черта.
966 <!-- EDIT19 SECTION "Текст и атрибуты" [27460-33424] -->
967 <h3 class=
"sectionedit21" id=
"соединение">Соединение
</h3>
971 Допускается: ТОЛЬКО в файлах схем
975 <strong><code>type x1 y1 x2 y2 color
</code></strong>
977 <div class=
"table sectionedit22"><table class=
"inline">
980 <th class=
"col0">Поз.
</th><th class=
"col1">Поле
</th><th class=
"col2">Тип/единица
</th><th class=
"col3">Описание
</th>
984 <td class=
"col0 rightalign"> #
</td><td class=
"col1">type
</td><td class=
"col2">char
</td><td class=
"col3">N
</td>
987 <td class=
"col0 rightalign"> 1 </td><td class=
"col1">x1
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата X первой точки
</td>
990 <td class=
"col0 rightalign"> 2 </td><td class=
"col1">y1
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата Y первой точки
</td>
993 <td class=
"col0 rightalign"> 3 </td><td class=
"col1">x2
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата X второй точки
</td>
996 <td class=
"col0 rightalign"> 4 </td><td class=
"col1">y2
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата Y второй точки
</td>
999 <td class=
"col0 rightalign"> 5 </td><td class=
"col1">color
</td><td class=
"col2">int
</td><td class=
"col3">Цветовой индекс
</td>
1002 <!-- EDIT22 TABLE [33551-33960] --><ul>
1003 <li class=
"level1"><div class=
"li"> Соединения могут использоваться только в файлах схем.
</div>
1005 <li class=
"level1"><div class=
"li"> Нельзя использовать соединения нулевой длины (они отбрасываются программами).
</div>
1012 <pre class=
"code">N
12700 29400 32900 29400 4</pre>
1015 Сегмент соединения от (
12700,
29400) до (
32900,
29400) с цветовым индексом
1020 <!-- EDIT21 SECTION "Соединение" [33425-34388] -->
1021 <h3 class=
"sectionedit23" id=
"шина">Шина
</h3>
1022 <div class=
"level3">
1025 Допускается: ТОЛЬКО в файлах схем
1029 <strong><code>type x1 y1 x2 y2 color ripperdir
</code></strong>
1031 <div class=
"table sectionedit24"><table class=
"inline">
1034 <th class=
"col0">Поз.
</th><th class=
"col1">Поле
</th><th class=
"col2">Тип/единица
</th><th class=
"col3">Описание
</th>
1038 <td class=
"col0 rightalign"> #
</td><td class=
"col1">type
</td><td class=
"col2">char
</td><td class=
"col3">U
</td>
1041 <td class=
"col0 rightalign"> 1 </td><td class=
"col1">x1
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата X первой точки
</td>
1044 <td class=
"col0 rightalign"> 2 </td><td class=
"col1">y1
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата Y первой точки
</td>
1047 <td class=
"col0 rightalign"> 3 </td><td class=
"col1">x2
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата X второй точки
</td>
1050 <td class=
"col0 rightalign"> 4 </td><td class=
"col1">y2
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата Y второй точки
</td>
1053 <td class=
"col0 rightalign"> 5 </td><td class=
"col1">color
</td><td class=
"col2">int
</td><td class=
"col3">Цветовой индекс
</td>
1056 <td class=
"col0 rightalign"> 6 </td><td class=
"col1">ripperdir
</td><td class=
"col2">int
</td><td class=
"col3">Направление ответвлений от шины
</td>
1059 <!-- EDIT24 TABLE [34513-35004] --><ul>
1060 <li class=
"level1"><div class=
"li"> Значение параметра
<code>ripperdir
</code> для свежесозданной шины устанавливается в
0.
</div>
1062 <li class=
"level1"><div class=
"li"> При первом подключении соединения к шине параметр
<code>ripperdir
</code> принимает значение
1 или -
1. Это значение определяет направление символа ответвления (ripper). Направление ответвления для объекта шины остаётся одним и тем же на всё время существования данного объекта.
</div>
1064 <li class=
"level1"><div class=
"li"> Шины могут использоваться только в файлах схем.
</div>
1066 <li class=
"level1"><div class=
"li"> Нельзя использовать шины нулевой длины (они отбрасываются программами).
</div>
1073 <pre class=
"code">U
27300 37400 27300 35300 3 0</pre>
1076 Сегмент шины от (
27300,
37400) до (
27300,
35300) с цветовым индексом
3 и без
1077 подключения соединений к данному сегменту.
1081 <!-- EDIT23 SECTION "Шина" [34389-36100] -->
1082 <h3 class=
"sectionedit25" id=
"вывод">Вывод
</h3>
1083 <div class=
"level3">
1086 Допускается: ТОЛЬКО в файлах символов
1090 <strong><code>type x1 y1 x2 y2 color pintype whichend
</code></strong>
1092 <div class=
"table sectionedit26"><table class=
"inline">
1095 <th class=
"col0">Поз.
</th><th class=
"col1">Поле
</th><th class=
"col2">Тип/единица
</th><th class=
"col3">Описание
</th>
1099 <td class=
"col0 rightalign"> #
</td><td class=
"col1">type
</td><td class=
"col2">char
</td><td class=
"col3">P
</td>
1102 <td class=
"col0 rightalign"> 1 </td><td class=
"col1">x1
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата X первой точки
</td>
1105 <td class=
"col0 rightalign"> 2 </td><td class=
"col1">y1
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата Y первой точки
</td>
1108 <td class=
"col0 rightalign"> 3 </td><td class=
"col1">x2
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата X второй точки
</td>
1111 <td class=
"col0 rightalign"> 4 </td><td class=
"col1">y2
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата Y второй точки
</td>
1114 <td class=
"col0 rightalign"> 5 </td><td class=
"col1">color
</td><td class=
"col2">int
</td><td class=
"col3">Цветовой индекс
</td>
1117 <td class=
"col0 rightalign"> 6 </td><td class=
"col1">pintype
</td><td class=
"col2">int
</td><td class=
"col3">Тип вывода
</td>
1120 <td class=
"col0 rightalign"> 7 </td><td class=
"col1">whichend
</td><td class=
"col2">int
</td><td class=
"col3">Указывает активный конец
</td>
1123 <!-- EDIT26 TABLE [36242-36759] --><ul>
1124 <li class=
"level1 node"><div class=
"li"> Параметр
<code>pintype
</code> перечислимого типа:
</div>
1126 <li class=
"level2"><div class=
"li"> NORMAL PIN =
0</div>
1128 <li class=
"level2"><div class=
"li"> BUS PIN =
1 (не используется)
</div>
1132 <li class=
"level1"><div class=
"li"> <code>whichend
</code> определяет какой конец вывода является точкой соединения. Другие выводы или соединения могут подключаться только к данной точке.
</div>
1134 <li class=
"level1"><div class=
"li"> Значение
0 параметра
<code>whichend
</code> определяет для соединения первую точку вывода, значение
1 — вторую.
</div>
1136 <li class=
"level1"><div class=
"li"> Выводы могут использоваться только в файлах символов.
</div>
1138 <li class=
"level1"><div class=
"li"> Допускается использовать выводы нулевой длины.
</div>
1145 <pre class=
"code">P
0 200 200 200 1 0 0</pre>
1148 Вывод от (
0,
200) до (
200,
200) с цветовым индексом
1, обычный вывод, для
1149 соединения используется первая точка.
1153 <!-- EDIT25 SECTION "Вывод" [36101-37770] -->
1154 <h3 class=
"sectionedit27" id=
"компонент">Компонент
</h3>
1155 <div class=
"level3">
1158 Допускается: ТОЛЬКО в файлах схем
1162 <strong><code>type x y selectable angle mirror basename
</code></strong>
1164 <div class=
"table sectionedit28"><table class=
"inline">
1167 <th class=
"col0">Поз.
</th><th class=
"col1">Поле
</th><th class=
"col2">Тип/единица
</th><th class=
"col3">Описание
</th>
1171 <td class=
"col0 rightalign"> #
</td><td class=
"col1">type
</td><td class=
"col2">char
</td><td class=
"col3">C
</td>
1174 <td class=
"col0 rightalign"> 1 </td><td class=
"col1">x
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата X точки привязки
</td>
1177 <td class=
"col0 rightalign"> 2 </td><td class=
"col1">y
</td><td class=
"col2">int/милы
</td><td class=
"col3">Координата Y точки привязки
</td>
1180 <td class=
"col0 rightalign"> 3 </td><td class=
"col1">selectable
</td><td class=
"col2">int
</td><td class=
"col3">Флаг выделения
</td>
1183 <td class=
"col0 rightalign"> 4 </td><td class=
"col1">angle
</td><td class=
"col2">int/градусы
</td><td class=
"col3">Угол поворота компонента
</td>
1186 <td class=
"col0 rightalign"> 5 </td><td class=
"col1">mirror
</td><td class=
"col2">int
</td><td class=
"col3">Отражение относительно оси Y
</td>
1189 <td class=
"col0 rightalign"> 6 </td><td class=
"col1">basename
</td><td class=
"col2">string
</td><td class=
"col3">Имя файла компонента
</td>
1192 <!-- EDIT28 TABLE [37914-38405] --><ul>
1193 <li class=
"level1"><div class=
"li"> Параметр
<code>selectable
</code> принимает значение
1 для выделяемых, и
0 для невыделяемых компонентов.
</div>
1195 <li class=
"level1"><div class=
"li"> Параметр угла поворота компонента
<code>angle
</code> может принимать только одно из следующих значений:
0,
90,
180,
270.
</div>
1197 <li class=
"level1"><div class=
"li"> Параметр угла поворота
<code>angle
</code> может принимать только положительные значения.
</div>
1199 <li class=
"level1"><div class=
"li"> Значение флага
<code>mirror
</code> равно
0, если компонент не отражён (относительно оси Y).
</div>
1201 <li class=
"level1"><div class=
"li"> Значение флага
<code>mirror
</code> равно
1, если компонент зеркально отражён (относительно оси Y).
</div>
1203 <li class=
"level1"><div class=
"li"> <code>basename
</code> определяет имя файла компонента. Это имя относительное, то есть не содержит полного пути доступа к данному файлу.
</div>
1210 <pre class=
"code">C
18600 19900 1 0 0 7400-
1.sym
</pre>
1213 Компонент с точкой привязки в (
18600,
19900), выделяемый, без поворота, без
1214 отражения, имя файла компонента
7400-
1.sym.
1218 <!-- EDIT27 SECTION "Компонент" [37771-39684] -->
1219 <h3 class=
"sectionedit29" id=
"контур">Контур
</h3>
1220 <div class=
"level3">
1223 Допускается: в файлах схем и символов
1227 Действителен: с версии
2 формата файла (выпуск
1.5.1)
1231 <strong><code>type color width capstyle dashstyle dashlength dashspace filltype
1232 fillwidth angle1 pitch1 angle2 pitch2 numlines
<br/>
1234 path data line
1<br/>
1236 path data line
2<br/>
1238 path data line
3<br/>
1242 path data line N
</code></strong>
1244 <div class=
"table sectionedit30"><table class=
"inline">
1247 <th class=
"col0">Поз.
</th><th class=
"col1">Поле
</th><th class=
"col2">Тип/единица
</th><th class=
"col3">Описание
</th>
1251 <td class=
"col0 rightalign"> #
</td><td class=
"col1">type
</td><td class=
"col2">char
</td><td class=
"col3">H
</td>
1254 <td class=
"col0 rightalign"> 1 </td><td class=
"col1">color
</td><td class=
"col2">int
</td><td class=
"col3">Цветовой индекс
</td>
1257 <td class=
"col0 rightalign"> 2 </td><td class=
"col1">width
</td><td class=
"col2">int/милы
</td><td class=
"col3">Толщина линий
</td>
1260 <td class=
"col0 rightalign"> 3 </td><td class=
"col1">capstyle
</td><td class=
"col2">int
</td><td class=
"col3">Стиль концов линий
</td>
1263 <td class=
"col0 rightalign"> 4 </td><td class=
"col1">dashstyle
</td><td class=
"col2">int
</td><td class=
"col3">Тип линий
</td>
1266 <td class=
"col0 rightalign"> 5 </td><td class=
"col1">dashlength
</td><td class=
"col2">int/милы
</td><td class=
"col3">Длина штриха
</td>
1269 <td class=
"col0 rightalign"> 6 </td><td class=
"col1">dashspace
</td><td class=
"col2">int/милы
</td><td class=
"col3">Интервал между штрихами
</td>
1272 <td class=
"col0 rightalign"> 7 </td><td class=
"col1">filltype
</td><td class=
"col2">int
</td><td class=
"col3">Тип заполнения
</td>
1275 <td class=
"col0 rightalign"> 8 </td><td class=
"col1">fillwidth
</td><td class=
"col2">int/милы
</td><td class=
"col3">Толщина линий заполнения
</td>
1278 <td class=
"col0 rightalign"> 9 </td><td class=
"col1">angle1
</td><td class=
"col2">int/градусы
</td><td class=
"col3">Первый угол заполнения
</td>
1281 <td class=
"col0 rightalign"> 10 </td><td class=
"col1">pitch1
</td><td class=
"col2">int/милы
</td><td class=
"col3">Первый шаг/интервал заполнения
</td>
1284 <td class=
"col0 rightalign"> 11 </td><td class=
"col1">angle2
</td><td class=
"col2">int/градусы
</td><td class=
"col3">Второй угол заполнения
</td>
1287 <td class=
"col0 rightalign"> 12 </td><td class=
"col1">pitch2
</td><td class=
"col2">int/милы
</td><td class=
"col3">Второй шаг/интервал заполнения
</td>
1290 <td class=
"col0 rightalign"> 13 </td><td class=
"col1">num_lines
</td><td class=
"col2">int
</td><td class=
"col3">Количество строк данных контура (начальное значение
1)
</td>
1293 <td class=
"col0 rightalign"> 14 </td><td class=
"col1">path data line
1 … N
</td><td class=
"col2">path data
</td><td class=
"col3">Отдельные строки данных контура
</td>
1296 <!-- EDIT30 TABLE [40074-41156] --><ul>
1297 <li class=
"level1 node"><div class=
"li"> Параметр
<code>capstyle
</code> перечислимого типа:
</div>
1299 <li class=
"level2"><div class=
"li"> END NONE =
0 (без стиля)
</div>
1301 <li class=
"level2"><div class=
"li"> END SQUARE =
1 (квадратные концы)
</div>
1303 <li class=
"level2"><div class=
"li"> END ROUND =
2 (круглые концы)
</div>
1309 <li class=
"level1 node"><div class=
"li"> Параметр
<code>dashstyle
</code> перечислимого типа:
</div>
1311 <li class=
"level2"><div class=
"li"> TYPE SOLID =
0 (сплошная линия)
</div>
1313 <li class=
"level2"><div class=
"li"> TYPE DOTTED =
1 (пунктир)
</div>
1315 <li class=
"level2"><div class=
"li"> TYPE DASHED =
2 (штрих)
</div>
1317 <li class=
"level2"><div class=
"li"> TYPE CENTER =
3 (штрих-пунктир)
</div>
1319 <li class=
"level2"><div class=
"li"> TYPE PHANTOM =
4 (двойной штрих-пунктир)
</div>
1323 <li class=
"level1"><div class=
"li"> Параметр
<code>dashlength
</code> не используется для типов SOLID и DOTTED. В случае использования данных типов он должен принимать значение -
1.
</div>
1325 <li class=
"level1"><div class=
"li"> Параметр
<code>dashspace
</code> не используется для типа SOLID. В случае использования данного типа он должен принимать значение -
1.
</div>
1329 <li class=
"level1 node"><div class=
"li"> Параметр
<code>filltype
</code> перечислимого типа:
</div>
1331 <li class=
"level2"><div class=
"li"> FILLING HOLLOW =
0 (без заполнения)
</div>
1333 <li class=
"level2"><div class=
"li"> FILLING FILL =
1 (сплошное заполнение)
</div>
1335 <li class=
"level2"><div class=
"li"> FILLING MESH =
2 (сетка)
</div>
1337 <li class=
"level2"><div class=
"li"> FILLING HATCH =
3 (штриховка)
</div>
1339 <li class=
"level2"><div class=
"li"> FILLING VOID =
4 (не используется)
</div>
1343 <li class=
"level1"><div class=
"li"> Если значение
<code>filltype
</code> равно
0 (FILLING HOLLOW), то все остальные параметры заполнения должны иметь значение -
1.
</div>
1345 <li class=
"level1"><div class=
"li"> Тип заполнения FILLING FILL используется для заполнения сплошным цветом.
</div>
1347 <li class=
"level1"><div class=
"li"> Для типа заполнения FILLING MESH заполнением или штриховкой управляют две пары наклон/интервал.
</div>
1349 <li class=
"level1"><div class=
"li"> Для типа заполнения FILLING HATCH используется только первая пара наклон/интервал.
</div>
1353 <li class=
"level1"><div class=
"li"> Формат данных контура умышленно выбран подобным формату
<a href=
"http://www.w3.org/TR/SVG/paths.html" class=
"urlextern" title=
"http://www.w3.org/TR/SVG/paths.html" rel=
"nofollow">контуров в стандарте W3C SVG
</a>.
</div>
1355 <li class=
"level1"><div class=
"li"> Выпущенное в gEDA подмножество синтаксиса контуров SVG документировано ниже в разделе
<a href=
"#данные_контура" title=
":geda:file_format_spec.ru.txt ↵" class=
"wikilink1">Данные контура
</a>.
</div>
1357 <li class=
"level1"><div class=
"li"> Детали реализации; код
<strong>libgeda
</strong> взят из
<strong>librsvg
</strong>, библиотеки синтаксического анализа SVG. В результате большая часть синтаксиса контуров SVG читается правильно, однако синтаксис всегда внутренне нормализуется в абсолютные команды
<code>move
</code>,
<code>line
</code>,
<code>bezier curve
</code> и
<code>close-path
</code> (и сохраняется в таком виде).
</div>
1359 <li class=
"level1"><div class=
"li"> Координаты всего контура указываются в стандартной координатной системе
<strong>gschem
</strong>.
</div>
1366 <pre class=
"code">H
3 10 0 0 -
1 -
1 0 -
1 -
1 -
1 -
1 -
1 5
1374 Контур, начинающийся в (
410,
240), с линиями, начинающимися оттуда и
1375 соединяющими точки (
501,
200), (
455,
295), (
435,
265), замыкающийся обратно в
1376 исходную точку. Цветовой индекс
3, толщина линий
10 милов, без стиля концов,
1377 сплошная. Данные контура содержат
5 строк.
1381 <!-- EDIT29 SECTION "Контур" [39685-44697] -->
1382 <h3 class=
"sectionedit31" id=
"шрифт">Шрифт
</h3>
1383 <div class=
"level3">
1386 Допускается: ТОЛЬКО в специальных файлах шрифтов
1390 <strong><code>type character width flag
</code></strong>
1392 <div class=
"table sectionedit32"><table class=
"inline">
1395 <th class=
"col0">Поз.
</th><th class=
"col1">Поле
</th><th class=
"col2">Тип/единица
</th><th class=
"col3">Описание
</th>
1399 <td class=
"col0 rightalign"> #
</td><td class=
"col1">type
</td><td class=
"col2">char
</td><td class=
"col3">F
</td>
1402 <td class=
"col0 rightalign"> 1 </td><td class=
"col1">character
</td><td class=
"col2">char
</td><td class=
"col3">Определяемый символ
</td>
1405 <td class=
"col0 rightalign"> 2 </td><td class=
"col1">width
</td><td class=
"col2">int/милы
</td><td class=
"col3">Ширина символа (в милах)
</td>
1408 <td class=
"col0 rightalign"> 3 </td><td class=
"col1">flag
</td><td class=
"col2">int
</td><td class=
"col3">Специальный флаг пробела
</td>
1411 <!-- EDIT32 TABLE [44846-45119] --><ul>
1412 <li class=
"level1"><div class=
"li"> Это специальный объект, который должен использоваться ТОЛЬКО в файлах определения шрифтов.
</div>
1414 <li class=
"level1"><div class=
"li"> Если определяемый символ шрифта является символом пробела (с кодом
32), то значение флага
<code>flag
</code> должно быть
1, иначе
0.
</div>
1421 <pre class=
"code">F
11 1</pre>
1424 Выше приведено определение символа пробела в шрифте.
1428 <!-- EDIT31 SECTION "Шрифт" [44698-45643] -->
1429 <h2 class=
"sectionedit33" id=
"цвета">Цвета
</h2>
1430 <div class=
"level2">
1433 В формате файлов символов и схем gEDA/gaf цвета определяются посредством
1434 целочисленного индекса. Соответствие между числом и цветом основывается на
1435 типе объекта. Для каждого типа объекта обычно используется один или более
1436 цветов. Здесь приведена таблица соответствия цветовых индексов типам
1439 <div class=
"table sectionedit34"><table class=
"inline">
1442 <th class=
"col0">Индекс
</th><th class=
"col1">Тип объекта
</th><th class=
"col2">Примечание
</th>
1446 <td class=
"col0">0</td><td class=
"col1">BACKGROUND_COLOR
</td><td class=
"col2">Фон
</td>
1449 <td class=
"col0">1</td><td class=
"col1">PIN_COLOR
</td><td class=
"col2">Вывод
</td>
1452 <td class=
"col0">2</td><td class=
"col1">NET_ENDPOINT_COLOR
</td><td class=
"col2">Конечная точка соединения
</td>
1455 <td class=
"col0">3</td><td class=
"col1">GRAPHIC_COLOR
</td><td class=
"col2">Графический объект
</td>
1458 <td class=
"col0">4</td><td class=
"col1">NET_COLOR
</td><td class=
"col2">Соединение
</td>
1461 <td class=
"col0">5</td><td class=
"col1">ATTRIBUTE_COLOR
</td><td class=
"col2">Атрибут
</td>
1464 <td class=
"col0">6</td><td class=
"col1">LOGIC_BUBBLE_COLOR
</td><td class=
"col2">Логическая инверсия
</td>
1467 <td class=
"col0">7</td><td class=
"col1">DOTS_GRID_COLOR
</td><td class=
"col2">Сетка
</td>
1470 <td class=
"col0">8</td><td class=
"col1">DETACHED_ATTRIBUTE_COLOR
</td><td class=
"col2">Неприкреплённый атрибут
</td>
1473 <td class=
"col0">9</td><td class=
"col1">TEXT_COLOR
</td><td class=
"col2">Текст
</td>
1476 <td class=
"col0">10</td><td class=
"col1">BUS_COLOR
</td><td class=
"col2">Шина
</td>
1479 <td class=
"col0">11</td><td class=
"col1">SELECT_COLOR
</td><td class=
"col2">Выделение
</td>
1482 <td class=
"col0">12</td><td class=
"col1">BOUNDINGBOX_COLOR
</td><td class=
"col2">Контур объекта
</td>
1485 <td class=
"col0">13</td><td class=
"col1">ZOOM_BOX_COLOR
</td><td class=
"col2">Контур области масштабирования
</td>
1488 <td class=
"col0">14</td><td class=
"col1">STROKE_COLOR
</td><td class=
"col2">Жесты
</td>
1491 <td class=
"col0">15</td><td class=
"col1">LOCK_COLOR
</td><td class=
"col2">Заблокированный объект
</td>
1494 <td class=
"col0">16</td><td class=
"col1">OUTPUT_BACKGROUND_COLOR
</td><td class=
"col2">Выходной фон
</td>
1497 <td class=
"col0">17</td><td class=
"col1">FREESTYLE1_COLOR
</td><td class=
"col2">Свободный стиль
1</td>
1500 <td class=
"col0">18</td><td class=
"col1">FREESTYLE2_COLOR
</td><td class=
"col2">Свободный стиль
2</td>
1503 <td class=
"col0">19</td><td class=
"col1">FREESTYLE3_COLOR
</td><td class=
"col2">Свободный стиль
3</td>
1506 <td class=
"col0">20</td><td class=
"col1">FREESTYLE4_COLOR
</td><td class=
"col2">Свободный стиль
4</td>
1509 <td class=
"col0">21</td><td class=
"col1">JUNCTION_COLOR
</td><td class=
"col2">Точка соединения
</td>
1512 <td class=
"col0">22</td><td class=
"col1">MESH_GRID_MAJOR_COLOR
</td><td class=
"col2">Главная штриховка сетки
</td>
1515 <td class=
"col0">23</td><td class=
"col1">MESH_GRID_MINOR_COLOR
</td><td class=
"col2">Второстепенная штриховка сетки
</td>
1518 <!-- EDIT34 TABLE [46219-47477] -->
1520 Фактический цвет, связанный с цветовым индексом, определяется на основе
1521 используемых инструментов. Объектам обычно назначается соответствующий им
1522 цветовой индекс, но допустимо (иногда) назначать цвет, отличный от присущего
1523 данному типу объектов.
1527 <!-- EDIT33 SECTION "Цвета" [45644-47934] -->
1528 <h2 class=
"sectionedit35" id=
"атрибуты">Атрибуты
</h2>
1529 <div class=
"level2">
1532 Атрибуты заключаются в фигурные скобки {} и могут быть только текстовыми
1533 объектами. Атрибуты представляют собой текстовые элементы вида
1534 <code>имя_атрибута=значение
</code>. Если текст не содержит пары
1535 <code>имя_атрибута=значение
</code>, он не является атрибутом. Атрибуты прикрепляются
1536 к предшествующему объекту. Вот пример:
1538 <pre class=
"code">P
988 500 1300 500 1
1540 T
1000 570 5 8 1 1 0
1542 T
1000 550 5 8 1 1 0
1547 Данный объект является выводом, имеющим атрибуты
<code>pinnumber=
3</code> и
1548 <code>pinseq=
3</code> (
<code>имя_атрибута=значение
</code>). Внутри фигурных скобок {} может
1549 находиться несколько текстовых объектов (T … и текстовая строка
1550 обязательны). С версии
20021103 в качестве атрибутов можно использовать
1551 только текстовые элементы. Прикрепление других типов объектов в качестве
1552 атрибутов не поддерживается.
1556 Можно использовать также атрибуты «верхнего уровня». Эти атрибуты не
1557 прикрепляются ни к какому объекту, а просто представляют собой текстовые
1558 объекты вида
<code>имя_атрибута=значение
</code>.
1562 Данные атрибуты полезны в случаях, когда необходимо передать некоторую
1563 информацию о странице схемы или о символе и нужно, чтобы генератор списка
1564 соединений имел доступ к данной информации.
1568 <!-- EDIT35 SECTION "Атрибуты" [47935-49967] -->
1569 <h2 class=
"sectionedit36" id=
"внедрённые_компоненты">Внедрённые компоненты
</h2>
1570 <div class=
"level2">
1573 Внедрённые компоненты — это компоненты, определение которых полностью
1574 содержится внутри файла схемы. Когда пользователи помещают компоненты на
1575 страницы схемы, есть возможность делать компоненты внедрёнными. Это
1576 отличается от простого сохранения всей информации символа непосредственно в
1577 схеме, внедрённый компонент — это просто несколько иной
1578 компонент. Внедрённые компоненты указываются следующим образом:
1580 <pre class=
"code">C
18600 21500 1 0 0 EMBEDDED555-
1.sym
1583 ... Embedded primitive objects
1588 В примере выше,
<em><code>555-
1.sym
</code></em> — это компонент. Тег EMBEDDED и [ ] —
1589 отличительные характеристики внедрённого компонента. Если требуется отменить
1590 внедрение компонента, символ
<em><code>имя_компонента.sym
</code></em> должен
1591 присутствовать в одной из используемых библиотек.
1595 <!-- EDIT36 SECTION "Внедрённые компоненты" [49968-51333] -->
1596 <h2 class=
"sectionedit37" id=
"данные_контура">Данные контура
</h2>
1597 <div class=
"level2">
1600 Формат данных контуров gEDA/gaf умышленно определён таким образом, чтобы он
1601 соответствовал подмножеству
<a href=
"http://www.w3.org/TR/SVG/paths.html" class=
"urlextern" title=
"http://www.w3.org/TR/SVG/paths.html" rel=
"nofollow">таковых в
1602 стандарте W3C SVG
</a>.
1605 <li class=
"level1"><div class=
"li"> Детали реализации; код
<strong>libgeda
</strong> взят из
<strong>librsvg
</strong>, библиотеки синтаксического анализа SVG. В результате большая часть синтаксиса контуров SVG читается правильно, однако синтаксис всегда внутренне нормализуется в абсолютные команды
<code>move
</code>,
<code>line
</code>,
<code>bezier curve
</code> и
<code>close-path
</code> (и сохраняется в таком виде).
</div>
1607 <li class=
"level1"><div class=
"li"> Координаты всего контура указываются в стандартной координатной системе
<strong>gschem
</strong>.
</div>
1609 <li class=
"level1"><div class=
"li"> Команды для контуров, выводимые и гарантированно обрабатываемые в gEDA, перечислены в нижеследующей таблице.
<br/>
1610 (Текст взят из вышеуказанной спецификации SVG).
</div>
1612 <li class=
"level1 node"><div class=
"li"> В приведённой ниже таблице используются следующие условные обозначения:
</div>
1614 <li class=
"level2"><div class=
"li"> (): группировка параметров
</div>
1616 <li class=
"level2"><div class=
"li"> +: требуется
1 заданный параметр или более
</div>
1621 <div class=
"table sectionedit38"><table class=
"inline">
1624 <th class=
"col0">Команда
</th><th class=
"col1">Название
</th><th class=
"col2">Параметры
</th><th class=
"col3">Описание
</th>
1628 <td class=
"col0">M (абсолютная)
</td><td class=
"col1">moveto
</td><td class=
"col2">(x,y)+
</td><td class=
"col3">Начало нового подконтура в заданной координате
<code>(x,y)
</code>.
<code>M
</code> (в верхнем регистре) указывает, что далее следуют абсолютные координаты;
<code>m
</code> (в нижнем регистре) указывает, что далее следуют относительные координаты. Если команда
<code>moveto
</code> в относительных координатах (
<code>m
</code>) является первым элементом контура, её координаты рассматриваются как абсолютные. Если после
<code>moveto
</code> указано несколько пар координат, последующие пары рассматриваются как неявные команды
<code>lineto
</code>.
</td>
1631 <td class=
"col0">L (абсолютная)
</td><td class=
"col1">lineto
</td><td class=
"col2">(x,y)+
</td><td class=
"col3">Вычерчивается линия из текущей точки в точку, заданную координатами
<code>(x,y)
</code>, которая становится новой текущей.
<code>L
</code> (в верхнем регистре) указывает, что далее следуют абсолютные координаты;
<code>l
</code> (в нижнем регистре) указывает, что далее следуют относительные координаты. Для вычерчивания ломаной линии может указываться несколько пар координат. В конце команды новой текущей точкой станет последняя заданная пара координат.
</td>
1634 <td class=
"col0">C (абсолютная)
</td><td class=
"col1">curveto
</td><td class=
"col2">(x1,y1 x2,y2 x,y)+
</td><td class=
"col3">Вычерчивается кривая Безье с кубической интерполяцией из текущей точки в точку
<code>(x,y)
</code>, используя
<code>(x1,y1)
</code> как контрольную точку в начале кривой и
<code>(x2,y2)
</code> как контрольную точку в конце кривой.
<code>C
</code> (в верхнем регистре) указывает, что далее следуют абсолютные координаты;
<code>c
</code> (в нижнем регистре) указывает, что далее следуют относительные координаты. Для вычерчивания сложной кривой Безье может указываться несколько наборов координат. В конце команды новой текущей точкой станет последняя пара координат
<code>(x,y)
</code> сложной кривой.
</td>
1637 <td class=
"col0">Z или z
</td><td class=
"col1">closepath
</td><td class=
"col2">(нет)
</td><td class=
"col3">Закрывает текущий подконтур вычерчиванием прямой линии из текущей точки в исходную точку данного подконтура.
</td>
1640 <!-- EDIT38 TABLE [52887-55876] --><ul>
1641 <li class=
"level1"><div class=
"li"> В настоящее время вывод вышеуказанных команд в gEDA производится только в виде версий с абсолютными координатами.
</div>
1643 <li class=
"level1"><div class=
"li"> В настоящее время вывод команд
<code>M
</code>,
<code>L
</code>,
<code>C
</code> в gEDA производится перед каждым набором координат, даже в случаях, если они могли бы быть опущены в соответствии со спецификацией SVG.
</div>
1645 <li class=
"level1"><div class=
"li"> В выводе gEDA между координатами
<code>x,y
</code> помещаются запятые. В соответствии со спецификацией SVG они могут замещаться пробельными символами.
</div>
1647 <li class=
"level1"><div class=
"li"> В настоящее время gEDA не поддерживает более одного подконтура.
</div>
1649 <li class=
"level1"><div class=
"li"> В настоящее время gEDA выводит по одной строке данных контура на команду + набор координат.
</div>
1654 Для примера начертим внешний контур символа AND по американскому стандарту.
1657 <pre class=
"code">M
100,
100 L
500,
100 C
700,
100 800,
275 800,
400
1658 C
800,
525 700,
700 500,
700 L
100,
700 z
</pre>
1663 <pre class=
"code">v
20080706 1
1664 H
3 0 0 0 -
1 -
1 0 2 20 100 -
1 -
1 6
1667 C
700,
100 800,
275 800,
400
1668 C
800,
525 700,
700 500,
700
1673 Здесь показан итоговый контур (с начерченными для иллюстрации их положения
1674 контрольными точками):
1678 <a href=
"media/geda/path_example_and_gate-smaller.png" class=
"media" target=
"_blank" title=
"geda:path_example_and_gate-smaller.png"><img src=
"media/geda/path_example_and_gate-smaller.png" class=
"media" title=
"" alt=
"" /></a>
1682 <!-- EDIT37 SECTION "Данные контура" [51334-57616] -->
1683 <h2 class=
"sectionedit39" id=
"история_изменений_документа">История изменений документа
</h2>
1684 <div class=
"level2">
1685 <div class=
"table sectionedit40"><table class=
"inline">
1687 <td class=
"col0">30 ноября
2002 г.
</td><td class=
"col1 leftalign">Создан fileformats.tex из fileformats.html.
</td>
1690 <td class=
"col0">1 декабря
2002 г.
</td><td class=
"col1 leftalign">Продолжена работа над данным документом.
</td>
1693 <td class=
"col0">4 октября
2003 г.
</td><td class=
"col1 leftalign">Добавлена информация о новом флаге версии формата файла.
</td>
1696 <td class=
"col0">19 октября
2003 г.
</td><td class=
"col1 leftalign">Добавлено поле
<code>num_lines
</code> для текстового объекта.
</td>
1699 <td class=
"col0 leftalign">2 ноября
2008 г.
</td><td class=
"col1 leftalign">Добавлен объект контура, версия формата файла изменена на
2.
</td>
1702 <td class=
"col0 leftalign">26 мая,
2011 г.
</td><td class=
"col1 leftalign">В таблицы параметров добавлены столбцы позиции.
</td>
1705 <!-- EDIT40 TABLE [57682-58441] -->
1707 <!-- EDIT39 SECTION "История изменений документа" [57617-] --></body>