Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Лекция 10. Спецификация формата DXF



DXF (англ. D rawing e X change F ormat) — открытый формат файлов для обмена графической информацией между приложениями САПР. Был создан фирмой Autodesk для системы AutoCAD. Поддерживается практически всеми CAD-системами на платформе PC.

DXF был впервые представлен в декабре 1982 года как часть AutoCAD 1.0, в качестве обменного формата данных, предоставляющего ту же информацию, что и закрытый внутренний формат AutoCAD — DWG, спецификация на который никогда не предоставлялась. В настоящее время на сайте Autodesk можно найти спецификации всех версий DXF, начиная с AutoCAD Release 13 (ноябрь 1994 г.) по AutoCAD 2012 (февраль 2011 г.). Начиная с AutoCAD Release 10 (октябрь 1988 г.) помимо текстового варианта DXF, поддерживается также и двоичная версия — DXB.

По мере того, как AutoCAD становился всё сложнее и поддерживал всё более сложные типы объектов, DXF становился всё менее полезен. Новые объекты в спецификации формата описывались не полностью либо не описывались вовсе. Большинство разработчиков коммерческих приложений, включая конкурентов Autodesk, в качестве основного формата обмена с AutoCAD используют формат DWG, через библиотеки, предоставляемые некоммерческой организацией Open Design Alliance, которой была выполнена обратная разработка формата DWG.

Однако, для большинства практических нужд вновь вводимые объекты, такие как 3D-расширения, не являются необходимыми. Например, в соответствии с требованием ЕСКД, чертёж любого изделия является двумерным контурным изображением (ГОСТ 2.301-68, Форматы). Поэтому DXF не только не исчез, но стал де-факто одним из двух стандартов для векторных изображений в открытых операционных системах и приложениях (второй стандарт - SVG). Например (на 2009 год), векторный графический редактор Inkscape и САПР QCad поддерживают DXF как основной формат.

 

Общая структура файла

DXF-файл составлен из пар кодов и ассоциированных значений.

Коды, известные как коды групп, определяют тип значений, которые за ними следуют.

Используя пары групповых кодов и значений, DXF-файл организован в виде секций, состоящих из записей, которые сформированы из кодов и данных.

Каждый код и значение находятся в отдельной строке.

Каждая секция начинает с кода 0 для группы, следующей за строкой SECTION.

Следом за кодом 2 на новой строке указывается имя секции (например, HEADER).

Каждая секция составлена из кодов группы и значений ее элементов. Секция заканчивается кодом 0, за которым на новой строке следует инструкция ENDSEC.

Полная организация DXF-файла

HEADER section.

Содержит общую информацию о чертеже. Состоит из номера версии базы данных AutoCAD и множества переменных системы. Каждый параметр содержит имя переменной и связанное с ним значение.

CLASSES section.

Содержит информацию о классах, определенных для приложения, реализации которых появляются в BLOCKS, ENTITIES, OBJECTS-секциях базы данных. Определение класса постоянно устанавливается в иерархии класса.

TABLES section.

Содержит определения для следующих таблиц:

- APPID (таблица идентификаторов приложения)

- BLOCK_RECORD (таблица записей блоков)

- DIMSTYLE (таблица стилей размеров)

- LAYER (таблица слоя)

- LTYPE (таблица стилей типов линий)

- STYLE (таблица текстовых стилей)

- UCS (таблица пользовательских систем координат)

-VIEW (таблица видов)

- VPORT (таблица видовых экранов)

BLOCKS section.

Содержит определение блока и объекты чертежа, которые составляют каждую ссылку блока в рисунке.

ENTITIES section.

Содержит графические объекты в чертеже, включая ссылки блока (объекты вставки).

OBJECTS section.

Содержит неграфические объекты в чертеже. Все объекты, которые - не сущности или записи таблицы символов - сохранены в этой секции.

 

Пример 1

Следующий пример показывает организацию секции HEADER в DXF-файле:

 

