All coords are in mils (1/1000 or an inch).
Origin is in lower left hand corner.
Files should end in either .sch or .sym
^ ^ | | | y | +--------> 0,0 x->Origin in the lower left hand corner. X increases going to the right. Y increase going up. Coordinate system is landscape and corresponds to a sheet of paper turned on its side.
The object type letter must start in the first column. Schematic/Symbol files are case sensitive.
type versionnumber
Example:
v 19990327
This flag must be in EVERY file used by the gEDA tools. The version number is not a timestamp.
type x y selectable angle mirror basename
Example:
C 18600 19900 1 0 0 7400-1.sym
type x y color size visibility show_name_value angle alignment
string
Example:
T 16900 35800 3 10 1 0 0 0
I'm a string!
2 -- 5 -- 8 | | | 1 -- 4 -- 7 | | | 0 -- 3 -- 6string = text string
type x1 y1 x2 y2 color
Examples:
N 12700 29400 32900 29400 4
P 17800 33100 22300 33100 1
U 27300 37400 37200 35300 3
type x1 y1 x2 y2 color width end type length space
Example:
L 23000 69000 28000 69000 3 40 0 1 -1 75
type x y radius start_angle sweep_angle color width end type length space
Example:
30600 75000 2000 0 45 3 0 0 3 75 50
type x y width height color width end type length space filling fillwidth angle1 pitch1 angle2 pitch2
Example:
B 33000 67300 2000 2000 3 60 0 2 75 50 0 -1 -1 -1 -1 -1
Example:
V 38000 67000 900 3 0 0 2 75 50 0 -1 -1 -1 -1 -1
type x y width height color width end type length space filling fillwidth angle1 pitch1 angle2 pitch2
Example:
F A 29
type character width [optional_flag]
This is a special tag and should ONLY show up in font definition files. The space character is special and is defined as follows:
F _ 11 1
The last one signifies that this definition is the space character.
Attributes are enclosed in { } and can only be text. Attributes are text items which take on the form name=value. If it doesn't have name=value it's not an attribute. Attributes are attached to the previous object. Here's an example:
P 988 500 1300 500 1
{
T 1000 550 5 8 1 1 0
pin3=3
}
The object is a pin which has an attribute pin3=3 (name=value). You can have multiple text objects (both the T ... and text string are required) in between the { }
You can also have "toplevel" attributes. These attributes are not attached to any object, but instead are just text objects that take on the form name=value. These attributes are useful when you need to convey some info about a schematic page and need the netlister to have access to this info.
Embedded objects take on the following form:
C 18600 21500 1 0 0 EMBEDDED555-1.sym
[
...
... Embedded primitive objects
...
]
Where the basename is EMBEDDEDcomponent_name.sym In the example above 555-1.sym is the basename. The EMBEDDED tag and the [ ] are the distinguishing characteristics of embedded components. component_name.sym must exist in one of the specified component-libraries if you want to unembed a component.
Currently, nets and other components should NOT be inside components.
gschem and friends do not like bad schematic/symbol files. A lot of work has gone into making gschem and friends read invalid files, but there are some cases were gschem may exit abruptly (core dump).