Laserkaiverrin

5Wiki
Versioiden väliset erot
Loikkaa: valikkoon, hakuun
(CUPS-tulostus kaivertimelle)
(Plot-skripti ja muu säätö)
(Näytettyjen versioiden välissä on yksi muokkaus.)
Rivi 69: Rivi 69:
  
 
lpr -H 192.168.42.33 -P Laser tiedosto.hpgl
 
lpr -H 192.168.42.33 -P Laser tiedosto.hpgl
 +
 +
=== Plot-skripti ja muu säätö ===
 +
 +
<nowiki>
 +
#!/bin/bash
 +
#
 +
# /usr/lib/cups/backend/plot
 +
#
 +
# (c) D. Czechowski 2010
 +
#
 +
# Based on email dated June 2003 to printing.cups.devel
 +
# (c) Kurt Pfeifle, Danka Deutschland GmbH
 +
# [ this is not really a copyright ; - ) Use and modify freely as you like,
 +
# but don't complain to me...]
 +
#
 +
# 2012 kengu
 +
# mods for 5wlaser
 +
 +
 +
JOBID=$1
 +
USER=$2
 +
TITLE=$3
 +
COPIES=$4
 +
OPTIONS=$5
 +
PID=$$
 +
FILE=$6
 +
 +
# if there are no arguments: print the accepted URI
 +