0 SECTION 2 HEADER начало HEADER section
9 $< variable> < group code> < value> Повторяются для каждой переменной данной секции
0 ENDSEC конец HEADER section

 

Пример 2

Следующий пример показывает организацию секции ENTITIES в DXF-файле:

0 SECTION 2 ENTITIES начало ENTITIES section
0 < тип сущности> 5 < указатель> 330 < указатель на владельца> 100 AcDbEntity 8 < слой> 100 AcDb< имя класса> .. < данные> . Один из типов сущности (примитивов)
0 ENDSEC  

Описание HEADER секции

Раздел HEADER файла DXF содержит установочные значения для переменных, которые непосредственно связаны с чертежом. Эти переменные устанавливаются с помощью различных команд и относятся к такому виду информации, который отображается на дисплее с помощью команды STATUS.

Каждая переменная указывается в разделе с помощью группы 9, задающей ее имя, после чего следуют группы, определяющие ее значение.

Следующая таблица содержит список некоторых переменных данной секции.

 

DXF переменные
Переменная Групповой код Описание
$ACADMAINTVER Промышленный номер версии
$ACADVER Номер версии AutoCAD чертежа базы данных AC1015 = AutoCAD 2000; AC1018 = AutoCAD 2004
$EXTMAX 10, 20, 30 X, Y, и Z границы верхнего угла (в WCS)
$EXTMIN 10, 20, 30 X, Y, и Z границы нижнего угла (в WCS)
 
$LIMMAX 10, 20 X, Y лимиты верхнего угла (в WCS)
$LIMMIN 10, 20 X, Y лимиты нижнего угла (в WCS)

 

Хотя выше приведенный список переменных заголовка DXF очень близок к списку системных переменных, эти два списка не идентичны.

Описание кодов групп в структуре файла DXF

Файл DXF состоит из множества групп, каждая из которых занимает две строки в файле DXF.

В первой строке размещается код группы, который представляет собой положительное ненулевое целое число, имеющее формат " I3" языка ФОРТРАН (то есть выровненное вправо число, заполненное пробелами в трехсимвольном поле).

Вторая строка представляет собой значение группы, имеющее формат, который зависит от типа группы, задаваемого кодом группы.

Присвоение кодов групп зависит от того, какой элемент описывается в файле. Тип значения, которое дает эта группа, определяется из кода группы следующим образом:

Диапазон кодов группы Соответствующее значение

0 — 9 Строковое
10 —59 С плавающей точкой

60 — 79 Целое

Таким образом, программа может легко прочитать значение, соответствующее коду группы, не имея информации о конкретном использовании этой группы в элементе файла.

Форма представления значений в файле DXF не зависит от установки параметров в команде UNITS: координаты всегда представляются в виде десятичных чисел (или если они очень большие, то в виде научных обозначений), а углы всегда представляются в виде десятичных градусов, причем отсчет ведется от направления на восток от начала координат.

Переменные, точки входа в элементы таблицы и графические примитивы описываются с помощью группы, которая представляет элемент, задавая его тип и/или имя, после чего следуют многочисленные группы, которые представляют собой значения, связанные с этим элементом. Кроме того, для разделителей файлов, таких как метки конца и начала разделов, таблиц и самих файлов, используются специальные группы.

Графические примитивы, точки входа в таблицы и разделители файлов всегда вводятся с помощью группы 0, за которой следует имя, описывающее элемент.

 

Описание секции OBJECTS

Эта часть файла содержит коды для неграфических объектов.

Заголовки в данной секции:

· OBJECT Section Group Codes

· Common Group Codes for Objects

· IMAGEDEF_REACTOR

· LAYER_INDEX

· LAYER_FILTER

· LAYOUT

· PLOTSETTINGS

Описание групповых кодовзаголовка PLOTSETTINGS


Поделиться:



Популярное:

Последнее изменение этой страницы: 2017-03-03; Просмотров: 5319; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.019 с.)
Главная | Случайная страница | Обратная связь