The layout file describes a complete layout including symbols, vias, elements and layers with lines, rectangles and text. This is the most complex file of all.
File = Header Font PCBData Header = PCBName [GridData] [CursorData] [PCBFlags] [Groups] PCBName = "PCB(" Name Width Height ")" GridData = "Grid(" Grid GridOffsetX GridOffsetY ")" CursorData = "Cursor(" X Y zoom ")" PCBFlags = "Flags(" Flags ")" Groups = "Groups(" GroupString ")" Styles = "Styles(" StyleString ")" Font = {FontData}... FontData = {Symbol}... Symbol = "Symbol(" SymbolID Spacing ")" "(" {SymbolData}... ")" SymbolData = {SymbolLine}... SymbolLine = "SymbolLine(" X1 Y1 X2 Y2 Thickness ")" PCBData = {Via | Layer | Element}... Via = "Via(" X Y Thickness DrillingHole Name Flags ")" Element = "Element(" Flags Description LayoutName Value \ TextX TextY direction scale TextFlags")" "(" {ElementData}... [Mark] ")" ElementData = {ElementLine | Pad | Pin | ElementArc }... ElementArc = "ElementArc(" X Y Width Height StartAngle DeltaAngle Thickness ")" ElementLine = "ElementLine(" X1 Y1 X2 Y2 Thickness ")" Mark = "Mark(" X Y ")" Pad = "Pad(" X1 Y1 X2 Y2 Thickness Name PinNumber Flags")" Pin = "Pin(" X Y Thickness DrillingHole Name PinNumber Flags ")" Layer = "Layer(" LayerNumber Name ")" "(" {LayerData}... ")" LayerData = {Line | Polygon | Text}... Line = "Line(" X1 Y1 X2 Y2 Thickness Flags")" Arc = "Arc(" X Y Width Height StartAngle DeltaAngle Thickness Flags")" Polygon = "Polygon(" Flags ")" \ "(" {Points}... ")" Points = "(" X Y ")" Text = "Text(" X Y direction scale TextData Flags")"
PCBName
GridData
CursorData
PCBFlags
bit 4: do rubberband moves and rotates if set bit 5: display description of elements if set bit 6: display unique name of an element if set bit 7: use absolute grid if set bit 8: don't clip lines to 45 degrees
Groups
Symbol
Via
bit 0: always clear bit 1: always set bit 2: set if via was found during a connection search bit 4: set if via is a hole (has no copper annulus) bit 5: display the vias name bit 6: via has been selected bit 12: set if via has octagonal shape Other bits have special meaning and should not be changed by the user. See const.h for more information
Element
Layer
Line
bit 2: set if line was found during a connection search bit 4: line is a rat-line bit 6: line has been selected
Polygon
copper
. The coordinates specify the
corners. The flags are:
bit 2: set if polygon was found during a connection search bit 4: polygon is a 1.5 style polygon that automatically clears pins bit 6: polygon has been selected
Text
bit 6: the text has been selected bit 7: the text is on the solder (back) side of the board bit 10: the text is on the silkscreen layer