OakPDT Drawing
From Just Solve the File Format Problem
(Difference between revisions)
Ccawley2011 (Talk | contribs) |
Ccawley2011 (Talk | contribs) |
||
| Line 48: | Line 48: | ||
| || Struct || Layer information | | || Struct || Layer information | ||
|- | |- | ||
| − | | || Double || Dimension scale | + | | || Double || Dimension scale (only in v1.1 or later) |
|- | |- | ||
| − | | || Integer || Number of functions (<code>n</code>) | + | | || Integer || Number of functions (<code>n</code>) (only in v1.2 or later) |
|- | |- | ||
| − | | || Array || <code>n</code> function table entries | + | | || Array || <code>n</code> function table entries (only in v1.2 or later) |
|- | |- | ||
! colspan="3" | Symbol table entry | ! colspan="3" | Symbol table entry | ||
| Line 142: | Line 142: | ||
| 4 || Null-terminated string || | | 4 || Null-terminated string || | ||
|- | |- | ||
| − | ! colspan="3" | Layer information | + | ! colspan="3" | Layer information (v1.0 and v1.1) |
| + | |- | ||
| + | | 0 || Array || 16 bytes | ||
| + | |- | ||
| + | | 16 || Array || 16 bytes | ||
| + | |- | ||
| + | | 32 || Byte || | ||
| + | |- | ||
| + | | 33 || Array || 10 bytes | ||
| + | |- | ||
| + | ! colspan="3" | Layer information (v1.2) | ||
|- | |- | ||
| 0 || Array || 64 bytes | | 0 || Array || 64 bytes | ||
| Line 158: | Line 168: | ||
! colspan="3" | Function table entry | ! colspan="3" | Function table entry | ||
|- | |- | ||
| − | | 0 || Null-terminated string|| | + | | 0 || Null-terminated string || |
|- | |- | ||
| || Integer || | | || Integer || | ||
Revision as of 08:42, 12 October 2022
Overview
OakPDT is a 2D parametric CAD system for RISC OS. On RISC OS systems, files in this format typically have a filetype of CAD ("PDT Dwg").
Format details
| File Header | ||
|---|---|---|
| 0 | Byte | Major version number of the file format (always 1) |
| 1 | Byte | Minor version number of the format
|
| 2 | Null-terminated string | The_Design_System or Oak_P_D_T_Drawing
|
| 20 | Integer | Number of symbols (s)
|
| 24 | Array | s symbol table entries
|
| Integer | Size of drawing definition (v)
| |
| Array | v bytes
| |
| Byte | Paper size | |
| Struct | Window definition | |
| Struct | Grid information | |
| Struct | Text information | |
| Struct | Dimension information | |
| Struct | Line style information | |
| Integer | Number of scalars (n)
| |
| Array | n scalar table entries
| |
| Struct | Error information | |
| Struct | Layer information | |
| Double | Dimension scale (only in v1.1 or later) | |
| Integer | Number of functions (n) (only in v1.2 or later)
| |
| Array | n function table entries (only in v1.2 or later)
| |
| Symbol table entry | ||
| 0 | Byte | |
| 1 | Byte | |
| 2 | Byte | |
| 3 | Byte | |
| 4 | Integer | |
| 8 | Integer | |
| Window definition | ||
| 0 | Double | |
| 8 | Double | |
| 16 | Double | |
| 24 | Double | |
| Grid information | ||
| 0 | Double | |
| 8 | Double | |
| 16 | Double | |
| 24 | Double | |
| 32 | Integer | |
| 36 | Integer | |
| Text information | ||
| 0 | Double | |
| 8 | Double | |
| 16 | Double | |
| 24 | Integer | |
| Dimension information | ||
| 0 | Double | |
| 8 | Double | |
| 16 | Double | |
| 24 | Double | |
| 32 | Integer | |
| 36 | Integer | |
| 40 | Integer | |
| 44 | Integer | |
| Line style information | ||
| 0 | Integer | |
| 4 | Integer | |
| 8 | Integer | |
| 12 | Integer | |
| Scalar table entry | ||
| 0 | Integer | |
| 4 | Null-terminated string | |
| Error information | ||
| 0 | Integer | |
| 4 | Null-terminated string | |
| Layer information (v1.0 and v1.1) | ||
| 0 | Array | 16 bytes |
| 16 | Array | 16 bytes |
| 32 | Byte | |
| 33 | Array | 10 bytes |
| Layer information (v1.2) | ||
| 0 | Array | 64 bytes |
| 64 | Array | 64 bytes |
| 128 | Byte | |
| 129 | Byte | |
| 130 | Byte | |
| 131 | Array | 10 bytes |
| Function table entry | ||
| 0 | Null-terminated string | |
| Integer | ||
| Integer | ||