Codetekst

Een tekstregel kan, in plaats van gewone tekst, een speciale code bevatten. Bij het afbeelden van een codetekst in een component wordt bepaalde informatie getoond over de plaatsing van deze component. Codeteksten kunnen ook worden gebruikt in dynamische labels en in vrije eigenschappensets.

Voor het gebruik van codetekst bestaan twee mogelijkheden:

  1. De eerste mogelijkheid is dat de tekstregel alleen maar codetekst bevat. De code moet dan op de eerste positie van de regel beginnen en de regel kan geen andere tekens meer bevatten.

  2. De tweede mogelijkheid is dat de codetekst onderdeel is van een tekstregel. Wanneer een codetekst onderdeel in van een tekstregel dan dient de codetekst verplicht tussen accoladetekens { } te staan, bijvoorbeeld {%1} o.i.d.

Voorbeelden:

  • 'Oppervlakte {%2} m2' levert: 'Oppervlakte 202 m2'

  • '{%2} m2' levert '202 m2'

  • '%2 m2' levert '202', want de overige tekens worden dan genegeerd

Er zijn codes die beginnen met een '%'–teken, codes die beginnen met een '#'-teken en codes die beginnen met een '$'-teken. Hieronder worden deze toegelicht.

De volgende %-teksten zijn beschikbaar:

Code

Omschrijving

{%nD}

Tekeningnaam

{%nL}

Bibliotheeknaam

{%s}

Actuele systeemdatum en -tijd

{%u}

Computer naam

{%U}

Gebruikersnaam

{%0}

Stuks

{%1}

Lengte (m)

{%2}

Oppervlakte (m2)

{%3}

Inhoud (m3)

{%Q}

Hoeveelheid

{%4}

Netto

{%5}

Bruto

{%q}

Eenheid (van %4 en %5)

{%H}

Elementhoogte

{%B}

Bouwlaag

{%b}

Hoogte t.o.v. bouwlaag

{%X}

X t.o.v. nulpunt model

{%Y}

Y t.o.v. nulpunt model

{%Z}

Z t.o.v. nulpunt model

{%x}

X-afstand 1e en 2e controlepunt (bij een vormvast component met 2 of meer controlepunten) of X-afstand plaatsingspunt en 1e controlepunt (bij een vormvast component met 1 controlepunt)

{%y}

Y-afstand 1e en 2e controlepunt (bij een vormvast component met 2 of meer controlepunten) of Y-afstand plaatsingspunt en 1e controlepunt (bij een vormvast component met 1 controlepunt)

{%z}

Standaard plaatsingshoogte

{%d}

Afstand 1e en 2e controlepunt (bij een vormvast component met 2 of meer controlepunten) of afstand plaatsingspunt en 1e controlepunt (bij een vormvast component met 1 controlepunt)

{%D}

Hoek 1e en 2e controlepunt ten opzichte van plaatsingspunt

{%R}

Hoek t.o.v. nulpunt model

{%r}

Helling

{%C}

Componentcode

{%T}

Componenttype

{%c}

Componentomschrijving

{%m}

Fabrikant

{%p}

Productlijn

{%I}

Componentnaam

{%o}

Bestelcode

{%V}

Materiaal

{%e}

IFC entiteit

{%k}

Elementklasse

{%K}

Elementklasse: omschrijving

{%F}

Brandwerendheid

{%i}

Elementnaam

{%l}

Dragend

{%O}

Extern

{%es} of {%g}

Systeem

{%M}

Gespiegeld

{%eg}

Geluidwerendheid

{%ei}

Infiltratie

{%eu}

U-waarde

{%L}

Laag

{%S}

Sublaag

{%A}

Aspect

{%N}

Nivo

{%E}

Elementindex

Formattering van %-codetekst

Codeteksten die een getal weergeven (1, 2, 3, d, D, f, H, Q, R, x, X, y, Y en Z) worden standaard afgebeeld met één decimaal en precies zo breed als nodig is. Hiervan kan worden afgeweken door een expliciete formattering achter de code op te geven, bijvoorbeeld: '%Q:9:2'. Het getal na de eerste dubbele punt bepaalt de lengte voor de gehele regel (inclusief de decimalen en decimale punt). De regel wordt van voren aangevuld met spaties tot deze lengte. De regel wordt niet van voren aangevuld met spaties wanneer dit getal de waarde 0 heeft. Het getal na de tweede dubbele punt regelt het aantal decimalen dat wordt weergegeven. Bij de formattering ':9:2' wordt de waarde 200.005 dus afgebeeld als 3 spaties gevolgd door '200.01'. Bij de formattering ':0:2' wordt de waarde 200.005 dus afgebeeld als '200.01'.

