mirror of
git://projects.qi-hardware.com/eda-tools.git
synced 2025-04-21 12:27:27 +03:00
rename sch2fig to eeshow
This commit is contained in:
92
eeshow/sch2pdf
Executable file
92
eeshow/sch2pdf
Executable file
@@ -0,0 +1,92 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# sch2pdf - Generate PDF from schematics, using eeshow
|
||||
#
|
||||
# Written 2016 by Werner Almesberger
|
||||
# Copyright 2016 by Werner Almesberger
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
|
||||
#
|
||||
# Known bugs:
|
||||
# - expects first sheet to be index page
|
||||
# - only renders sub-sheets
|
||||
# - has all the limitations of eeshow (see TODO)
|
||||
#
|
||||
|
||||
|
||||
usage()
|
||||
{
|
||||
cat <<EOF 1>&2
|
||||
usage: $0 [-n first_num] [-o output.pdf] [-q] [-t template.fig ]
|
||||
file.lib ... file.sch
|
||||
EOF
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
out=out.pdf
|
||||
quiet=false
|
||||
template=
|
||||
num=1
|
||||
while [ "$1" ]; do
|
||||
case "$1" in
|
||||
-n) num=$2
|
||||
shift 2;;
|
||||
-o) out=$2
|
||||
shift 2;;
|
||||
-q) quiet=true
|
||||
shift;;
|
||||
-t) template="-t $2"
|
||||
shift 2;;
|
||||
-*) usage;;
|
||||
*) break;;
|
||||
esac
|
||||
done
|
||||
|
||||
[ "$1" ] || usage
|
||||
|
||||
libs=
|
||||
while [ "$2" ]; do
|
||||
libs="$libs $1"
|
||||
shift
|
||||
done
|
||||
|
||||
./eeshow $libs "$1" \
|
||||
-- fig $template "TITLE=`basename \"$1\" .sch`" NUMBER=$num |
|
||||
fig2dev -L pdf >"$out"
|
||||
|
||||
sheet=false
|
||||
while read line; do
|
||||
if ! $sheet; then
|
||||
[ "${line#\$Sheet}" != "$line" ] && sheet=true
|
||||
continue
|
||||
else
|
||||
if [ "${line#\$EndSheet}" != "$line" ]; then
|
||||
sheet=false
|
||||
continue
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "${line#F0 \"}" != "$line" ]; then
|
||||
name=${line#F0 \"}
|
||||
name=${name%%\"*}
|
||||
fi
|
||||
[ "${line#F1 \"}" = "$line" ] && continue
|
||||
file=${line#F1 \"}
|
||||
file=${file%%\"*}
|
||||
|
||||
num=`expr $num + 1`
|
||||
|
||||
$quiet || echo "$file" 1>&2
|
||||
./eeshow $libs `dirname "$1"`/$file \
|
||||
-- fig $template "TITLE=$name" NUMBER=$num |
|
||||
fig2dev -L pdf >_tmp.pdf
|
||||
pdfunite "$out" _tmp.pdf _tmp2.pdf
|
||||
mv _tmp2.pdf "$out"
|
||||
done <"$1"
|
||||
exit
|
||||
Reference in New Issue
Block a user