Sijoitussäännöt

Näitä sääntöjä käytetään sijoitettaessa arvoja ominaisuuksiin tai koordinaatteihin pisteryhmän editoinnissa.

Koordinaattien ja ominaisuuksien kanssa voidaan käyttää operaatioita +, -, * ja /. Esimerkiksi +100 lisää arvoon sata tai /1000 jakaa arvon tuhannella. Lisäksi ominaisuuksia voidaan liittää toisiinsa tai vakioteksteihin &-operaatiolla. Esimerkiksi AB& lisää alkuun AB tai &CD lisää loppuun CD. Ominaisuuksien liittäminen toimii vastaavasti, esimerkiksi $T2& lisää alkuun viivanumeron.

Osa ominaisuuden arvosta voidaan poistaa §-operaatiolla. Esimerkiksi, operaatio 2§ poistaa kaksi merkkiä ominaisuuden arvon alusta ja operaatio §2 poistaa kaksi merkkiä ominaisuuden arvon lopusta. Tunnettu etuliite voidaan poistaa ensin hakemalla se (esim. LEVEL*) ja sitten poistamalla oikea määrä merkkejä (esim. 5§).

+100                 Lisätään 100 alkuperäiseen arvoon.
/1000                Jaetaan alkuperäinen arvo tuhannella.
AB&                  Lisätään alkuun etuliite AB.
&CD                  Lisätään loppuun liite CD.
2§                   Poistetaan kaksi merkkiä alusta.
§2                   Poistetaan kaksi merkkiä lopusta.

Negatiivinen arvo voidaan antaa lainausmerkeissä ("-2"). Yleisemmin lainausmerkeillä voidaan ohittaa mikä tahansa ohjausmerkki. Koordinaatteihin ja ominaisuuksiin voidaan siirtää tai laskea mukaan muita ominaisuuksia. Esimerkiksi arvo $HEIGHT sijoittaa HEIGHT-ominaisuuden tai arvo -$DEPTH vähentää DEPTH-ominaisuuden. Syntaksilla $# voidaan hakea ominaisuuden tosiarvo kooditiedostosta (esim. $#T3 hakee koodin selityksen tai $#MAT hakee materiaalin nimen).

"-2"                 Sijoitetaan negatiivinen arvo -2.
"AB&"                Sijoitetaan arvo, joka sisältää merkin &.
$HEIGHT              Haetaan arvo saman pisteen ominaisuudelta HEIGHT.
-$DEPTH              Vähennetään ominaisuus DEPTH alkuperäisestä arvosta.
$#T3                 Hakee koodin selityksen kooditiedostosta.

Ehdollinen sijoitus voidaan tehdä operaattoreilla ? ja !. Operaattori ? sijoittaa arvon vain, jos ominaisuudessa on ennestään jotain ja operaattori ! sijoittaa arvon vain tyhjiin ominaisuuksiin. Tämä toimii myös koordinaattien kanssa tarkistamalla ovatko ne nollia.

?+100                Lisätään 100 alkuperäiseen arvoon, jos se ei ole tyhjä.
!1000                Sijoitetaan arvo ominaisuuteen, jos se on tyhjä.
?-$DEPTH             Vähennetään ominaisuus DEPTH vain olemassa olevista arvosta.

Makrot

Seuraavien makrojen arvoja voidaan sijoittaa viivojen, alueiden ja profiilien ominaisuuksiin:

MakroKuvaus
#COUNTViivan tai profiilin pisteiden määrä
#AREAAlueen pinta-ala
#LENGTHViivan tai profiilin vinopituus
#LENGTHXYViivan tai profiilin vaakapituus
#LENGTHZViivan tai profiilin minimi- ja maksimikorkeuksien erotus
#DELTAZViivan tai profiilin päätepisteiden etumerkillinen korkeusero
#LINESLOPEKaltevuus viivan tai profiilin päätepisteiden välillä
#SIZEViivasymbolin koko tai viivan jakson pituus
#SPACEViivasymbolien väli tai alueviivoituksen viivojen väli
#WIDTHViivan piirtoleveys tai alueviivoituksen viivan leveys
#STYLEViivan piirtotyyli tai alueen täyttötyyli

Seuraavien makrojen arvoja voidaan sijoittaa pisteiden ominaisuuksiin:

MakroKuvaus
#DZViivan tai profiilin pistevälin etumerkillinen korkeusero
#DA/#DBProfiilin pistevälin vaakaetäisyys
#DAZ/#DBZProfiilin pistevälin vinoetäisyys
#DXYViivan pistevälin vaakaetäisyys
#DXYZViivan pistevälin vinoetäisyys
#SLOPEViivan tai profiilin pistevälin kaltevuus
#SIZETekstin fonttikoko tai pisteen symbolin koko
#ALIGNTekstin asemointi
#ANGLETekstin tai symbolin kulma välillä -200 - 200
#BEARINGViivaosion, tekstin tai symbolin suunta välillä 0 - 400
#VERTICALViivan tai profiilin osion tai tekstin pystykulma välillä -100 - 100

Seuraavien makrojen arvoja voidaan sijoittaa kaikkiin ominaisuuksiin:

MakroKuvaus
#NAMEKohteen koodin kooditiedostosta haettu selitys
#TYPEKohteen tyyppi
#DATETämänhetkinen päiväys paikallisessa muodossa.
#TIMETämänhetkinen kellonaika paikallisessa muodossa.
#DATETIMETämänhetkinen aika ISO 8601 -muodossa.
#TIMESTAMPUTC-aika ISO 8601 -muodossa.
#COLORKohteen väri, kooditiedoston väritaulukon indeksi tai RGB-arvo

Jos ominaisuuteen halutaan sijoittaa makron arvon sijasta makro itse, voidaan se antaa lainausmerkeissä ("#SLOPE"). Makrojen arvoja voidaan myös käyttää pisteiden hakuun ominaisuus-hakutavalla.

Muotoilu

Makrojen ja ominaisuuksien arvoja voidaan sijoituksessa muotoilla Text-formaatin säännöillä. Ominaisuuksien ja makrojen kulmat ja suunnat ovat oletuksena gooneja.

#AREA%.1             Pinta-ala yhdellä desimaalilla.
#SLOPE%q.2           Kaltevuus suhdelukuna kahdella desimaalilla.
$DIRECTION%d.1       Suuntakulma asteina yhdellä desimaalilla.