if [ $# -eq 0 ]; then
 +
echo "direct plot "Unknown" "Send print job as HPGL to port specified in device-
 +
URI""
 +
exit 0
 +
fi
 +
# in case of wrong number of arguments: print usage hint
 +
if [ $# -ne 5 -a $# -ne 6 ]; then
 +
echo ""
 +
echo "Usage: plot job-id user title copies options [file]"
 +
echo " example for device-URI: 'plot:/dev/port'"
 +
echo "(this converts the printfile to HPGL then sends outputs it to specified device file)"
 +
echo ""
 +
echo "Install a printqueue with 'lpadmin -p -v plot:/ -E"
 +
echo ""
 +
exit 1
 +
fi
 +
 +
# get location of plotter port from device URI
 +
# establish temp file for converting
 +
PLOTTER=${DEVICE_URI#plot:}
 +
TMPFILE="/tmp/plot-"`date +%Y%m%d%H%M%S`
 +
 +
# but check "accepting" status first...
 +
GREPSTRING="not accepting" ;
 +
if lpstat -a $PLOTTER | grep "$GREPSTRING" &> /dev/null ; then
 +
echo "ERROR: printer $PLOTTER not accepting jobs"
 +
exit 1
 +
fi
 +
 +
# check temp file status second...
 +
GREPSTRING="not accepting" ;
 +
if lpstat -a $TMPFILE | grep "$GREPSTRING" &> /dev/null ; then
 +
echo "ERROR: printer $TMPFILE not accepting jobs"
 +
exit 1
 +
fi
 +
 +
# output the postscript data
 +
cat $FILE > $TMPFILE".ps"
 +
 +
#sed -e 's/Orientation: Landscape/Orientation: Portrait/' $TMPFILE".ps2" | sed -e 's/ViewingOrientation: 0 1 -1 0/ViewingOrientation: 1 0 0 1/' > $TMPFILE".ps"
 +
 +
# convert postscript file to hpgl and distill it
 +
 +
/usr/bin/pstoedit -rotate 270 -xshift -250 -yshift 30 -xscale 1.42 -yscale 1.42 -f "hpgl" $TMPFILE".ps" $TMPFILE".hpgl"
 +
#/usr/bin/pstoedit -f hpgl $TMPFILE".ps" $TMPFILE".hpgl"
 +
/usr/local/bin/hpgl-distiller -i $TMPFILE".hpgl" -o $TMPFILE".hpgl2"
 +
 +
# output HPGL file
 +
echo "VS1" > $PLOTTER
 +
cat $TMPFILE".hpgl2" > $PLOTTER
 +
 +
# remove temp files
 +
#rm $TMPFILE".ps" $TMPFILE".hpgl" $TMPFILE".hpgl2"
 +
 +
exit 0</nowiki>
 +
 +
'''/etc/cups/printers.conf''':
 +
<nowiki>
 +
# Printer configuration file for CUPS v1.4.4
 +
# Written by cupsd
 +
# DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING
 +
<Printer Laser>
 +
Info Laser
 +
MakeModel Foo 5w Laserkaiverrin, 1.0
 +
DeviceURI plot:/dev/lp0
 +
State Idle
 +
StateTime 1353803245
 +
Type 8392772
 +
Filter application/vnd.cups-raw 0 -
 +
Filter application/vnd.cups-command 0 commandtops
 +
Filter application/vnd.cups-postscript 0 -
 +
Accepting Yes
 +
Shared Yes
 +
JobSheets none none
 +
QuotaPeriod 0
 +
PageLimit 0
 +
KLimit 0
 +
OpPolicy default
 +
ErrorPolicy stop-printer
 +
</Printer>
 +
</nowiki>

Versio 10. toukokuuta 2013 kello 15.21


Lasekaiverrin
Aloitettu: 2011
Tyyppi: Työkalu
Tekijät: kengu
Tila Toimii

Sisällysluettelo

Esivalmistelut

Varmista ennen käyttöä että:

1. Pumppu käy ja vesi kiertää (päälle jakorasian katkaisimesta kaivertimen oikealla puolella)

2. Poistoilmatuuletin pyörii.

3. Ettei leikattava materiaali ole "kiellettyjen listalla", mm. vinyyli, pvc, hiilikuitu tai mikään missä on klooria.

Muuta huomioitavaa

Älä katso sädettä, käytä laserissa olevaa kameraa työn seuraamista varten.

Laita laserin virta pois päältä - "Enable Laser" nappi ylhäällä aina kun pidät suojaa auki.

Kiinnittäessäsi/irrottaessasi kappaletta kaivertimen telineestä purista pidin auki. "kahvasta" ei saa vetää koska kelkan liukurullat vahingoittuvat.

Bittikarttojen kaiverrus

Käytä "Yzwin" ohjelmistoa.

CUPS-tulostus kaivertimelle

Kaivertimeen on kytketty kaiverrustulostuspalvelin. Kyseinen läppärinraato sijaitsee kaivertimen päällä ja on kytketty erilliseen näyttöön, näppäimistöön ja verkkoon. Läppäri käynnistyy automaattisesti kytkettäessä päävirta laserkaiverrin-jatkojohdosta.

Mikäli läppäri ei jostain syystä käynnisty, käynnistetään läppärin alkuperäisestä virtakytkimestä, joka sijaitsee lähes irrallisella piirilevyllä läppärin päällä. Nappi on kauimmainen nappi yhdistävästä liittimestä katsottuna. Viereen pitäisi syttyä sininen led.

Koneen ollessa käynnissä laserkaivertimelle voi tulostaa Generic Postscriptiä ainakin Mircosoft Publisher (imaging) jotain ajurilla.

Tulostin löytyy tällä hetkellä osoitteesta https://192.168.42.33:631/printers/Laser

Tulostettaessa kaivertimelle kannattaa ilmeisesti käyttää custom-paperikokoa ja määritellä kooksi 120x70mm

Ainakin Inkscapen kanssa on hieman ongelmia, kun inkscape havaitsee paperin olevan leveämpi kuin korkea ja määrittelee paperin Landscapeksi. Tulostaessa tuo sitten kääntyy 90 astetta. Tällä hetkellä ongelma on korjattu tulostinpalvelimelta kiertämällä kuvaa vielä 270 astetta lisää. Tuo vaatii vielä lisää perehtymistä, koska lienee jossain määrin ohjelma- tai käyttöjärjestelmäkohtaista.

Tuloste osuu parin millin tarkkuudella työstöalueelle tällä hetkellä.

Tulostettavien tiedostojen on oltava viivamuotoisia vektoritiedostoja. Tekstit eivät tulostu, ellei niitä ole ensin muunnettu poluiksi (Object to path).

Jos alat tulostamaan etänä jotain infernaalista kuten testisivua, etkä saa tulostustoimintaa loppumaan, niin loggaa roottina sisään ja tapa prosessi: cat /tmp/plot-xxxxxxxx.hpgl2

CUPS-säätö

Tulostuspalvelimella postscript-tiedosto käsitellään /usr/lib/cups/backend/plot -skriptillä, joka tällä hetkellä kääntää kuvan, kohdistaa kuvan ja muuntaa ps:n hpgl-komennoiksi.

Ongelmanratkaisua

Kaiverrin junnaa nurkassa pienellä alueella

Mikäli tulostus tuntuu muuten toimivan hyvin, mutta kaiverrin liikuttaa työstökappaletta ainoastaan muutaman millin liikealueella jossain nurkassa ja kuvittelee kaivertavansa ihan oikein on tulostimelle mennyt out of range eli siis työstöalueen ulkopuolisiin koordinaatteihin viittaava hpgl-tiedosto.

  • Työasemassa määritelty paperikoko väärin. Parhaiten toimii custom kokoisella 120mm * 70mm paperilla, joka on samalla työstöalueen koko
  • Työaseman ps-tulostinajuri ei tarjoa plot-skriptin tarjoamaa postscriptiä, kokeile vaihtoehtoista ps-ajuria

Periaatteessa kaiverruspalvelimen asetuksissakin voi olla jotain vialla, mutta tuo ei varsinaisesti sisällä mitään säädettäviä muuttujia.

Tulostus komentoriviltä

Kun olet lisännyt tulostimen koneeseen (onnistuu ihan kivasti normityökaluilla), voit tulostaa mitä tahansa kaivertimelle sanomalla:

lpr -H 192.168.42.33 -P Laser tiedosto.hpgl

Plot-skripti ja muu säätö

#!/bin/bash
#
# /usr/lib/cups/backend/plot
#
# (c) D. Czechowski 2010
#
# Based on email dated June 2003 to printing.cups.devel
# (c) Kurt Pfeifle, Danka Deutschland GmbH
# [ this is not really a copyright ; - ) Use and modify freely as you like,
# but don't complain to me...]
#
# 2012 kengu
# mods for 5wlaser


JOBID=$1
USER=$2
TITLE=$3
COPIES=$4
OPTIONS=$5
PID=$$
FILE=$6

# if there are no arguments: print the accepted URI
if [ $# -eq 0 ]; then
echo "direct plot "Unknown" "Send print job as HPGL to port specified in device-
URI""
exit 0
fi
# in case of wrong number of arguments: print usage hint
if [ $# -ne 5 -a $# -ne 6 ]; then
echo ""
echo "Usage: plot job-id user title copies options [file]"
echo " example for device-URI: 'plot:/dev/port'"
echo "(this converts the printfile to HPGL then sends outputs it to specified device file)"
echo ""
echo "Install a printqueue with 'lpadmin -p -v plot:/ -E"
echo ""
exit 1
fi

# get location of plotter port from device URI
# establish temp file for converting
PLOTTER=${DEVICE_URI#plot:}
TMPFILE="/tmp/plot-"`date +%Y%m%d%H%M%S`

# but check "accepting" status first...
GREPSTRING="not accepting" ;
if lpstat -a $PLOTTER | grep "$GREPSTRING" &> /dev/null ; then
echo "ERROR: printer $PLOTTER not accepting jobs"
exit 1
fi

# check temp file status second...
GREPSTRING="not accepting" ;
if lpstat -a $TMPFILE | grep "$GREPSTRING" &> /dev/null ; then
echo "ERROR: printer $TMPFILE not accepting jobs"
exit 1
fi

# output the postscript data
cat $FILE > $TMPFILE".ps"

#sed -e 's/Orientation: Landscape/Orientation: Portrait/' $TMPFILE".ps2" | sed -e 's/ViewingOrientation: 0 1 -1 0/ViewingOrientation: 1 0 0 1/' > $TMPFILE".ps"

# convert postscript file to hpgl and distill it

/usr/bin/pstoedit -rotate 270 -xshift -250 -yshift 30 -xscale 1.42 -yscale 1.42 -f "hpgl" $TMPFILE".ps" $TMPFILE".hpgl"
#/usr/bin/pstoedit -f hpgl $TMPFILE".ps" $TMPFILE".hpgl"
/usr/local/bin/hpgl-distiller -i $TMPFILE".hpgl" -o $TMPFILE".hpgl2"

# output HPGL file
echo "VS1" > $PLOTTER
cat $TMPFILE".hpgl2" > $PLOTTER

# remove temp files
#rm $TMPFILE".ps" $TMPFILE".hpgl" $TMPFILE".hpgl2"

exit 0

/etc/cups/printers.conf:

# Printer configuration file for CUPS v1.4.4
# Written by cupsd
# DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING
<Printer Laser>
Info Laser
MakeModel Foo 5w Laserkaiverrin, 1.0
DeviceURI plot:/dev/lp0
State Idle
StateTime 1353803245
Type 8392772
Filter application/vnd.cups-raw 0 -
Filter application/vnd.cups-command 0 commandtops
Filter application/vnd.cups-postscript 0 -
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
</Printer>

Henkilökohtaiset työkalut
Nimiavaruudet

Kirjoitusjärjestelmät
Toiminnot
Valikko
mode 5w
Työkalut