Low: flat vs. tree
- depends on the nature of the data model
- if data model is tree, best use a tree format
- ... doable with flat format, but will be painful
- most EDA data models are either a tree...
- ... of will become a tree very soon
KiCad board file (tree, s-expression):
(module sot23 (layer F.Cu) (at 110 105) (descr "SOT-23, Standard") (fp_text reference U1 (at 0 -2.5) (layer F.SilkS) hide (effects (font (size 1 1) (thickness 0.15))) ) (fp_line (start -0.7 -0.95) (end -0.7 1.5) (layer F.Fab) (width 0.1)) (fp_line (start -0.15 -1.52) (end 0.7 -1.52) (layer F.Fab) (width 0.1)) )
gEDA/PCB (mostly flat):
Layer(1 "top-sig") ( Attribute("pcb-rnd::key::vis" "<Key>l; Shift<Key>t") Attribute("pcb-rnd::key::select" "<Key>l; <Key>t") Text[50.0mil 0.0 0 100 "hello world" "clearline"] Text[25.0mil 75.0mil 0 100 "all your base" "clearline"] )
pcb-rnd lihata board (tree):
li:layers { ha:top-sig { ha:attributes { {pcb-rnd::key::vis}={l; Shift t} {pcb-rnd::key::select}={ l; t} } li:objects { ha:text.5 { string=hello world; x=50.0mil; y=0.0; scale=100; fid=0; rot = 0.000000 ha:flags { clearline=1 } } ha:text.7 { string=all your base; x=25.0mil; y=75.0mil; scale=100; fid=0; rot = 0.000000 ha:flags { clearline=1 } } } } }