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.