OakPDT Drawing

From Just Solve the File Format Problem
Revision as of 16:26, 17 October 2022 by Ccawley2011 (Talk | contribs)

Jump to: navigation, search
File Format
Name OakPDT Drawing
Ontology

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 corresponds to OakPDT v2.50 (17 November 1990)
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 Data type
1 Byte Pen colour
  • In v1.2 or later, the symbol is deleted if the pen colour has bit 5 set, and the lower four bits are ANDed with %1111.
2 Byte Layer number
  • In v1.0 and v1.1, the symbol is deleted if the layer number is 16.
3 Byte Line type
4 Integer Address in drawing definition
8 Integer Length in drawing definition (ignored in later versions)
Window definition
0 Double Left X coordinate
8 Double Bottom Y coordinate
16 Double Right X coordinate
24 Double Top Y coordinate
Grid information
0 Double X spacing
8 Double Y spacing
16 Double X angle
24 Double Y angle
32 Integer Grid snap
36 Integer Parametric grid snap
Text information
0 Double Text width
8 Double Text height
16 Double Butterfly limit
24 Integer Text precision
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 The symbol number of the scalar.
4 Null-terminated string The name of the scalar.
Error information
0 Integer
4 Null-terminated string
Layer information (v1.0 and v1.1)
0 Array 16 bytes containing the status of each layer.
  • If bit 0 is set then the layer is on.
  • If bit 1 is set then the layer is locked.
16 Array 16 bytes containing the default pen colour for each layer.
32 Byte The active current layer.
33 Array 10 bytes mapping each pen colour to a 16 colour palette entry.
Layer information (v1.2)
0 Array 64 bytes containing the status of each layer.
  • If bit 0 is set then the layer is on.
  • If bit 1 is set then the layer is locked.
64 Array 64 bytes containing the default pen colour for each layer.
128 Byte The active current layer.
129 Byte The active points layer.
130 Byte The active construction layer.
131 Array 10 bytes mapping each pen colour to a 16 colour palette entry.
Function table entry
0 Null-terminated string
Integer
Integer
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox