Структура формата DXF
Таким образом, программа может легко прочитать значение, соответствующее коду группы, не имея информации о конкретном использовании этой группы в элементе файла. Форма представления значений в файле DXF не зависит от установки параметров в команде UNITS: координаты всегда представляются в виде десятичных чисел (или если они очень большие, то в виде научных обозначений), а углы всегда… Читать ещё >
Структура формата DXF (реферат, курсовая, диплом, контрольная)
В данном разделе подробно описывается формат файла DXF, а именно: его структура. Раздел содержит большой объем технической информации, которая необходима для написания программы.
Общая структура файла
Файл обмена чертежами представляет собой обычный текстовый файл типа «DXF» в кодах ASCII, в котором находится текстовая информация в специально заданном формате. Файл DXF организован следующим образом:
- 1) Раздел заголовка (HEADER section) — в данном разделе файла DXF содержится общая информация о чертеже. Каждый параметр имеет имя переменной и соответствующее ей значение.
- 2) Раздел классов (CLASSES section) — содержит информацию для применения определенных класов, экземпляры которых появляются в разделах объектов, блоков и сущностей базы данных. Определение класса постоянно фиксируется в иерархии классов.
- — Раздел таблиц (TABLES section) — Содержит определения для следующих таблиц символов:
- — APPID (Таблица идентификации приложения)
- — BLOCK_RECORD (Справочная таблица по блокам)
- — DIMSTYLE (Таблица размерностей)
- — LTYPE (Таблица типов линий)
- — LAYER (Таблица слоев)
- — STYLE (Таблица стилей)
- — UCS (Таблица пользовательской системы координат)
- — VIEW (Таблица видов)
- — VPORT (Таблица конфигурации видовых окон)
- 3) Раздел блоков (BLOCKS section) — содержит графические примитивы определений блоков, которые описывают примитивы, входящие в состав каждого блока изображения.
- 4) Раздел сущностей или примитивов (ENTITIES section) — содержит графические примитивы чертежа, включая любые ссылки на блоки.
- 5) Раздел объектов (OBJECTS section) — содержит не графические объекты, присутствующие на чертеже. Все объекты, которые не являются сущностями или записями таблицы символов, или символьными таблицами, хранятся в данном разделе.
- 6) Раздел предпросмотра (THUMBNAILIMAGE section) — содержит информацию об изображении для предпросмотра чертежа (preview image). Данный раздел опционален.
Отличие объектов от сущностей состоит в том, что объекты не имеют графического представления, тогда как сущности — имеют. Например, словари являются объектами, но не сущностями. Сущности также называют графическими объектами, а объекты — не графическими объектами.
Сущности показываются в разделах блоков и сущностей файла DXF. Использование кодов групп в этих двух разделах идентичны. Некоторые коды групп, которые определяют сущности показываются всегда, остальные — опционально или только когда их значения отличаются от значений по умолчанию.
Файл DXF состоит из множества групп, каждая из которых занимает две строки в файле DXF. В первой строке размещается код группы, который представляет собой положительное ненулевое целое число, имеющее формат «I3» языка ФОРТРАН (то есть выровненное вправо число, заполненное пробелами в трехсимвольном поле).
Вторая строка группы представляет собой значение группы, имеющее формат, который зависит от типа группы, задаваемого кодом группы.
Присвоение кодов групп зависит от того, какой элемент описывается в файле. Например, тип значения, которое дает эта группа, определяется из кода группы следующим образом (более подробную информацию о типах можно найти в [3]):
- 0 — 9 Строковое
- 10 — 59 С плавающей запятой
- 60 — 79 Целое
Таким образом, программа может легко прочитать значение, соответствующее коду группы, не имея информации о конкретном использовании этой группы в элементе файла. Форма представления значений в файле DXF не зависит от установки параметров в команде UNITS: координаты всегда представляются в виде десятичных чисел (или если они очень большие, то в виде научных обозначений), а углы всегда представляются в виде десятичных градусов, причем отсчет ведется от направления на восток от начала координат.
Переменные, точки входа в элементы таблицы и графические примитивы описываются с помощью группы, которая представляет элемент, задавая его тип и/или имя, после чего следуют многочисленные группы, которые представляют собой значения, связанные с этим элементом. Кроме того, для разделителей файлов, таких как метки конца и начала разделов, таблиц и самих файлов, используются специальные группы.
Графические примитивы, точки входа в таблицы и разделители файлов всегда вводятся с помощью группы 0, за которой следует имя, описывающее элемент. Например, каждый раздел начинается с группы 0, за которой следует строка SECTION. Далее следует группа 2 и строка, указывающая на имя раздела (например заголовок). Каждый раздел состоит из группы кодов и значений, которые определяют ее элементы. Раздел заканчивается группой 0 и строкой ENDSEC [3].