#!/bin/sh
# @(#)drmeta	1.3 of 8/22/94
#
# ruft abhaengig vom Format des Metafiles (Endungen mt0-mt5) den entsprechenden
# Meta2Treiber  (CONVA?)  mit den dazugehoerigen Parametern  (PARA?)  auf  und
# schickt das Ergebnis an das angegebene Ausgabegeraet  (QA?) .
#
# Beachten Sie bitte, dass bei Zeichnungen mit Zeichnungsrahmen nach DIN der
# Zeichnungsrand fuer das entsprechende DIN-Format  n i c h t  am Drucker aus-
# gegeben werden koennte. Aus diesem Grund vergibt  SISCAD-P fuer solche
# Zeichnungen die Endung des naechstgroesseren Formats.
# [d.h. Zeichnungen mit DIN A4 Zeichnungsrahmen erhalten die Endung mt3 ]
#



#--------------- Beginn der veraenderlichen Parameter -------------------

# Achtung: hier wird spezielle Umgebung mit CalComp CCL600 an PSDRUCKER
#          und HPGL an PLOTTER erwartet.
#          Durch einfache Aenderungen kann dieses Script aber auch fuer andere
#          Umgebungen angepasst werden !!
#

CONVA="/met2hpgl"
PARA="-NoColors -NoOptimize"
QA=PLOTTER

CONVA0="/met2hpgl"
PARA0="-NoColors -NoOptimize"
QA0=PLOTTER

CONVA1="/met2hpgl"
PARA1="-NoColors -NoOptimize"
QA1=PLOTTER

# CalComp CCL600 A3
#-----------------------
CONVA2="/met2ps"
PARA2="-d2 -TrayUnten -SetTrayUnten=A3 -FitA4"
QA2=PSDRUCKER

# CalComp CCL600 A4 
#-----------------------
CONVA3="/met2ps"
PARA3="-d1 -TrayOben -SetTrayOben=A4 -FitA4"
QA3=PSDRUCKER

# CalComp CCL600 A4 
#-----------------------
CONVA4="/met2ps"
PARA4="-d1 -TrayOben -SetTrayOben=A4 -FitA4"
QA4=PSDRUCKER

# CalComp CCL600 A4 
#-----------------------
CONVA5="/met2ps"
PARA5="-d1 -TrayOben -SetTrayOben=A4 -FitA4"
QA5=PSDRUCKER

#---------------- Ende der veraenderlichen Parameter -------------------





usage()
{
cat <<END

Aufruf: $0  SIS-Metafile

Ruft abhaengig vom Format des SIS-Metafiles  (Endungen mt1-mt5)  den 
entsprechenden Treiber auf und schickt das Ergebnis an das jeweilige
Ausgabegeraet.

> DIN A0 Treiber: ${CONVA} ${PARA}	-> ${QA} 
  DIN A0 Treiber: ${CONVA0} ${PARA0}	-> ${QA0} 
  DIN A1 Treiber: ${CONVA1} ${PARA1}	-> ${QA1} 
  DIN A2 Treiber: ${CONVA2} ${PARA2}	-> ${QA2} 
  DIN A3 Treiber: ${CONVA3} ${PARA3}	-> ${QA3} 
  DIN A4 Treiber: ${CONVA4} ${PARA4}	-> ${QA4} 
  DIN A5 Treiber: ${CONVA5} ${PARA5}	-> ${QA5} 

END
}


DEBUG=0

if [ ${DEBUG} = 1 ]
then
  echo "$0: Ausgabe der Uebergabeparameter"
  echo "+---------------------------------------------------------+"
  i=0
  for parameter in $*
  do
    i=`expr ${i} + 1`
    echo "Parameter ${i}: >${parameter}<"
  done
  echo "+---------------------------------------------------------+"
  echo ""
fi

if [ $# -eq 1 ]
then
  PAR1=$1
  if [ -f ${PAR1} ]
  then
    MetaFileName=${PAR1}
  else
    echo "$0: Fehlerhafter Parameter ${PAR1}"
    usage
    exit 2
  fi
else
  usage
  exit 2
fi

EXT=`echo "${MetaFileName}" | awk -F. '{print $NF}'`
case ${EXT} in   
    mt  ) MET2NAME="${CONVA}"
          PRINTER=${QA}
          METPAR=${PARA}
          ;;
    mt0 ) MET2NAME="${CONVA0}"
          PRINTER=${QA0}
          METPAR=${PARA0}
          ;;
    mt1 ) MET2NAME="${CONVA1}"
          PRINTER=${QA1}
          METPAR=${PARA1}
          ;;
    mt2 ) MET2NAME="${CONVA2}"
          PRINTER=${QA2}
          METPAR=${PARA2}
          ;;
    mt3 ) MET2NAME="${CONVA3}"
          PRINTER=${QA3}
          METPAR=${PARA3}
          ;;
    mt4 ) MET2NAME="${CONVA4}"
          PRINTER=${QA4}
          METPAR=${PARA4}
          ;;
    mt5 ) MET2NAME="${CONVA5}"
          PRINTER=${QA5}
          METPAR=${PARA5}
          ;;
    *   ) echo "$0: Unbekanntes Format des SIS-Metafiles ${MetaFileName}"
          exit 2
          ;;
esac
MET2EXT=`echo ${MET2NAME} |\
                            awk '{
                                  if ( index($0,"/met2") != 0 )
                                     printf "%s",substr($0,6,length($0))
                                 }'`
MET2NAME="${cadexe}${MET2NAME}"

if [ ${DEBUG} = 1 ]
then
  echo "$0: Auswerten der Uebergabeparameter"
  echo "+---------------------------------------------------------+"
  echo "MET2NAME      : >${MET2NAME}<"
  echo "METPAR        : >${METPAR}<"
  echo "PRINTER       : >${PRINTER}<"
  echo "MetaFileName  : >${MetaFileName}<"
  echo "MET2EXT       : >${MET2EXT}<"
fi

exit_status=0
MET2FileName="`basename ${MetaFileName} |\
                            awk -F\. '{
                                       for ( i=1 ; i<NF ; ++i )
                                         printf "%s",$i
                                      }'`.${MET2EXT}"
CMD1="${MET2NAME} ${MetaFileName} ${MET2FileName} ${METPAR}"
if [ ${DEBUG} = 1 ]
then
  echo "MET2FileName  : >${MET2FileName}<"
  echo "Aufruf zum Erstellen : ${CMD1}"
fi
if ${CMD1}
then
  if [ "${PRINTER}" != "" ]
  then
    CMD2="${cadexe}/sislpr ${PRINTER} ${MET2FileName}"
    if [ ${DEBUG} = 1 ]
    then
      echo "Aufruf zum Drucken   : ${CMD2}"
    fi
    if ${CMD2}
    then
      rm -f ${MetaFileName}
    else
      echo "$0: Fehler beim Drucken der Datei ${MET2FileName}"
      exit_status=2
    fi
  fi
else
  echo "$0: Fehler beim Erstellen der Datei ${MET2FileName}"
  exit_status=2
fi

if [ ${DEBUG} = 1 ]
then
  echo "+---------------------------------------------------------+"
fi

exit ${exit_status}
