Ominaisuuksien muunnostiedosto
3D-Win / Yleistä
Artikkelin toiminnot 3D-Win 6.5.2 alkaen
Julkaistu 10.05.2019, Mikko Syrjä
Muunnostiedosto on perinteisestä koodimuunnoksesta laajennettu versio, joka pystyy muuntamaan ominaisuusyhdistelmän toiseksi ominaisuusyhdistelmäksi. Erityisesti tällä voidaan muuntaa ominaisuuksia käyttävän paikkatieto- tai suunnittelujärjestelmän tiedot yhdeksi maastokoodiksi. Systeemi on myös suunniteltu toimivan kahteen suuntaan eli samalla tiedostolla voidaan tieto viedä maastoon ja siirtää se takaisin sieltä.
Alkuperäinen koodimuunnostiedosto sisälsi kaksi saraketta, joiden välillä ominaisuuden arvon muunnos tapahtui jompaankumpaan suuntaan. Jos arvo täsmäsi etsittävän sarakkeen sisältöön, uudeksi arvoksi sijoitettiin toisen sarakkeen sisältö. Tiedostoa tulkattiin rivijärjestyksessä ja lopetettiin täsmäävään riviin. Yleensä etsittävä ja muutettava ominaisuus oli koodi T3, mutta sama systeemi toimi muidenkin ominaisuuksien kanssa. Lisäksi koodin T3 tapauksessa voitiin antaa kolmas sarake, jossa oli pintatunnukseen T1 sijoitettava oletusarvo. Tämä sijoitus tehtiin aina riippumatta muunnoksen suunnasta.
Kaikki tämä toimii edelleen uuden muunnostiedoston kanssa. Toimintaa on kuitenkin laajennettu niin, että kussakin kolmessa sarakkeessa voidaan antaa haettavaksi ja sijoitettavaksi useiden ominaisuuksien yhdistelmiä. Lisäksi ominaisuuksien arvoja voidaan laskea, muotoilla, palastella ja yhdistellä useilla eri tavoilla. Säännöt ovat samoja, joita käytetään ohjelman muissa toiminnoissa, esimerkiksi ominaisuushaussa, pisteryhmässä, arvojen muotoilussa, tekstiformaatissa ja otsikkotiedostossa.
Lähdetään liikkeelle yksinkertaisesta perustilanteesta. Muunnettaessa vasemmasta sarakkeesta oikeaan vasen sarake on etsittävä arvo ja oikea sarake sijoitettava arvo:
123 456
Eli jos ominaisuuden arvo on 123, sijoitetaan tilalle 456. Laajemmin ajateltuna vasen sarake on itse asiassa hakusääntö ja oikea sarake sijoitussääntö. Vasen sarake voi siis hyödyntää ominaisuushaun sääntöjä. Kun muunnettava ominaisuus on koodi T3, voidaan vertailuehto kirjoittaa muodossa T3=123. Vastaavasti arvon sijoitus oikeassa sarakkeessa voitaisiin näyttää samalla syntaksilla:
T3=123 T3=456
Kun haku ja sijoitus käyttävät samaa muotoa, muunnostiedosto toimii molempiin suuntiin.
Ominaisuushaun hakuehto tukee useamman ominaisuuden hakua puolipisteellä erotettuna. Jotta koko ehto täsmää, on kaikkien osien täsmättävä. Sijoituspuolella voidaan ottaa käyttöön vastaava sääntö: kaikki puolipisteellä erotetut sijoitukset suoritetaan. Voidaan siis kirjoittaa seuraavaa:
T1=1;T3=123 T1=2;T3=456
Edelleen kaikki toimii molempiin suuntiin. Pinta 1 ja koodi 123 muuntuvat pinnaksi 2 ja koodiksi 456 tai päinvastoin. Tätä voidaan erityisesti hyödyntää muunnoksissa yhden koodin ja kahden koodin järjestelmien välillä:
T3=123 T1=2;T3=456
Hakuehtona voidaan antaa myös pilkulla erotettu lista, joista minkä tahansa arvon täsmääminen riittää. Sijoitussääntönä tämä voidaan toteuttaa niin, että sijoitetaan listan ensimmäinen arvo. Esimerkiksi yhden järjestelmän kolmelle eri koodille voi toisessa järjestelmässä olla vain yksi vastine:
T3=1,2,3 T3=456
Muunnettaessa vasemmalta oikealle koodit 1, 2 ja 3 muuntuvat koodiksi 456. Toisin päin koodi 456 muuntuu koodiksi 1. Oletuskoodin on siis oltava listassa ensimmäisenä. Pilkulla erotetun listan lisäksi voidaan käyttää myös arvoväliä väliviivalla erotettuna:
T3=1-3 T3=456
Sijoituksessa käytetään edelleen ensimmäistä arvoa eli välin alkuarvoa. Jos oletusarvoksi halutaan jokin muu, se voidaan antaa normaalisti pilkun kanssa:
T3=2,1-3 T3=456
Kolmas sarake oli vanhassa versiossa oletuksena sijoitus kenttään T1, mutta nyt se voi käyttää kaikkia samoja sijoitussääntöjä kuin muutkin sarakkeet. Jos kahden ensimmäisen sarakkeen välinen muunnos suoritetaan jompaankumpaan suuntaan, suoritetaan aina myös kolmannen sarakkeen sijoitus. Tätä voidaan käyttää sijoittamaan oletusarvoja, esimerkiksi vakioarvo ominaisuuteen COMMENT:
T1=1;T3=2,1-3 T1=2;T3=456 COMMENT=testi
Tiedoston sarakkeiden erottimena toimivat välilyönnit tai sarkaimet. Tästä johtuen itse sarakkeissa olevat välilyönnit on annettava lainausmerkeissä:
T1=1;T3=2,1-3 T1=2;T3=456 COMMENT="toinen testi"
Toimiva tapa on käyttää sarkaimia sarakkeiden erottimena. Tällöin sarakkeita voidaan helpommin käsitellä vaikkapa taulukkolaskennassa.
Yhtäsuuruus (=) | Vertaa yhtäsuuruutta, sijoittaa arvon ominaisuuteen |
Puolipiste (;) | Kaikkien ehtojen täsmättävä, kaikki sijoitukset suoritetaan |
Pilkku (,) | Yhden arvon on täsmättävä, ensimmäinen arvo sijoitetaan |
Väliviiva (-) | Arvon oltava annetulla välillä, alkuarvo sijoitetaan |
Villit merkit
Hakuehdossa voidaan käyttää villejä merkkejä ? ja *. Normaalin tapaan kysymysmerkki vastaa mitä tahansa yhtä merkkiä ja tähti mitä tahansa merkkijonoa. Poikkeuksena yleiseen tapaan tähti ei kuitenkaan täsmää tyhjään merkkijonoon. Jos halutaan ehto, joka täsmää myös puuttuviin ominaisuuksiin on muodostettava pilkulla erotettu ehtolista tähdestä ja tyhjästä arvosta: *, (tähti ja pilkku).
Sijoituksessa villejä merkkejä sisältävät arvot eivät tee mitään. Hakuehtolistana tähden ja pilkun järjestyksellä ei ole väliä, mutta sijoituksessa noudatetaan normaalia ehtolistan sääntöä eli sijoitetaan ensimmäinen. Tällöin *, ei tee mitään (tähti ensimmäisenä), mutta ,* tyhjää ominaisuuden arvon (tyhjä ensimmäisenä). Esimerkiksi:
T3=,* T3=456
Vasemmalta oikealle rivi sijoittaa kaikille kohteille koodiin T3 arvon 456. Toiseen suuntaan muunnettaessa koodin 456 arvo tyhjätään, koska sijoituslistassa on ensimmäisenä tyhjä arvo. Toinen järjestysvaihtoehto:
T3=*, T3=456
Vasemmalta oikealle rivi sijoittaa edelleen kaikille kohteille koodiin T3 arvon 456. Toiseen suuntaan muunnettaessa koodille 456 ei kuitenkaan tehdä mitään, koska sijoituslistassa on ensimmäisenä tähti. Koodiksi jää alkuperäinen 456.
Kolmen sarakkeen tekniikalla voidaan villeillä merkeillä rakentaa muunnostiedosto, joka lisää kaikille kohteille vakioarvot riippumatta siitä mihin suuntaan operaatio tehdään:
*, *, T1=1;T3=456
Kaksi ensimmäistä saraketta täsmäävät kaikkiin koodeihin molempiin suuntiin, mutta eivät koskaan sijoita mitään. Kolmannen sarakkeen sijoitus taas suoritetaan jokaiselle kohteelle.
Kysymysmerkkien kanssa voidaan hakea tietyn mittaisia arvoja. Esimerkiksi voidaan muuntaa kaikki kahden tai kolmen merkin pituiset koodit koodiksi 456:
T3=123,??,??? T3=456
Ensimmäinen koodi 123 on taas toisen muuntosuunnan oletuskoodi. Kysymysmerkki ja tähti eivät toistaiseksi toimi yhdessä eli esimerkiksi määrittelyä T3=?* ei voi käyttää.
Kysymysmerkki (?) | Täsmää yhteen merkkiin, sijoituksessa ei tee mitään |
Tähti (*) | Täsmää kaikkiin paitsi tyhjiin arvoihin, sijoituksessa ei tee mitään |
Tähti ja pilkku (*,) | Täsmää kaikkiin arvoihin, sijoituksessa ei tee mitään |
Pilkku ja tähti (,*) | Täsmää kaikkiin arvoihin, sijoittaa tyhjän arvon |
Rivien järjestys
Tiedosto tulkataan rivijärjestyksessä kuten ennenkin ja lopetetaan ensimmäiseen täsmäävään riviin. Tätä voidaan hyödyntää oletusarvojen asettamisessa. Esimerkiksi seuraava asettaa kahdella viimeisellä rivillä oletukset ja tunnistamattomat:
...
T3=123, T3=456,
T3=999,* T3=999,*
Vasemmalta oikealle toiseksi viimeinen rivi täsmää sekä koodiin 123 että tyhjään arvoon ja muuttuu oletuskoodiksi 456. Toiseen suuntaan tyhjien arvojen oletuskoodi on vastaavasti 123. Viimeiselle riville päädytään vain, jos mikään aikaisempi rivi ei täsmännyt eli kyseessä on tuntematon koodi. Niille laitetaan koodiksi 999.
Moniosaisten koodien muunnoksessa voidaan hyödyntää kysymysmerkkejä. Tiedostoon laitetaan ensin tunnetut yhdistelmät ja niiden jälkeen oletusarvot kysymysmerkkien kanssa:
T3=123 T3=456
T3=120,12? T3=450
T3=100,1?? T3=400
Muunnostiedostoa käytettäessä puuttuvista arvoista annetaan yleensä varoitus. Esimerkiksi formaatinmuunnin kirjoittaa listan puuttuvista arvoista lokitiedostoon. Jos muunnosta ei ole tarkoitettukaan käsittelemään kaikkia kohteita, varoituksesta päästään eroon laittamalla viimeiseksi riviksi määrittely, joka täsmää kaikkeen, mutta ei koskaan tee mitään:
...
*, *,
Yllä olevaa riviä ei koskaan lasketa täsmääväksi muunnokseksi eli se ei ole mukana ohjelman näyttäessä muunnoksen jälkeen muunnettujen kohteden määrän.
Poisto, kopiointi ja siirto
Arvoja voidaan poistaa, kopioida toiseen ominaisuuteen tai siirtää ominaisuudesta toiseen. Poistaminen tapahtuu yksinkertaisesti antamalla ominaisuudelle tyhjä arvo:
*, *, CODE=
Edellinen rivi poistaa kaikilta kohteilta ominaisuuden CODE molemmissa suunnissa. Tiettyjen arvojen
poistaminen voidaan tehdä esimerkiksi seuraavasti:
CODE=,1,2 CODE=,1,2
Molemmissa suunnissa haku täsmää tyhjään arvoon sekä arvoihin 1 ja 2. Sijoituksessa puolestaan sijoitetaan ensimmäinen eli tyhjä arvo.
Kopiointi tehdään yksinkertaisesti antamalla arvoksi ominaisuuden nimi merkin $ kanssa tai makron nimi merkin # kanssa. Oletusominaisuuteen voidaan viitata pelkällä merkillä $.
CODE=$T3,*, T3=$CODE,*,
CODE=$,*, $CODE,*,
Vasemmalta oikealle ehto *, täsmää kaikkiin arvoihin ja sijoittaa koodiksi T3 ominaisuuden CODE arvon. Toiseen suuntaan vastaavasti ominaisuuteen CODE sijoitetaan koodi T3. Jälkimmäinen rivi tekee saman asian oletusominaisuuden ollessa T3.
Siirto toiseen ominaisuuteen tehdään käyttämällä arvon hakuun operaattoria ¤:
CODE=¤T3,*, T3=¤CODE,*,
CODE=¤,*, ¤CODE,*,
Operaattori ¤ hakee ominaisuuden arvon kuten $, mutta lisäksi tyhjää alkuperäisen ominaisuuden. Jälkimmäinen rivi tekee saman asian oletusominaisuuden ollessa T3.
Tässä on huomattava, että ominaisuuden arvo ei toimi hakuehtona. Ehto CODE=$T3 ei siis täsmää kohteisiin, joiden ominaisuuden CODE arvo olisi sama kuin koodin T3, vaan kohteisiin joiden arvo on "$T3".
Dollarimerkki ($) | Ei täsmää vertailussa, sijoituksessa hakee ominaisuuden arvon |
Valuuttamerkki (¤) | Ei täsmää vertailussa, sijoituksessa siirtää ominaisuuden arvon |
Risuaita (#) | Ei täsmää vertailussa, sijoituksessa hakee makron arvon |
Arvojen muotoilu
Arvon korvaamisen sijasta tai sen lisäksi voidaan arvoille tehdä erilaisia muotoiluja. Arvoon voidaan lisätä osia, arvosta voidaan poistaa osia tai numeerinen arvo voidaan muotoilla uudestaan. Näissä käytetään samoja sääntöjä kuin Pisteryhmä-toiminnon sijoituksessa. Seuraava lisää tai poistaa koodilta etuliitteen:
T3=2§,* T3=PN&,*
Vasemmalta oikealle koodiin lisätään etuliite PN ja toiseen suuntaan koodista poistetaan kaksi ensimmäistä merkkiä.
Numeerisia arvoja voidaan muotoilla kaikilla yleisillä muotoilumäärittelyillä mukaan lukien kenttien leveysmäärittelyt. Esimerkiksi seuraava muuntaa ominaisuuden DIA metrit millimetreiksi vasemmalta oikealle ja millimetrit metreiksi oikealta vasemmalle:
DIA=$DIA%e-3.3,* DIA=$DIA%e3.0,*
Vasemmalta oikealle muotoilumääre e3 kertoo arvon tuhannella ja .0 asettaa desimaalien määräksi nollan. Toiseen suuntaan e-3 jakaa tuhannella ja .3 asettaa desimaaleiksi kolme. Voidaan myös tehdä muunnos asteina tai gooneina olevien ominaisuuksien välillä:
DEG=$GON%d.3,* GON=$DEG%g.0,*
Muotoilumääre d muuntaa gooneina olevan ominaisuuden GON asteiksi ja määre g muuntaa asteina olevan ominaisuuden gooneiksi.
Arvo voidaan muotoilla myös tietyn levyiseen kenttään ja täyttää loppu halutulla merkillä. Esimerkiksi metrisen ominaisuuden DIA kirjoittaminen millimetreinä neljän merkin kenttään ja täyttö nollilla:
DIA=* CODE=$DIA%e3.0@4=0
Merkin @ jälkeen annetaan kentän leveys ja merkin = jälkeen täyttömerkki.
Pykälämerkki (§) | Ei täsmää vertailussa, sijoituksessa poistaa merkkejä alusta tai lopusta |
Et-merkki (&) | Ei täsmää vertailussa, sijoituksessa liittää arvon alkuun tai loppuun |
Prosenttimerkki (%) | Ei täsmää vertailussa, sijoituksessa aloittaa arvon muotoilun |
At-merkki (@) | Ei täsmää vertailussa, sijoituksessa aloittaa kentän leveysmäärittelyn |
Yhtäsuuruus (=) | Ei täsmää vertailussa, sijoituksessa määrittelee kentän täyttömerkin |
Yhdistäminen ja poiminta
Arvoja voidaan yhdistää tai niistä voidaan poimia osia. Arvon yhdistäminen tapahtuu samalla merkillä & kuin aikaisempi vakiotekstin lisäys. Nyt vain vakiotekstin sijasta annetaan ominaisuuden nimi:
T3=*, T3=$TYPE;T3=&$DIA;T3=&$MAT
T3=*, T3=¤TYPE;T3=&¤DIA;T3=&¤MAT
Yllä oleva sijoittaa ensin koodiin T3 ominaisuuden TYPE arvon ja lisää sitten sen perään ominaisuuksien DIA ja MAT arvot. Jälkimmäinen rivi tekee saman asian, mutta samalla tyhjää ominaisuudet TYPE, DIA ja MAT.
Osan poimiminen tapahtuu antamalla ominaisuuden nimen perässä hakasuluissa poimittavan osuuden alku- ja loppuindeksit kaksoispisteellä erotettuna. Indeksit ovat nollasta alkavia ja loppuindeksi on ensimmäinen merkki, joka ei tule mukaan. Seuraava poimii vasemmalta oikealle viisimerkkisestä koodista T3 kolme keskimmäistä merkkiä ominaisuuteen DIA:
T3=????? DIA=$T3[1:4]
Alkuindeksi 1 on toinen merkki ja loppuindeksi 4 viides merkki, joka ei tule poimintaan mukaan. Jos poimitaan osa ominaisuuden alusta tai lopusta voidaan toinen parametri jättää pois:
T3=????? TYPE=$T3[:1];MAT=$T3[4:]
Edellinen poimii ensimmäisen merkin ominaisuuteen TYPE ja viimeisen merkin ominaisuuteen MAT. Indeksit voidaan antaa myös negatiivisina arvoina lopusta päin, jolloin indeksi -1 on viimeinen merkki:
T3=????,????? TYPE=$T3[:1];DIA=$T3[1:-1];MAT=$T3[-1:]
Edelleen poimitaan ensimmäinen merkki ominaisuuteen TYPE ja viimeinen merkki ominaisuuteen MAT. Ominaisuuteen DIA poimitaan sitten kaikki niiden väliin jäävät merkit. Koska loppuosan indeksit evät enää ole riippuvaisia arvon pituudesta, poiminta toimii eri mittaisten arvojen kanssa.
Yllä olevat arvojen yhdistäminen ja osien poimiminen toimivat vain yhteen suuntaan. Jos halutaan kahteen suuntaan toimiva muunnostiedosto, eri suuntien muunnokset on suoritettava omilla riveillään:
T3=????,????? TYPE=$T3[:1];DIA=$T3[1:-1];MAT=$T3[-1:]
T3=$TYPE;T3=&$DIA;T3=&$MAT T3=*,
Vasemmalta oikealle ajettaessa haku täsmää vain ensimmäiseen riviin ja suorittaa toisen sarakkeen poimintaoperaatiot. Haku ei voi koskaan täsmätä toiseen riviin, koska koodin T3 pitäisi olla yhtä aikaa monta eri arvoa. Vastaavasti toiseen suuntaan ajettaessa haku ei voi koskaan täsmätä ensimmäisen rivin toiseen sarakkeeseen. Haku kuitenkin täsmää sitten aina toiseen riviin ja suorittaa ensimmäisen sarakkeen yhdistämisoperaation.
Et-merkki (&) | Ei täsmää vertailussa, sijoituksessa liittää arvon ominaisuuteen |
Hakasulut ([]) | Eivät täsmää vertailussa, sijoituksessa poimivat osan arvosta |
Kaksoispiste (:) | Ei täsmää vertailussa, sijoituksessa erottaa poiminnan alku- ja loppusijainnin |
Laskenta
Ominaisuuksien välillä voidaan tehdä yksinkertaisia matemaattisia operaatioita. Arvoja voidaan laskea yhteen, vähentää, kertoa ja jakaa sekä vakioarvoilla että toisilla ominaisuuksilla. Laskentaoperaatio annetaan sijoitettavan arvon ensimäisenä merkkinä. Loppuosa arvosta on laskentaparametri, joka voi olla joko ominaisuuden arvo tai vakio. Koska miinusmerkki oletetaan matemaattiseksi operaatioksi, on negatiivinen arvo annettava lainausmerkeissä. Seuraavassa esimerkkejä:
DIAMETER=*;THICKNESS=* DIAMETER=+$THICKNESS
DIAMETER=*;THICKNESS=* DIAMETER=-$THICKNESS
DIAMETER=* DIAMETER=*1000.0
DIAMETER=* DIAMETER=/1000.0
*, DIAMETER="-10.0"
Laskenta toimii vasemmalta oikealle ja operaatiot suoritetaan vain kohteille, joilla on tarvittavat ominaisuudet. Kaksi ensimmäistä riviä lisää tai vähentää ominaisuudesta toisen ominaisuuden arvon. Jälkimmäiset kaksi riviä kertovat tai jakavat arvon vakioarvolla 1000.0. Viimeinen rivi sijoittaa arvoksi negatiivisen luvun.
Plusmerkki (+) | Lisää ominaisuuteen toisen arvon |
Miinusmerkki (-) | Vähentää ominaisuudesta toisen arvon |
Kertomerkki (*) | Kertoo ominaisuuden toisella arvolla |
Jakomerkki (/) | Jakaa ominaisuuden toisella arvolla |
Osiot
Perinteinen muunnostiedosto teki kerralla vain yhden muunnoksen. Uudessa muunnostiedostossa voidaan antaa useita osioita, jotka kukin suoritetaan aivan kuin ne olisivat erillisiä muunnostiedostoja. Osiot alkavat hakasuluissa olevalla otsikkorivillä:
[pinta]
T1=1 T1=2
*, *,
[koodi]
T3=123 T3=456
*, *,
Edellä oleva tekee muunnoksen kentille T1 ja T3 välittämättä puuttuvista koodeista. Hakasulkujen sisällä oleva teksti on vain kommentti, jolla ei ole vaikutusta toimintaan.
Suoritettaessa muunnos vasemmalta oikealle, suoritetaan osiot tiedoston alusta loppuun päin. Toiseen suuntaan osiot suoritetaan tiedoston lopusta alkuun päin. Yksittäisen osion sisällä rivit käydään kuitenkin edelleen läpi ylhäältä alas. Edellisessä esimerkissä osiot olivat toisistaan riippumattomia eli niiden suoritusjärjestyksellä ei ollut merkitystä. On kuitenkin mahdollista ketjuttaa osioita jolloin yksi osio tekee osan muunnoksesta ja seuraava osio jatkaa siitä:
[muunnos]
T3=123 T3=456
*, *,
[lisäys]
T3=1§,* T3=D&,*
*, *,
Vasemmalta oikealle ensimmäinen osio muuntaa koodin 123 koodiksi 456. Sen jälkeen toinen osio lisää koodin alkuun kirjaimen D eli lopputulos on D456. Toiseen suuntaan suoritettaessa osiot suoritetaan päinvastaisessa järjestyksessä eli alempi osio poistaa koodista ensimmäisen merkin ja ylempi osio muuntaa koodin.
Rivin tai sarakkeen alussa voidaan antaa vapaamuotoinen kommentti huutomerkin tai puolipisteen kanssa. Koska sekä huutomerkki että puolipiste voivat esiintyä haku- ja sijoitusehdoissa (esim. !T3=1,2,3), on kommenttimerkin jälkeen tultava aina välilyönti, sarkain tai toinen kommenttimerkki.
! koodimuunnos
T3=1,2 T3=456 T5=9 !! aseta T5
T3=3 T3=456 T5= !! poista T5
Kommentti jatkuu aina rivin loppuun asti.
Versiosta 6.5.2 eteenpäin voidaan osio antaa myös alltosuluissa. Tällöin suoritetaan aina jokainen osion rivi. Tämä on käyttökelpoinen esimerkikisi aineiston ominaisuuksien nimien normalisoinnissa:
{skandit}
MATERIAL=teras,teräs MATERIAL=teras,teräs
RIMTYPE=ritila,ritilä RIMTYPE=ritila,ritilä
Yllä oleva muuntaa molempiin suuntiin arvoksi oletuksen eli listan ensimmäisen arvon, jossa ei ole skandimerkkejä.
Edelleen versiosta 6.5.2 lähtien voidaan kokonainen osio kommentoida pois laittamalla kommenttimerkki osion nimen eteen:
[!koodi]
T3=123 T3=456
*, *, !]
Viimeisen rivin lopussa oleva kommentti !] on itse muunnoksen kannalta merkityksetön, mutta sen avulla voidaan rajata osio niin, että tekstieditorien syntaksiväritys osaa näyttää kommentoidun osion eri värillä.
Hakasulut ([]) | Aloittavat uuden osion, josta suoritetaan ensimmäinen täsmäävä rivi |
Aaltosulut ({}) | Aloittavat uuden osion, josta suoritetaan kaikki rivit (6.5.2 eteenpäin) |
Huutomerkki (!) | Aloittaa kommentin rivin tai sarakkeen alussa |
Puolipiste (;) | Aloittaa kommentin rivin tai sarakkeen alussa |
Asetukset
Kunkin osion sisällä voidaan antaa asetuksia, jotka ovat voimassa osion loppuun asti tai kunnes ne asetetaan uudestaan. Asetukset annetaan riveillä, jotka alkavat merkeillä !@ ja asetuksen nimen jälkeen tulee kaksoispiste. Esimerkiksi osio voidaan asettaa käsittelemään tekstit seuraavalla asetuksella:
[tekstit]
!@ TextPoint:1
123 456
Asetuksilla LinePoint, TextPoint ja FileData voidaan käsitellä viivapisteet, teksti tai tiedoston ominaisuudet. Asetus laitetaan päälle arvolla yksi ja pois päätä arvolla nolla.
Asetuksilla LeftId, RightId, ThirdId ja ConvertId voidaan asettaa sarakkeiden oletusominaisuudet. Kolme ensimmäistä asettavat oletusominaisuuden kullekin sarakkeelle erikseen ja viimeinen kahdelle ensimmäiselle sarakkeelle. Esimerkiksi muunnoksen tekeminen koodin T3 sijasta pintatunnukselle T1:
[pinnat]
!@ ConvertId:T1
12 34
Asetuksilla LeftRule, RightRule, ThirdRule ja ConvertRule voidaan asettaa sarakkeille lisäsääntöjä. Kolme ensimmäistä laittavat lisäsäännön kullekin sarakkeelle erikseen ja viimeinen kahdelle ensimmäiselle sarakkeelle. Esimerkiksi suoritetaan pintamuunnos vasemmalta oikealle vain koodille 123 ja oikealta vasemmalle vain koodille 456:
[pinnat]
!@ ConvertId:T1
!@ LeftRule:T3=123
1@ RightRule:T3=456
12 34
Edellinen on teknisesti sama kuin seuraava:
[pinnat]
T1=12;T3=123 T1=34;T3=456
Koska asetukset ovat osiokohtaisia, on moniosaisten tiedostojen kanssa muistettava kopioida ne kaikkiin tarvittaviin osioihin.
LinePoint | Muuntaa myös viivapisteet |
TextPoint | Muuntaa myös tekstit |
FileData | Muuntaa myös tiedoston ominaisuudet |
LeftId, RightId, ThirdId | Sarakkeiden oletusominaisuudet |
ConvertId | Kahden ensimmäisen sarakkeen oletusominaisuus |
LeftRule, RightRule, ThirdRule | Sarakkeiden lisäehdot |
ConvertRule | Kahden ensimmäisen sarakkeen lisäehto |
Muunnostiedosto ohjeessa: Muunnossäännöt
Kooditaulukko-toiminto: Kooditaulukko
Arvojen muotoilu: Esitysmuoto