Hacklabilla paikalla:

Ladataan...
Hacklab on nyt tyhjä.

Seuraava tapahtuma:

lauantai, 16.1.2021
  • Hacklab Jyväskylä - Kerhoilta

    lauantai, 16.1.2021  15:00 - 18:00
    Emännäntie 10 O, pohjakerros

    Hacklab Jyväskylä jäsenten kerhoilta, tervetuloa!

Puinen syvyyskartta

Joululahjalistalla oli tehdä syvyyskartta kesämökin lähivesistä kalastukseen koukkuun jääneelle sukulaiselle. Idean sain Hackadaysta, jossa oli esillä vastaava vanerikerroksista tehtynä. Itse päädyin valitsemaan materiaaliksi harmaalepän, jota Hacklabilla on jokunen tuppeensahattu lauta. Työstämiseen käytin Hacklabin itserakennettua CNC-jyrsintä, jossa on Makitan yläjyrsin ja tietokoneohjaus sen liikutteluun.

Karttaa varten tarvitsin tarkat syvyystiedot. Retkikartta näyttää syvyystiedot vain n. 5 metrin välein, ja lisäksi niitä on vaikea siirtää bittikarttatiedostosta muihin ohjelmiin. Suomessa järvien syvyystietoa hallinnoi ympäristökeskus, jolla on kiitettävästi avointa dataa saatavilla. Syken latauspalvelu LAPIO ei tarjonnut tietoja haluamassani muodossa, mutta karttapalvelu KARPALO mahdollisti pelkkien syvyyskäyrien piirtämisen bittikarttakuvaan. Lisäksi käyrille sai itse määrittää värit, minkä tein harmaasävyillä logiikalla että esim. 100 = 10 metriä. Haluamani alueen maksimisyvyys oli sopivasti 25 metriä, joten 8 bittiä riitti hyvin ja 255 jäi taustan väriksi.

Sykenkään tiedoissa ei kuitenkaan ollut syvyyskäyriä tarkemmin kuin 1, 3, 6, 10, 15, 20, 25 metrin kohdilta merkittynä. Halusin karttaan 1 metrin välein käyrät, joten tarvittiin interpolointia. Aluksi kokeilin vain blurrata bittikarttaa ja sitten pyöristää lähimpään 1 metriin, mutta se tuhosi yksityiskohtia jyrkillä alueilla eikä pehmentänyt tasankoja tarpeeksi. Tein interpolointiin oman Python-skriptin, joka ottaa syötteeksi yllä näkyvän contours.png:n. Jokaisen valkoisen pisteen kohdalla se etsii 5 asteen välein joka suuntaan lähimmän syvyyskäyrän, ja laskee keskiarvon niiden välillä etäisyyden mukaan painottaen. Tällä tavalla alueilla joissa syvyyskäyrät ovat tiheässä pehmennetään vähemmän, ja tasaisilla alueilla enemmän.

Retkikartassa on kuitenkin myös ns. syvyysluotauspisteet näkyvillä, eli yksittäisiä kohdat joista syvyys on mitattu. En saanut näitä ladattua tiedostomuodossa, mutta piirsin ne käyrien joukkoon käsin kuvankäsittelyssä. Tällä tavalla pääkäyrien väliin saa enemmän tietoa syvyystasoista. Hyödynsin hieman omaa päättelyä saman syvyyksisten pisteiden yhdistämisessä, jolloin sama interpolointimenetelmä toimii näillekin. Lisäksi täytin kuvankäsittelyssä maa-alueet valmiiksi mustalla, ihan vain skriptin pyörimisen nopeuttamiseksi.

Tuloksen muutin vektorikuvaksi Inkscapella, hyödyntäen ”Trace bitmap” ja ”Brightness level” toimintoja. Tässä olisi varmaan ollut kätevämpiäkin työtapoja, mutta itse vein kunkin tason erilliseen .dxf-tiedostoon, jotka yhdistin OpenSCAD:lla 3D-kuvaksi:

Saatuani OpenSCADista .stl-tiedoston, siirryin BlenderCAM:n puolelle. Aluksi yritin tehdä jyrsintäpolut FreeCAD:n Path-toiminnolla, mutta se tukehtui tuohon karttamalliin, ilmeisesti siinä oli liikaa pisteitä. BlenderCAM selvisi hommasta kunnialla. Aluksi jyrsin 8 mm terällä käyttäen parallel-asetusta, jossa terä liikkuu edestakaisin ja vaihtaa syvyyttään mallin mukaan. Viimeistelynä jyrsin 3 mm terällä waterline-polun, jossa terä seuraa kunkin syvyystason reunoja.

Ensimmäisenä fyysisen maailman toimenpiteenä sahasin n. 40 cm pitkän pätkän puuta ja höyläsin sen pinnat suoriksi. Taustapuolelle tein kaksi 7mm reikää, joihin puuruuvin kanta sopi tiiviisti. Näitä käytin kappaleen kiinnittämisessä jyrsimen alustaan. Kun ruuvit olivat jyrsimen alustalevyssä kiinni, pystyin irrottamaan ja laittamaan työkappaleen täsmälleen samaan kohtaan takaisin. Sivuilta kiristin sen alustaa vasten parin puupalikan avulla. Alla olevassa kuvassa näkyy vielä FreeCAD:n adaptive-työstöpolku, jota kokeilin ennen BlenderCAMiin vaihtamista.

Harmaaleppä on melko pehmeä puu, ja viimeistelyvaiheessa käyttämäni jyrsintä- ja teränopeus ei varmaan ollut aivan optimaalinen. Sen seurauksena tulokseen jäi melko paljon hapsottavia puukuituja. Tässä vaiheessa olin kuitenkin sen verran kyllästynyt tietokoneen kanssa puuhailuun, että päädyin viimeistelemään reunat käsin pienillä kaiverrustaltoilla ja hiomalla. Kerros akryylilakkaa kovetti puukuidut ja teki niiden katkaisemisesta helpompaa.

Maalasin syvyystasot käsin akryylimaaleilla. Kartan otsikkotekstit tein jyrsimällä 1 mm terällä urat, jotka täytin mustaksi värjätyllä epoksiliimalla ja raaputin tasaiseksi. Pintakäsittelynä on puualueilla mehiläisvaha ja akryylimaalien päällä 2-komponenttispraylakka, jota oli autopuuhista jäänyt yli. Lisäsin karttaan yksityiskohtana myös alueella menevän venereitin ja sen opastetolpat. Oikeassa kartassa on merkattuna myös mökin sijainti, mutta tästä kuvasta editoin sen yksityisyyssyistä pois.