The DXF representation of an object is composed of pairs of group codes and data, with each group code mapping to a specific data type. When you define your own DXF representation, the first data group you write out and read in must be a subclass data marker. This marker consists of a 100 group code followed by a string that is the current class name. Then, you select group codes from the following table that correspond to the data types of each data field you are writing out.
|
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 |
|
160 |
169 |
64-bit integer |
|
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 |
An object ID translates to an rlname. For example, an AcDbObjectId corresponds to an ads_name, which is represented in the resval union as rlname.