DXF представление объекта составлено из пар кодов группы и данных, с каждым отображением кода группы к определенному типу данных. Когда Вы определяете ваше собственное DXF представление, первая группа данных Вы записываете и читаете, должен быть маркер данных подкласса. Этот маркер состоит из кода группы 100, сопровождаемых строкой, которая является текущим именем класса. Тогда, Вы выбираете коды группы от следующей таблицы, которые соответствуют типам данных каждого поля данных, которое Вы записываете.
DXF group code ranges for object representation
From |
To |
Data Type |
1 |
4 |
Text |
6 |
9 |
Text |
10 |
17 |
Point or vector (3 reals) |
38 |
59 |
Real |
60 |
79 |
16-bit integer |
90 |
99 |
32-bit integer |
100 |
100 |
Subclass data marker |
102 |
102 |
Text |
140 |
149 |
Real |
170 |
179 |
16-bit integer |
210 |
219 |
3 reals |
270 |
279 |
16-bit integer |
280 |
289 |
8-bit integer |
300 |
309 |
Text |
310 |
319 |
Binary chunk |
320 |
329 |
Handle |
330 |
339 |
Soft Pointer ID |
340 |
349 |
Hard Pointer ID |
350 |
359 |
Soft owner ID |
360 |
369 |
Hard owner ID |
Объект ID транслирует к rlname. Например, AcDbObjectId соответствует ads_name, который представлен в resval объединении как rlname.
Порядок зависимости
С DXF, по усмотрению автора класса, группы данных могут быть представлены в произвольном порядке, или произвольно опущен. Некоторые классы поддерживают независимость порядка групп данных, в то время как другие делают нет. Если Вы позволяете независимость порядка, то ваш dxfInFields () функция должен использовать инструкцию выключателя, чтобы выбрать действие, основанное на значении кода группы. Независимость порядка обычно соответствующая объектам с фиксированным и предсказуемым набором полей. Объекты с массивами переменной длины или структурами имеют тенденцию быть иждивенцем заказа, когда они зарегистрированы из и в.
Типовой Код для dxfOutFields ()