Each table below describes the full tree of one of the sch-rnd file formats, from the root.
| type:name | value | ver | description |
|---|---|---|---|
| li:cschem-buffer-v* | Buffer content (direct/indirect: same meaning as schematic sheet) | ||
| ha:obj_indirect.1 | Group of concrete objects -> | ||
| ha:obj_direct.2 | Group of concrete objects -> |
| type:name | value | ver | description |
|---|---|---|---|
| li:sch-rnd-conf-v1 | complete sch-rnd configuration tree | ||
| ha:overwrite | overwrite values while merging; children: a full or partial config tree | ||
| ha:prepend | prepend values while merging; children: a full or partial config tree | ||
| ha:append | append values while merging; children: a full or partial config tree |
| type:name | value | ver | description |
|---|---|---|---|
| ha:std_devmap.v* | Device map for plugin std_devmap | ||
| ha:comp_attribs | Attributes to be set in the abstract component | ||
| ha:attrib | a hash of attributes | ||
| simple-attrib-key | string | attribute value without metadata (text node) | |
| ha:detailed-attrib | attribute with metadata (hash node) | ||
| value | string | attribute value | |
| prio | integer | priority value |
| type:name | value | ver | description |
|---|---|---|---|
| li:cschem-group-v* | concrete group (e.g. symbol) | ||
| ha:group.1 | Group of concrete objects -> |
| type:name | value | ver | description |
|---|---|---|---|
| ha:cschem-sheet-v* | schematic sheet | ||
| ha:obj_indirect.1 | Group of concrete objects -> | ||
| ha:obj_direct.2 | Group of concrete objects -> | ||
| li:conf | complete sch-rnd configuration tree -> |
Each table below describes a subtree that usually does not specify a whole tree (thus they are usually not a valid file on their own). These subtrees are described in a separate table because they are used from multiple other trees.
| type:name | value | ver | description |
|---|---|---|---|
| ha:group.ID | Group of concrete objects | ||
| uuid | minuid | instance UID | |
| src_uuid | minuid | source UID | |
| x | coord | xform: translate placement in x (horizontal) direction | |
| y | coord | xform: translate placement in y (vertical) direction | |
| rot | angle | xform: rotate placement | |
| mirx | bool | xform: mirror placement left/right | |
| miry | bool | xform: mirror placement child up/down | |
| loclib_name | string | name in the local library (optional) | |
| li:objects | List of child objects | ||
| ha:line.ID | Drawing object: straight line -> | ||
| ha:arc.ID | Drawing object: circular arc -> | ||
| ha:polygon.ID | Drawing object: polygon -> | ||
| ha:text.ID | Drawing object: straight line -> | ||
| ha:connection.ID | Logical object: connection between different groups -> | ||
| ha:pen.NAME | Logical object: a named pen used for drawing; names are unique within a group -> | ||
| ha:attrib | a hash of attributes | ||
| simple-attrib-key | string | attribute value without metadata (text node) | |
| ha:detailed-attrib | attribute with metadata (hash node) | ||
| value | string | attribute value | |
| prio | integer | priority value |
| type:name | value | ver | description |
|---|---|---|---|
| ha:group_ref.ID | Group reference to a concrete object within the same sheet or buffer | ||
| ref | oidpath | path relative to sheet root, to the referee (should be a group) | |
| li:child_xform | List of child object transformation to be performed after placement | ||
| OIDPATH | list of transformations to be performed on referee children objects after placement; OIDPATH is relative to the referee group | ||
| movex | coord | xform: move child in x (horizontal) direction | |
| movey | coord | xform: move child in y (vertical) direction | |
| rot | angle | xform: rotate child | |
| mirx | bool | xform: mirror child left/right | |
| miry | bool | xform: mirror child up/down | |
| remove | bool | xform: mirror child up/down | |
| ha:attrib | a hash of attributes | ||
| simple-attrib-key | string | attribute value without metadata (text node) | |
| ha:detailed-attrib | attribute with metadata (hash node) | ||
| value | string | attribute value | |
| prio | integer | priority value |
| type:name | value | ver | description |
|---|---|---|---|
| ha:line.ID | Drawing object: straight line | ||
| x1 | coord | start point, x coord | |
| y1 | coord | start point, y coord | |
| x2 | coord | end point, x coord | |
| y2 | coord | end point, y coord | |
| stroke | pen | pen to use | |
| lock | bool | object is locked | |
| floater | bool | "group lock" doesn't apply |
| type:name | value | ver | description |
|---|---|---|---|
| ha:arc.ID | Drawing object: circular arc | ||
| cx | coord | center point, x coord | |
| cy | coord | center point, y coord | |
| r | coord | radius | |
| sang | angle | start angle | |
| dang | angle | delta angle | |
| sx | coord | start point, x coord | |
| sy | coord | start point, y coord | |
| ex | coord | end point, x coord | |
| ey | coord | end point, y coord | |
| stroke | pen | pen to use | |
| lock | bool | object is locked | |
| floater | bool | "group lock" doesn't apply |
| type:name | value | ver | description |
|---|---|---|---|
| ha:polygon.ID | Drawing object: polygon | ||
| li:outline | ordered list of contour objects (no gaps allowed) | ||
| ha:line.ID | Drawing object: straight line -> | ||
| ha:arc.ID | Drawing object: circular arc -> | ||
| stroke | pen | pen used for outline objects | |
| fill | pen | pen used for fill (no fill if not present) | |
| lock | bool | object is locked | |
| floater | bool | "group lock" doesn't apply |
| type:name | value | ver | description |
|---|---|---|---|
| ha:connection.ID | Logical object: connection between different groups | ||
| li:conn | list of objects participating in the connection (at least 2) | ||
| OIDPATH | oidpath | drawing object making the connection ) |
| type:name | value | ver | description |
|---|---|---|---|
| ha:text.ID | Drawing object: straight line | ||
| text | string | text string (or dyntext template) | |
| x1 | coord | lower left x coord of text box | |
| y1 | coord | lower left y coord of text box | |
| x2 | coord | upper right corner of untrasformed box; present only if text size is bbox-specified | |
| y2 | coord | upper right corner of untrasformed box; present only if text size is bbox-specified | |
| rot | angle | rotaition around x1;y1 | |
| mirx | bool | mirror origin/bbox left/right | |
| miry | bool | mirror origin/bbox up/down | |
| halign | halign | horizontal alignment | |
| dyntext | bool | if text string is a dyntext template | |
| stroke | pen | pen to use | |
| lock | bool | object is locked | |
| floater | bool | "group lock" doesn't apply |
| type:name | value | ver | description |
|---|---|---|---|
| ha:pen.NAME | Logical object: a named pen used for drawing; names are unique within a group | ||
| shape | shape | pen tip shape) | |
| size | coord | diameter or side length | |
| color | color | ink color | |
| font_height | coord | height of text font for non-bbox-defined text | |
| font_family | string | family hint for the font selector | |
| font_style | string | style hint for the font selector | |
| dash | hex4 | dash pattern | |
| dash_period | coord | dash pattern length |
| type | description |
|---|---|
| angle | A decimal number without unit, representing an angle in degree. Can be positive or negative. |
| coord | A decimal integer. |
| double | Unitless numeric value in decimal format. Depending on context it is sometimes signed. |
| integer | Unitless integer value in decimal format. Depending on context it is sometimes signed. |
| hex4 | 4 digits of hexadecimal numbers (0-9, a-f, A-F) |
| bool | Single digit boolean value: 0 means false, 1 means true. |
| pen | Name of a pen defined in a parent group. |
| halign | One of: left, center, right, word_justify, justify. |
| shape | One of: round, square. |
| color | #rrggbb |
| minuid | An unique ID as generated by libminuid (24 ASCII characters). |
| none | No value. |
| string | Free form text data |
| oidpath | A slash separated list of integer object IDs (oids). |
ver column: Format version range the subtree may appear in.