Naast de breedte en het aantal decimalen kunnen twee extra opties worden aangegeven: een "+" betekent: teken van de waarde altijd weergeven, dus niet alleen de -. Een "t" betekent dat het teken aan de achterkant van de waarde wordt opgenomen (Bijv 3600+).

Daarnaast is er een mogelijkheid om een uitzonderingstekst op te geven. Daarmee kan geregeld worden dat een tekst of waarde alleen verschijnt als de waarde afwijkend is. Bijvoorbeeld: een wastafel waarvan de hoogte niet op 850mm is. Voorbeelden:

  • %Z:0:0:500|standaard geeft bij een waarde van 500: 'standaard'

  • %Z:0:0:>500|te hoog geeft bij een waarde groter dan 500: 'te hoog'

  • %Z:0:0:<500|te laag geeft bij een waarde kleiner dan 500: 'te laag'

  • %Z:0:0:>=500|te hoog geeft bij een waarde groter dan of gelijk aan 500: 'te hoog'

  • %Z:0:0:<=500|te laag geeft bij een waarde kleiner dan of gelijk aan 500: 'te laag'

  • %Z:0:0:>500|te hoog|prima geeft bij een waarde op of onder de 500: 'prima'

  • %Z:0:0:>500|te hoog| geeft bij een waarde onder de 500 geen tekst

  • %Z:0:0:>500|te hoog|{%Z:0:0:<250|te laag|} geeft bij een bereik van 250-500 geen waarschuwing, daarbuiten wel

Als de waarde aan de rechterkant van de vergelijking een decimaal bevat (bijvoorbeeld 0.5), let dan op dat deze decimaal aan de linkerkant van de vergelijking ook in de formattering meegenomen is (bijvoorbeeld %Z:0:1 om de waarde af te ronden op 1 decimaal).

Codeteksten die een tekst weergeven (n, U, u) worden standaard precies zo breed als nodig is afgebeeld. Hiervan kan worden afgeweken door een maximale lengte op te geven, bijvoorbeeld '%U:4'. Een tekst die langer is wordt afgekapt, maar een tekst die korter is die wordt niet aangevuld met spaties.

Netto en bruto

Met %0, %1, %2 en %3 kunnen respectievelijk het netto aantal, de netto lengte, de netto oppervlakte en het netto volume weergegeven worden. De codetekst %4 kan gebruikt worden om in het algemeen een nettowaarde weer te geven, waarbij aan de hand van de eigenschappen van het object wordt bepaald welke nettowaarde dat wordt:

  • Bij een vlakvormig component met een hoogte, een cirkel of rechthoek met een hoogte en een piramide of kegel met een variabele hoogte in de component is dit het netto volume (%3).

  • Bij een een lijnvormig object met een hoogte, een vlakvormig object zonder hoogte, een cirkel of rechthoek zonder hoogte en een kegel of piramide zonder een variabele hoogte in de component is dit de netto oppervlakte (%2).

  • Bij een flexibele lijnvormig object, een vormvast object met een hoogte of een lijnvormig object zonder hoogte is dit de netto lengte (%1).

  • In alle andere gevallen wordt het netto aantal weergegeven (%0).

De codetekst %5 roept de brutowaarde op, waarbij volgens dezelfde criteria als bij het bepalen van de nettowaarde wordt bepaald of het om aantal, lengte, oppervlakte of volume gaat.

Formattering van %M-tekst

Syntax: %M[:"tekst indien gespiegeld"[:"tekst indien niet gespiegeld"]] Standaard formattering :"M""" (als geen formattering is opgegeven)

Voorbeelden:

  • %M => is eigenlijk %M:"M" => de tekst 'M' als ja en niets als nee

  • %M:"ja":"nee" => de tekst 'ja' als gespiegeld en de tekst nee als niet gespiegeld.

  • %M::"nee" => de tekst '' als gespiegeld en de tekst 'nee' als niet gespiegeld

Formattering van %n-tekst

