- •«Санкт-петербургский государственный университет аэрокосмического приборостроения»
- •Оглавление
- •1. Постановка задачи
- •2. Общая структура файла dxf
- •3. Коды группы
- •4. Раздел заголовок
- •5. Раздел таблицы
- •6. Раздел блоки
- •7. Раздел примитивы
- •8. Определения признаков примитивов
- •Признаки типа блока
- •9. Написание интерфейсных программ dxf
- •12. Аппаратные и программные требования.
- •Требования к программному обеспечению
- •15. Литература
5. Раздел таблицы
Раздел ТАБЛИЦЫ (TABLES) файла DXF содержит четыре таблицы, каждая из которых в свою очередь содержит различное число табличных записей. Таблицы всегда расположены в таком порядке, который имеется в приведенном выше примере этого файла. Каждая таблица из раздела TABLES начинается с группы 0 с меткой "TABLE" /ТАБЛИЦА/. За ней следует группа 2 с названием таблицы ("LTYPE", "LAYER", "STYLE" или же "VIEW"), и далее – группа 70, задающая максимальное число табличных записей. Таблицы в чертеже могут содержать исключенные элементы, однако они не записываются в файл DXF. Таким образом, реальное число элементов, которые следуют после заголовка таблицы, может быть меньше числа, заданного в группе 70, поэтому не следует использовать число, заданное в группе 70, в качестве индекса при чтении таблицы. Предусмотрено, что ваша программа для чтения файлов DXF может разместить массив заранее, чтобы сохранить все последующие табличные элементы.
После заголовка в каждой таблице следуют табличные записи. Каждый элемент таблицы состоит из группы 0, идентифицирующей тип элемента (такой же, как и имя таблицы, т.е. "LTYPE" или "LAYER"), группы 2, в которой указывается имя записи, группы 70, в которой указываются флажки, относящиеся к табличной записи (для каждой таблицы определены ниже), и из дополнительных групп, в которых приводятся значения табличных записей. Конец каждой таблицы отмечается с помощью группы 0, которая имеет значение "ENDTAB".
Ниже приведены группы, которые используются для каждого типа табличного элемента. В каждом элементе (пункте) таблицы представлены все возможные группы.
LTYPE |
3 (описательный текст для типа линии), 72 (код выравнивания), 73 (число элементов длин штрихов), 40 (общая длина линий образца), 49 (длина штриха 1), 49 (длина штриха 2), ... |
LAYER |
62 (номер цвета, отрицательный, если слой "выключен"), 6 (имя типа линии). Если слой "заморожен", то бит 1 устанавливается во флажках группы 70. |
STYLE |
40 (фиксированная высота текста; если высота текста не является фиксированной, то 0), 50 (непрямой угол), 71 (флажки генерации текста), 42 (используется высота, заданная в последний раз), 3 (имя файла текстового шрифта или формы). Пункт таблицы STYLE используется также для записи запросов LOAD (загрузка) файла формы. В этом случае бит 1 устанавливается в флажках группы 70, и значимой является только 3 группа (тем не менее, все остальные группы являются выходными). |
VIEW |
40 и 41 (высота и ширина вида), 10 и 20 (центральная точка вида), 11, 21 и 31 (направление вида от начала отсчета). |
6. Раздел блоки
Раздел БЛОКИ (BLOCKS) файла DXF содержит все описания блоков. Данный раздел содержит примитивы, которые составляют блоки, используемые в чертеже. Формат примитивов, содержащихся в данном разделе, идентичен формату, который приведен ниже при описании раздела ENTITIES, поэтому для более детального знакомства обратитесь к указанному разделу. Все графические примитивы в разделе BLOCKS размещаются между элементами BLOCKS и ENDBLK. Элементы BLOCK и ENDBLK встречаются только в разделе BLOCKS. Описания блоков не бывают вложенными (то есть, элементы BLOCK или ENDBLK не могут располагаться внутри другой пары BLOCK и ENDBLK).
