OCAD 11 Dateiformat
This is a description of the file format of OCAD 11 files.
Be aware that this is an internal format and may change in future versions.
Data types used
OCAD is written in 32-bit Delphi and this description uses the names for the data types as they appear in Delphi. However the same data types are available in other development systems like C++.
Integer 32-bit signed integer SmallInt 16-bit signed integer Word 16-bit unsigned integer WordBool 16-bit boolean String[x] Pascal-style string. The first byte contains the number of characters followed
by the characters. The string is not zero-terminated. The maximum number of characters is x. It occupies x + 1 bytes in the file.
Double 64-bit floating point number TDPoly A special data type (64-bit) used for all coordinates and text.
It is defined as
TDPoly = record x, y: integer; end;
The lowest 8 Bits are used to mark special points: Marks for the x-coordinate: 1: this point is the first bezier curve point 2: this point is the second bezier curve point 4: for double lines: there is no left line between this point and the next point 8: this point is a area border line or a virtual line gap Marks for y-coordinate: 1: this point is a corner point 2: this point is the first point of a hole in an area 4: for double lines: there is no right line between this point and the next point 8: this point is a dash point The upper 24 bits contain the coordinate value measured in units of 0.01 mm.
Note: all file positions are in bytes starting from the beginning of the file.