Расширенные данные (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-разрядное (длинное) целое число со знаком |