diff options
Diffstat (limited to 'convert.sh')
-rwxr-xr-x | convert.sh | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/convert.sh b/convert.sh new file mode 100755 index 0000000..b05f705 --- /dev/null +++ b/convert.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# +# This script runs the conversion from Altium to KiCad. It expects the +# Altium project in ../../../hardware/cad/rev03/ and the altium2kicad +# source in ../altium2kicad +# + +set -e + +altiumdir="rev03-Altium" +kicaddir="rev03-KiCad" + +test -d altium2kicad || git clone https://github.com/thesourcerer8/altium2kicad + +rm -rf ${altiumdir} +cp -rp ../../../hardware/cad/rev03/ ${altiumdir} + +cd ${altiumdir} + +# make sheet numbers in filenames two digits to have them sort properly +rename 's/rev02_/rev02_0/' rev02_?.* + +../altium2kicad/unpack.pl +../altium2kicad/convertschema.pl +../altium2kicad/convertpcb.pl + +cd .. + +rm -rf "${kicaddir}" +mkdir "${kicaddir}" +cp ${altiumdir}/*.{sch,lib} "${kicaddir}"/ +cp ${altiumdir}/CrypTech-PcbDoc.kicad_pcb "${kicaddir}/Cryptech Alpha.kicad_pcb" +cp "Cryptech Alpha.pro.template" "${kicaddir}/Cryptech Alpha.pro" +cp "Cryptech Alpha.sch.template" "${kicaddir}/Cryptech Alpha.sch" + +# Change to more sensible filenames +cd "${kicaddir}" +rename 's/-SchDoc//' rev02_* +sed -i -e 's/-SchDoc//g' * + +# Sheet number fixups. This hides all the hierarchical sub-sheets from the project view. +num_sheets=$(ls Cryptech\ Alpha.sch rev02*sch | wc -l) +num=1 +ls Cryptech\ Alpha.sch rev02*sch | while read file; do + sed -i -e "s/^Sheet .*/Sheet ${num} ${num_sheets}/g" "${file}" + num=$[$num + 1] +done + +echo "" +echo "Done. The leftovers from conversion is in ${altiumdir}, and you can start KiCad like this:" +echo "" +echo " kicad \"${kicaddir}/Cryptech Alpha.pro\"" +echo "" |