Index: util/fp2anim =================================================================== --- util/fp2anim (revision 455) +++ util/fp2anim (revision 456) @@ -57,6 +57,17 @@ marg=100000 } +function directive(term ,tmp) +{ + while(!($0 ~ term "[ \t]*$")) { + if ((getline tmp) < 1) { + print "Premature end of file looking for " term " of " $1 > "/dev/stderr" + exit 1 + } + $0 = $0 " " tmp + } + print "directive: |" term "|" $0 "|" > "/dev/stderr" +} function edges(x, y) { @@ -207,6 +218,7 @@ /^[ \t]*#/ { next } /ElementLine[[]/ { + directive("]") sub(".*ElementLine[[]", "", $0) sub("]$", "", $0) @@ -218,6 +230,7 @@ } /ElementLine[(]/ { + directive(")") sub(".*ElementLine[(]", "", $0) sub(")$", "", $0) @@ -231,6 +244,7 @@ /ElementArc[[]/ { + directive("]") sub(".*ElementArc[[]", "", $0) sub("]$", "", $0) @@ -243,6 +257,7 @@ # ElementArc(0 0 59 59 45 90 10) /ElementArc[(]/ { + directive(")") sub(".*ElementArc[(]", "", $0) sub(")$", "", $0) @@ -256,6 +271,7 @@ # Pin[0 0 8000 5000 8600 3937 "" "1" "square"] /Pin[[]/ { + directive("]") sub(".*Pin[[]", "", $0) sub("]$", "", $0) hole($1, $2, $3, $4, $5, $6, $8, ($9 ~ "square")) @@ -263,6 +279,7 @@ # Pin(300 800 90 60 "3" 0x01) /Pin[(]/ { + directive(")") sub(".*Pin[(]", "", $0) sub("]$", "", $0) hole($1*100, $2*100, $3*100, $4*100, 3000, 2000, $5, ($6 ~ "0x10")) @@ -270,6 +287,7 @@ # Pad[ 0 0 0 0 0 5000 8600 "" "4" ""] /Pad[[]/ { + directive("]") sub(".*Pad[[]", "", $0) sub("]$", "", $0) @@ -276,7 +294,15 @@ pad($1, $2, $3, $4, $5, $6, $7, $9, 1) } +/Pad[(]/ { + directive(")") + sub(".*Pad[(]", "", $0) + sub(")$", "", $0) + pad($1*100, $2*100, $3*100, $4*100, $5*100, $6*100, $7*100, $9, 1) +} + + function layer_3d(name, color, offs) { if ((offs == "") || (offs == 1))