Расширенные данные (DXF)

Расширенные данные (XDATA) создаются с помощью приложений AutoLISP или ObjectARX. Если объект содержит расширенные данные, они следуют за обычными данными определения объекта. Расширенные данные описываются групповыми кодами 1000—1071.. Ниже приведен пример объекта, содержащего расширенные данные в формате DXF.

Обычные данные определения объекта:

  0 
INSERT
  5
F11
100
AcDbEntity
  8
TOP
100
AcDbBlockReference
 2
BLOCK_A
 10
0.0
 20
0.0
 30
0.0

Расширенные данные определения объекта:

1001
AME_SOL
1002
{
1070
 0
1071
 1.95059E+06
1070
 519
1010
2.54717
1020
2.122642
1030
2.049201
1005
ECD
1005
EE9
1005
0
1040
0.0
1040
1.0
1000
MILD_STEEL

Групповой код 1001 указывает начало расширенных данных. В отличие от обычных данных объекта, в расширенных данных один и тот же групповой код может отображаться несколько раз, и порядок отображения имеет важное значение.

Расширенные данные группируются по имени зарегистрированного приложения. Каждая группа зарегистрированного приложения начинается с группового кода 1001 с указанием имени приложения в формате строкового значения. Имена зарегистрированных приложений соответствуют записям таблицы обозначений APPID.

В приложении может использоваться сколько угодно имен APPID. Имена APPID являются постоянными, однако если в данное время они не используются в чертеже, то могут быть удалены. Каждому имени APPID может соответствовать только одна группа данных из прикрепленных к каждому объекту. В группе приложения последовательность групп расширенных данных и их значение определяются приложением.

Групповые коды расширенных данных приведены в следующей таблице.

Групповые коды расширенных данных и описания

Имя объекта

Групповой код

Описание

Строка

1000

Строки в расширенных данных могут содержать до 255 байт (256-й байт зарезервирован для пустого символа)

Имя приложения

1001

Также строковое значение

Имена приложений могут содержать до 31 байта (32-й байт зарезервирован для пустого символа)

Прим.:

Не следует добавлять группу с кодом 1001 в расширенные данные, так как в AutoCAD эта группа считается началом группы расширенных данных нового приложения

Управляющая строка

1002

Управляющая строка расширенных данных может иметь значение "{" или "}". С помощью этих фигурных скобок в приложениях выполняется упорядочивание данные посредством разбиения на списки. Левая фигурная скобка указывает на начало списка, а правой фигурной скобкой завершается самый последний список. Списки могут быть вложенными

Если в AutoCAD выполняется чтение расширенных данных для конкретного приложения, выполняется проверка расстановки фигурных скобок

Имя слоя

1003

Имя слоя, связанного с расширенными данными

Двоичные данные

1004

Двоичные данные организованы в блоки переменной длины. Максимальная длина каждого блока составляет 127 байт. В файлах DXF формата ASCII двоичные данные представлены в виде строк шестнадцатеричных цифр по две на каждый двоичный байт

Дескриптор базы данных

1005

Дескрипторы объектов в базе данных чертежа

Прим.:

Если чертеж с обычными дескрипторами и дескрипторами расширенных данных импортируется в другой чертеж с помощью параметров ВСТАВИТЬ, "Вставка ***", "Внедрение ссылок", ВНЕДРИТЬ или частично ОТКРЫТЬ, дескрипторы расширенных данных преобразуются аналогично соответствующим дескрипторам объектов, что позволяет сохранить их внедренность. Это также выполняется при операции расчленения блока (РАСЧЛЕНИТЬ) или любой другой операции AutoCAD. Если при выполнении команды ПРОВЕРИТЬ обнаруживается дескриптор расширенных данных, не соответствующий дескриптору объекта в файле чертежа, он считается ошибочным. Если при выполнении команды ПРОВЕРИТЬ выполняется корректировка объектов, для дескриптора устанавливается значение 0

Три вещественных числа

1010, 1020, 1030

Три вещественных значения, упорядоченные по осям X, Y, Z. Они могут использоваться в качестве записи точки или вектора. В AutoCAD их значение не изменяется

Положение в МСК

1011, 1021, 1031

В отличие от простой 3D-точки координаты мирового пространства перемещаются, масштабируются, поворачиваются и зеркально отражаются вместе с родительским объектом, которому принадлежат расширенные данные. Положение в МСК также растягивается при применении команды РАСТЯНУТЬ к родительскому объекту, при этом эта точка находится в пределах окна выбора

Перемещение в МСК

1012, 1022, 1032

Также 3D-точка, масштабируемая, поворачиваемая и зеркально отражаемая вместе с родительским объектом (но не перемещаемая и не растягиваемая)

Мировое направление

1013, 1023, 1033

Также 3D-точка, поворачиваемая и зеркально отражаемая вместе с родительским объектом (но не перемещаемая, не масштабируемая и не растягиваемая)

Вещественное

1040

Вещественное значение

Расстояние

1041

Вещественное значение, которое масштабируется вместе с родительским объектом

Масштабный коэффициент

1042

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

Целое

1070

16-разрядное целое число (со знаком или без знака)

Длинное

1071

32-разрядное (длинное) целое число со знаком