Syntax: %nX[:P] [:D] [:N] [:E] Optionele formattering opties:

  • [:P] volledig pad ('C:\Projects\PW41A\')

  • [:D] naam directory ('PW41A')

  • [:N] bestandsnaam ('Model')

  • [:E] bestandsextensie ('.DRW')

Standaard formattering :N:E (als geen formattering is opgegeven) Voorbeelden:

  • %nD => is eigenlijk %nD:N:E => levert dus 'Model.DRW' op

  • %nL:P:N levert dus 'C:\Projects\PW41A\PW41A' op

Formattering van %s-tekst

Syntax: %s[formatteringsopties middels de karakters y, m, d, h, n en s] Formatteringsopties:

Optie

Resultaat

yyyy

jaar lange weergave ('2023')

yy

jaar korte weergave ('23')

mmmm

naam maand ('april')

mmm

naam maand afgekort ('apr')

mm

nummer maand evt eerst een nul ('04' of '12')

m

nummer maand ('4' of '12')

dddd

naam van de dag ('maandag')

ddd

naam van de dag afgekort ('ma')

dd

nummer van dag evt eerst een nul ('02' of '28')

d

nummer van dag ('2' of '28')

hh

uur in 24 uur systeem evt eerst een nul ('03')

h

uur in 24 uur systeem ('3')

nn

minuten evt eerst een nul ('07')

n

minuten ('7')

ss

seconden evt eerst een nul ('02')

s

seconden ('2')

Standaard formattering: %s[dd-mm-yyyy h:nn] (als geen formattering is opgegeven).

Voorbeelden:

  • %s => is eigenlijk %s[dd-mm-yyyy h:nn] => levert '03-04-2023 15:07'

  • %s[dddd d mmmm yyyy] levert 'maandag 3 april 2023'

Formattering van %es-tekst

Syntax: %es[index systeemdeel]

Tussen de punthaken wordt de index ingevuld van het systeemdeel dat getoond moet worden. Voorbeeld: bij een element met als systeem GroepA|SubgroepB|SubsubgroepC resulteert %es[1] in GroepA en %es[3] in SubsubgroepC.

Formattering van %B-tekst

Syntax: %B, %B:s of %B:l

De codetekst %B (bouwlaag) geeft standaard het bouwlaagnummer en de bouwlaagomschrijving weer, maar kan geformatteerd worden om een van die twee te tonen: %B:s voor het bouwlaagnummer en %B:l voor de bouwlaagomschrijving.

Toepassen van formules

De codetekst %f biedt de mogelijkheid om op codeteksten die een getal weergeven (1, 2, 3, d, D, H, Q, R, x, X, y, Y en Z) een zelf te definiëren formule toe te passen, bijvoorbeeld vermenigvuldigen of delen met een bepaalde factor om de komma te verschuiven. Deze formule wordt gedefinieerd door deze tussen vierkante haken achter de %f tekst te zetten. De toegestane operatoren binnen de formule zijn identiek aan de mogelijkheden van de optie voor het toepassen van formules in invoervelden. Een codetekst kan binnen een formule worden gebruikt door deze tussen accolades te zetten.

Syntax: %f[formule met evt. daarin één of meer {%tekst} die in een getal resulteren]

Voorbeelden:

  • %f[(112.54*{%1}) + 200]

  • %f[{%1}*1000.0] geeft %1 weer in mm i.p.v. meters

Ten behoeve van sub- en superscript teksten bevatten de formules mogelijkheden voor afronden naar beneden (INT) en alleen het deel achter de komma (FRAC).

$-tekstcodes

Teksten die beginnen met het teken $, gevolgd door een getal van 1..9 zijn zogenaamde $-codeteksten (\$1..\$9). Deze codeteksten worden net als %-codeteksten in de componentdefinitie opgenomen. Bij %-codeteksten wordt de tekst automatisch door Adomi ingevuld (bijvoorbeeld '%C' wordt vervangen door de componentcode). Bij $-codeteksten dient bij de plaatsing van het component te worden vastgelegd door welke tekstregels de $-codeteksten vervangen moeten worden. Met het commando Statusinformatie (tabblad $-teksten) kunnen deze tekstregels worden vastgelegd. De componentplaatsing kan dan van maximaal 9 tekstregels worden voorzien, die bij het afbeelden de plaats van de teksten $1..\$9 innemen. Door bij de componenteigenschappen aan te geven dat het om een annotatie gaat, kan het aantal beschikbare $-tekstcodes worden uitgebreid naar 26.

Wanneer achter een $-codetekst in een component vierkante haken [ ] staan met daartussen een tekst dan wordt deze tekst als vraagstring getoond in de dialoog van het commando Statusinformatie (tabblad $-teksten).

Voorbeeld: $1[Naam opdrachtgever], dan verschijnt in de dialoog direct voor het invoerveld van de tekstregel behorend bij $1 in plaats van de standaard vraagstring '$1:' de tekst 'Naam opdrachtgever:'.

Wanneer de $-tekst niet direct in het component A zit maar een nesting dieper in component B dan kan de $-tekst toch vervangen worden door de bij de plaatsing van component A gedefinieerde tekstregels. Hiervoor moet de plaatsing van het component B in component A voorzien worden van de tekstregels '$1'..'$9'.

Combinaties van formules en andere speciale teksten

Binnen een formule kunnen ook $-teksten worden opgenomen. Deze $-teksten moeten met extra accolades {} worden omsloten.

Voorbeeld: "Waarde in m = {%f[{$1[Waarde in mm]}/1000]:0:3}"

De gebruikte $-tekst moet natuurlijk wel een geschikte (numerieke) waarde opleveren voor de formule. Dit kan zelfs een %-tekst zijn, bijvoorbeeld door bij de plaatsing als $-tekst de waarde '{%2}' in te vullen (let op de accolades {...}).