Групповые коды таблицы обозначений (DXF)

Порядок таблиц может меняться, однако таблица LTYPE всегда размещается перед таблицей LAYER. Каждая таблица вводится с использованием группового кода 0 и метки TABLE. За этим следует групповой код 2, с помощью которого определяется конкретная таблица (APPID, DIMSTYLE, LAYER, LTYPE, STYLE, UCS, VIEW, VPORT или BLOCK_RECORD), групповой код 5 (дескриптор), групповой код 100 (маркер подкласса AcDbSymbolTable) и групповой код 70, указывающий максимальное количество последующих записей в таблице. Имена таблиц выводятся в верхнем регистре. Дескриптором DIMSTYLE является групповой код 105, а не групповой код 5.

Хотя таблицы в чертеже могут содержать удаленные элементы, в файл DXF такие элементы не записываются. В результате количество записей, следующих за заголовком таблицы, может быть меньше, чем значение, указанное в групповом коде 70, поэтому не следует использовать групповой код 70 в качестве индекса для чтения данных в таблице. Этот групповой код нужен для того, чтобы в программе, выполняющей чтение файлов DXF, можно было выделить массив, достаточно большой для хранения всех последующих записей таблицы.

За этим заголовком в каждой таблице идут записи таблицы. Каждая запись таблицы состоит из группы с кодом 0, определяющей тип элемента (аналогично имени таблицы, например LTYPE или LAYER), группы с кодом 2, определяющей имя записи таблицы, группы с кодом 70, определяющей флаги, относящиеся к записи таблицы (определяется для каждой следующей таблицы), и дополнительных групп, определяющих значение записи таблицы. Конец каждой таблицы обозначается группой с кодом 0 с значением ENDTAB.

И записи таблицы обозначений, и сами таблицы обозначений являются объектами базы данных. Поэтому, принимая во внимание преобладающий характер использования этих элементов в AutoCAD ® , это означает, что как минимум имеется дескриптор, который вставляется после групп с кодом 2 как для объектов записи таблицы обозначений, так и для объектов таблицы обозначений.

Дескриптор с кодом 105 используется только в таблице DIMSTYLE, так как группа с кодом 5 в записях этого типа уже занята. Как правило, программистам не следует беспокоиться об этом исключении, если только оно не требуется в контексте раздела таблицы DIMSTYLE. Это единственный контекст, в котором это исключение должно использоваться.