Extended data technology supports the group codes in the table below.
Code |
Data Type |
Description |
1000 |
String |
An arbitrary String value up to 255 letters long. |
1001 |
Application Name |
An application name as an OdString value up to 31 letters long. This is a special group code that begins a sequence of group codes and associates the sequence with a registered application. |
1002 |
Control String |
A control code that can be "{" or "}", which subdivides blocks into a sequence of group codes. The left brace begins a block and the right brace completes a block. Blocks can be nested. Only the application associated with a sequence is aware of the block destinations. |
1003 |
Layer Name |
Name of a layer that is associated with the extended data. |
1004 |
Binary Chunk |
Binary data that is organized into chunks. Each chunk is an array of bytes. Each byte represents two hexadecimal symbols. Maximal length of a chunk is 127 bytes. |
1005 |
Handle |
A handle of an object. The OdDbHandle class implements the handle. |
1010 |
3D Point |
Three real values, in the order X,Y,Z. These values define world space coordinates of a point or vector. When an object is transformed, coordinates of this point or vector are not transformed within extended data. |
1011 |
3D Position |
Three real values, in the order X,Y,Z, that define world space coordinates of a point and are moved, scaled, rotated, stretched, and mirrored along with the parent. When an object is transformed, coordinates of this point are also transformed within extended data. |
1012 |
3D Displacement |
Three real values, in the order X,Y,Z, that define a vector and are scaled, rotated, and mirrored along with the parent. When an object is transformed, this vector is also transformed within extended data. |
1013 |
3D Direction |
Three real values, in the order X,Y,Z, that define a unit vector and are rotated and mirrored along with the parent. When an object is transformed, the direction is changed only within extended data. |
1040 |
Real |
A real value (any real data). |
1041 |
Distance |
A real value which is scaled along with the parent. When an object is transformed, this real value is changed within extended data using the scale factor of the transformation matrix. |
1042 |
Scale Factor |
A real value which is scaled along with the parent analogously to 1041. The difference between 1041 and 1042 is application-defined. |
1070 |
Short Integer |
A 16-bit short integer value. |
1071 |
Long Integer |
A 32-bit long integer value. |
The ValueType enumerator declares the symbolic notation for the group codes supported by extended data technology:
kDxfXdAsciiString = 1000, // Arbitrary string
kDxfRegAppName = 1001, // Application name (string)
kDxfXdControlString = 1002, // Control string
kDxfXdLayerName = 1003, // Layer name (string)
kDxfXdBinaryChunk = 1004, // Binary chunk
kDxfXdHandle = 1005, // Handle (OdDbHandle)
kDxfXdXCoord = 1010, // 3D Point (OdGePoint3d)
kDxfXdYCoord = 1020, // Coordinate (Double)
kDxfXdZCoord = 1030, // Coordinate (Double)
kDxfXdWorldXCoord = 1011, // 3D Point (OdGePoint3d)
kDxfXdWorldYCoord = 1021, // Coordinate (Double)
kDxfXdWorldZCoord = 1031, // Coordinate (Double)
kDxfXdWorldXDisp = 1012, // 3D Point (OdGePoint3d)
kDxfXdWorldYDisp = 1022, // Coordinate (Double)
kDxfXdWorldZDisp = 1032, // Coordinate (Double)
kDxfXdWorldXDir = 1013, // 3D Point (OdGePoint3d)
kDxfXdWorldYDir = 1023, // Coordinate (Double)
kDxfXdWorldZDir = 1033, // Coordinate (Double)
kDxfXdReal = 1040, // Double
kDxfXdDist = 1041, // Double
kDxfXdScale = 1042, // Double
kDxfXdInteger16 = 1070, // 16-bit integer
kDxfXdInteger32 = 1071, // 32-bit integer
Group codes and their data values are programmatically organized in the dynamically linked sequence of resbuf-instances.
Example of Entering and Displaying the Group Code and Data Value for XData
Copyright © 2002 – 2021. Open Design Alliance. All rights reserved.
|