Laserkaiverrin

5Wiki
Versioiden väliset erot
Loikkaa: valikkoon, hakuun
(Plot-skripti ja muu säätö)
 
(Näytettyjen versioiden välissä on 15 versiota, jotka ovat 11 eri käyttäjän tekemiä.)
Rivi 7: Rivi 7:
 
}}
 
}}
 
[[Luokka:Projektit]]
 
[[Luokka:Projektit]]
 
'''3/2012 CUPS-projektin prosessi sivun alareunassa'''
 
  
 
===Esivalmistelut===
 
===Esivalmistelut===
Rivi 25: Rivi 23:
  
 
Laita laserin virta pois päältä - "Enable Laser" nappi ylhäällä aina kun pidät suojaa auki.
 
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 ==
 
== Bittikarttojen kaiverrus ==
Rivi 30: Rivi 30:
 
Käytä "Yzwin" ohjelmistoa.
 
Käytä "Yzwin" ohjelmistoa.
  
== Vektoreiden leikkaus ==
+
== CUPS-tulostus kaivertimelle==
  
Laserin kiinnikkeen mitat ovat merkattuna "'''work-area.svg'''" tiedostoon.
+
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.
  
=== Kuvan teko Inkscapella ===
+
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.
  
1. Piirrä leikattavat kappaleet vektoreina.  
+
Koneen ollessa käynnissä laserkaivertimelle voi tulostaa Generic Postscriptiä ainakin Mircosoft Publisher (imaging) jotain ajurilla.
  
Jos leikattavat kappaleet sisältävät reikiä, kannattaa "uloin" osa
+
Tulostin löytyy tällä hetkellä osoitteesta https://192.168.42.33:631/printers/Laser
kappaleesta jättää kiinni materiaaliin 1-2mm levyisillä paloilla.
+
Muuten saattaa käydä niin että leikattava kappale putoaa pois ennen
+
reikien leikkausta.
+
  
2. Kappaleen mittojen korjaus
+
Tulostettaessa kaivertimelle kannattaa ilmeisesti käyttää custom-paperikokoa ja määritellä kooksi 120x70mm
  
Voit ohittaa kohdat 3 ja 4 jos ei ole tärkeää, että leikattu kappale on tarkalleen oikean kokoinen.
+
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.
  
3. Tarkista asetuksista (Edit/Preferences/Steps) että outset on 0.3 pikseliä (tai hyvällä perustelulla joku muu arvo.
+
Tuloste osuu parin millin tarkkuudella työstöalueelle tällä hetkellä.
  
4. Valitse kaikki (ctrl-a) ja valitse valikosta Path / Outset.  
+
Tulostettavien tiedostojen on oltava viivamuotoisia vektoritiedostoja. Tekstit eivät tulostu, ellei niitä ole ensin muunnettu poluiksi ('''Object to path''').
  
=== Leikkaus ===
+
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
  
Onnistuu suoraan Inkscapesta kunhan olet lisännyt kaivertimen tulostimeksi. Katso kohta cups-tulostus.
+
=== CUPS-säätö ===
  
=== Leikkaus tallentaen hpgl-muotoon (Windows) ===
+
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.
  
1. Tallenna tiedosto hpgl-muodossa.
+
=== Ongelmanratkaisua ===
  
2. Avaa komentokehoite.
+
'''Kaiverrin junnaa nurkassa pienellä alueella'''
  
3. Aseta leikkausnopeus komennolla: '''echo vs1; > lpt1''' Noin nopeudella 4 alkaa viivoihin tulla pykäliä.
+
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
  
4. Lähetä hpgl tiedosto suoraan laserille komennolla: '''type file.hpgl; > lpt1'''
+
Periaatteessa kaiverruspalvelimen asetuksissakin voi olla jotain vialla, mutta tuo ei varsinaisesti sisällä mitään säädettäviä muuttujia.
  
== Speksit ==
+
=== Tulostus komentoriviltä ===
  
* Kaiverrusalueen koko 70x120mm
+
Kun olet lisännyt tulostimen koneeseen (onnistuu ihan kivasti normityökaluilla), voit tulostaa mitä tahansa kaivertimelle sanomalla:
  
== CUPS-tulostus kaivertimelle==
+
lpr -H 192.168.42.33 -P Laser tiedosto.hpgl
  
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ä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.
+
=== Plot-skripti ja muu säätö ===
  
Koneen ollessa käynnissä laserkaivertimelle voi tulostaa Generic Postscriptiä ainakin Mircosoft Publisher (imaging) jotain ajurilla.
+
<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
  
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
+
JOBID=$1
 +
USER=$2
 +
TITLE=$3
 +
COPIES=$4
 +
OPTIONS=$5
 +
PID=$$
 +
FILE=$6
  
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.
+
# 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
  
Tuloste osuu parin millin tarkkuudella työstöalueelle tällä hetkellä.
+
# 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`
  
Tulostettavien tiedostojen on oltava viivamuotoisia vektoritiedostoja. Tekstit eivät tulostu, ellei niitä ole ensin muunnettu poluiksi ('''Object to path''').
+
# 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
  
=== CUPS-säätö ===
+
# 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
  
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.
+
# output the postscript data
 +
cat $FILE > $TMPFILE".ps"
  
=== Tulostus komentoriviltä ===
+
#sed -e 's/Orientation: Landscape/Orientation: Portrait/' $TMPFILE".ps2" | sed -e 's/ViewingOrientation: 0 1 -1 0/ViewingOrientation: 1 0 0 1/' > $TMPFILE".ps"
  
Kun olet lisännyt tulostimen koneeseen (onnistuu ihan kivasti normityökaluilla), voit tulostaa mitä tahansa kaivertimelle sanomalla:
+
# convert postscript file to hpgl and distill it
  
lpr -H 192.168.42.33 -P Laser tiedosto.hpgl
+
/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"
  
=== Tulostus suoraan Inkscapesta ===
+
exit 0</nowiki>
  
Ylemmän jälkeen selvisi, että tulostus onnistuu nätisti ilman pluginia ihan vaan printtaamalla. Aseta dokumentin kooksi
+
'''/etc/cups/printers.conf''':
120*70mm ja anna mennä.
+
<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>

Nykyinen versio 10. toukokuuta 2013 kello 15.21


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

Sisällysluettelo

[muokkaa] 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.

[muokkaa] 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.

[muokkaa] Bittikarttojen kaiverrus

Käytä "Yzwin" ohjelmistoa.

[muokkaa] 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

[muokkaa] 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.

[muokkaa] 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.

[muokkaa] 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

[muokkaa] 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