Тема 3.2 ВЗАИМОДЕЙСТВИЕ АЛГОРИТМИЧЕСКОГО ЯЗЫКА И СИСТЕМЫ AutoCAD
ЛЕКЦИЯ №24
Общая структура DXF-Файла
Файл обмена рисунками представляет собой обычный текстовый файл в кодах ASCII с расширением .dxf в специальном формате. DXF-файл организован следующим образом:
1. Раздел HEADER (заголовок) - В данном разделе содержится общая информация о рисунке. Каждый параметр имеет имя и соответствующее значение.
2. Раздел TABLES (таблицы) - В данном разделе содержатся определения поименованных элементов.
· Таблица типов линий LTYPE
· Таблица слоев LAYER
· Таблица гарнитур STYLE
· Таблица видов VIEW
· Таблица пользовательских систем координат UCS
· Таблица конфигураций видовых экранов VPORT
· Таблица управления рисунком DWGMGR (для дальнейшего использования)
3. Раздел BLOCKS (блоки) - В данном разделе содержатся графические примитивы входящие в каждый блок рисунка.
4. Раздел ENTITIES (примитивы) - В данном разделе содержатся графические примитивы рисунка, включая любые ссылки на блоки.
5. END OF FILE (конец файла)
DXF-файл состоит из множества групп, каждая из которых занимает две строки. В первой строке размещается код группы, который представляет собой положительное ненулевое целое число, имеющее формат "I3" языка ФОРТРАН (то есть выравненное вправо число, заполненное пробелами в трехсимвольном поле). Вторая строка группы представляет собой значение группы, имеющее формат, который зависит от типа группы, задаваемого кодом группы.
Конкретное присвоение кодов групп зависит от того, какой элемент описывается в файле. Однако, тип значения, которое дает эта группа, определяется из кода группы следующим образом:
Диапазон кодов группы | Последующее значение |
0-9 | Строковая |
10-59 | С плавающей точкой |
60-79 | Целое |
210-239 | С плавающей точкой |
Комментарии |
Таким образом, программа может легко прочитать значение, следующее за кодом группы, не имея информации о конкретном использовании этой группы в элементе файла.
Переменные, точки входа в элементы таблицы и графические примитивы описываются с помощью кода группы, задающего тип и/или имя, после чего следует последовательность групп, которые определяют значения, связанные с этим элементом. Кроме того, для разделителей файла, таких как метки конца и начала разделов, таблиц и самих файлов, используются специальные группы.
Графические примитивы, точки входа в таблицы и разделители файла всегда вводятся с помощью кода группы 0, за которым следует имя, описывающее элемент.
DXF-файл состоит из четырех разделов. Для определения этих разделов используются группы разделителей файла. Далее следует пример пустого DXF-файла, который состоит только из маркеров разделов и заголовков таблиц.
0 (Начало раздела HEADER)
HEADER
<<< Далее следуют элементы переменных заголовка >>>
ENDSEC (Конец раздела HEADER)
0 (Начало раздела TABLES)
SECTION
TABLES
TABLE
VPORT
(Счетчик максимального количества элементов таблицы видового экрана)
<<< Далее следуют элементы таблицы видового экрана >>>
ENDTAB
TABLE
LTYPE, LAYER, STYLE, VIEW, UCS или DVGMGR
(Счетчик максимального числа элементов таблиц)
<<< Далее следуют элементы таблиц >>>
ENDTAB
ENDSEC (Конец раздела TABLES)
0 (Начало раздела BLOCKS)
SECTION
BLOCKS
<<< Далее следуют графические примитивы описания блока >>>
ENDSEC (Конец раздела BLOCKS)
0 (Начало раздела ENTITIES)
SECTION
ENTITIES
<<< Далее следуют графические примитивы рисунка >>>
ENDSEC (Конец раздела ENTITIES)
EOF (Конец файла)