Intelligente bygningsdele – opskrift til (SigmaScript)

En opskrift til en intelligent bygningsdel programmeres i SigmaScript, et kodesprog baseret på Pascal, som er let at lære og forstå, og har været brugt siden 1969.
Med SigmaScript er det muligt at læse og behandle data i kalkulationen, samt at opsætte en brugerflade for en bygningsdel, så brugeren (beregneren) let kan interagere med bygningsdelen.

Sigma Enterprise
begynder | ØVET | avanceret

Denne guide gennemgår

 

Det er godt at kende og forstå nogle grundbegreber og -elementer, når du skriver SigmaScript-kode.

Variabler er navngivne, reserverede hukommelsespladser, hvor programmet kan gemme og manipulere data. En variabel kan indeholde forskellige typer af data, f.eks. tal, tekst eller sand/falsk-værdier. Man kan tænke på en variabel som en beholder, der kan indeholde og ændre værdier, efter behov.

Funktioner i SigmaScript er blokke af kode, der udfører en bestemt opgave. Man kan tænke på dem som små underprogrammer, der kan kaldes fra hovedprogrammet. Funktioner kan modtage input, udføre beregninger og returnere et resultat. De hjælper med at organisere og strukturere koden i mindre og mere overskuelige dele.

Operatorer i SigmaScript er symboler eller nøgleord, der bruges til at udføre beregninger eller evaluere udtryk. Der er forskellige typer af operatorer:
-  aritmetiske operatorer (f.eks. +, -, *, /)
-  sammenligningsoperatorer (f.eks. =, >, <)
-  logiske operatorer (f.eks. AND, OR, NOT).
Operatorerne hjælper med at manipulere værdier og tage beslutninger baseret på forskellige betingelser.

I SigmaScript er der forskellige typer af data, som variabler kan indeholde. Nogle af de mest almindelige typer er integer (heltal), float (decimaltal), string (tekststreng), boolean (sand/falsk). Typer hjælper med at definere, hvilken slags data variabler kan indeholde, og sikrer, at de bruges korrekt.

Kontrolstrukturer i SigmaScript er konstruktioner, der styrer, hvordan koden udføres og kontrollerer flowet af programmet.
I Sigma Script er de mest almindelige kontrolstrukturer if-sætninger, som bruges til at tage beslutninger baseret på betingelser.
Andre kontrolstrukturer er loops (f.eks. for-loops og while-loops, der gentager kodeblokke) og case-sætninger (bruges til at håndtere flere mulige betingelser).

Syntaks i SigmaScript henviser til reglerne for, hvordan kode skal struktureres og skrives i sproget. Det inkluderer brug af korrekte nøgleord, symboler og sætningsopbygning. Overholdelse af den korrekte syntaks er afgørende for, at koden kan forstås og udføres korrekt af computeren. Hvis der er fejl i syntaksen, vil programmet ikke kunne køre, og der vil blive genereret fejlmeddelelser. Så at have en korrekt syntax er vigtigt for at have et fungerende program.

 

Eksempel

 

tilbage til toppen

Tilføj / rediger opskrift (SigmaScript) på bygningsdel

Overordnet består tilføjelse / redigering af SigmaScript på en bygningsdel af følgende 5 trin

1. Find og vælg (i Beregningstræet) den bygningsdel du vil tilføje opskrift (SigmaScript) på
2. Gå til Data-båndet og vælg Rediger opskrift (i gruppen “SigmaScript”)
Du får får vist dialogboksen “SigmaScript editor” med fanerne “Initialiserings opskrift”, “Dialog opskrift”, “Udførelses opskrift” og “Avancerede egenskaber”.

klik for større billede
NOTE “Initialiserings opskrift” bruges sjældent, men kan f.eks. bruges til at initialisere variabler (eksempelvis indlæsning af data fra felter for bygningsdelen) inden databehandlingen på “Dialog opskrift”-fanen.
3. Vælg fanen Dialog opskrift, indtast SigmaScript for data-input og data-behandling og vælg Gem og valider
NOTE Find forklaringer til SigmaScript-funktioner og -kontrolstrukturer længere nede
NOTE Hvis bygningsdelen består af flere niveauer, kan du indtaste SigmaScript på hvert niveau
4. Vælg fanen Udførelses opskrift, indtast SigmaScript for data-output og vælg Gem og valider
NOTE Find forklaringer til SigmaScript-funktioner (Udførelses opskrift) længere nede
NOTE Hvis bygningsdelen består af flere niveauer, skal du ofte bruge Udførelses opskrift på flere underkomponenter. Du skal vælge Gem opskrift eller Gem og valider og derefter vælge underkomponent i Beregningstræet.
5. Vælg fanen Avancerede egenskaber og marker afkrydsningfelterne Indeholder opskrift der kan afvikles og Kør automatisk opskrift når komponenten vælges i afsnittet “SigmaScript egenskaber for komponenten”

klik for større billede
NOTE Afhængigt af, hvordan opskriften skal køre kan du markere flere/andre af afkrydsningsfelterne under “SigmaScript egenskaber for komponenten”
NOTE Du kan redigere opskriften ved igen at vælge bygningsdelen i Beregningstræet og derefter gå til Data-båndet og vælge Rediger opskrift

tilbage til toppen

 

En stor del af det at opbygge en intelligent bygningsdel består i, at brugeren skal indtaste data til parametrering af bygningsdelen.

TIP Du kan finde SigmaScript-funktioner via tastaturgenvejen Ctrl+Space - og du kan begrænse antallet af mulige funktioner ved at taste noget af funktionen.

Eksempel: hvis du taster "getch" og derefter trykker Ctrl+Space, får du vist funktioner der indeholder de bogstaver, f.eks. funktionen GetChoice

   klik for større billede

 

Funktionen modtager (sv.t. at brugeren indtaster) et hel-tal (eks. -1, 0, 1, 2 etc.) i den intelligente bygningsdels dialogboks.

funktion GetInteger(label: string, default value: float)
parametre label: string (krævet): ledetekst til indlæsningen

default value: float (valgfri): forvalgt værdi

eksempel Antal := GetInteger("Indtast antal", 1);
screenshots
klik for større billeder - ESC for afslut

 

Funktionen modtager (sv.t. at brugeren indtaster) et decimal-tal (komma-tal) i den intelligente bygningsdels dialogboks.

funktion GetFloat(label: string, default value: float)
parametre label (krævet): ledetekst til indlæsningen

default value (valgfri): forvalgt værdi

eksempel Længde := GetFloat("Indtast længde [m]", 1.5);
screenshots
klik for større billeder - ESC for afslut

 

Funktionen modtager (sv.t. at brugeren indtaster) en tekst i den intelligente bygningsdels dialogboks. Indtastningsfeltet i dialogboksen er på 1 linje

funktion GetText(label: string, default value: string)
parametre label: string (krævet): ledetekst til indtastningen

default value: string (valgfri): forvalgt tekst

eksempel Navn := GetText("Indtast bygningsdel", "bygningsdels navn");
screenshots
klik for større billeder - ESC for afslut

 

Funktionen modtager (sv.t. at brugeren indtaster) en tekst i den intelligente bygningsdels dialogboks. Indtastningsfeltet i dialogboksen er på flere linjer.

funktion GetMemo(label: stringline count: float, default value: string, path to AutoText: string)
parametre label: string (krævet): ledetekst til indtastningen

line count: float (krævet): antal linjer i memo-feltet

default value: string (valgfri): forvalgt tekst

path to AutoText: string (valgfri): sti til fil med auto-tekster

eksempel Navn := GetText("Indtast bygningsdel", "bygningsdels navn");

Beskrivelse := GetMemo("Beskrivelse", 5, "Her indtastes beskrivelsen", "Autotekster\Autotekster_01");

screenshots
klik for større billeder - ESC for afslut

 

Funktionen modtager (sv.t. at brugeren vælger) et valg blandt valgmuligheder i en rulle-menu (alias drop down-menu) i den intelligente bygningsdels dialogboks. Principielt kan der være uendeligt mange valgmuligheder.

OBS første valgmulighed har nummer 0, anden valgmulighed har nummer 1 osv.

funktion GetChoice(label: string, default choice: float, "choice 0", "choice 1", ..., "choice X")
parametre label: string (krævet): ledetekst til valg

default value: float (valgfri): forvalgt valg

choice 0: string (krævet): første valgmulighed

choice 1: string (krævet): anden valgmulighed

choice X: string (krævet): X+1'ende og sidste valgmulighed

eksempel ValgHøjde := GetChoice("Vælg højde", 0, "2,10 m", "2,20 m", "2,30 m", "2,40 m", "2,50 m");
screenshots
klik for større billeder - ESC for afslut

 

Funktionen modtager (sv.t. at brugeren vælger) et valg blandt viste valgmuligheder, såkaldte "radio-knapper", i den intelligente bygningsdels dialogboks. Principielt kan der være uendeligt mange valgmuligheder.

OBS første valgmulighed har nummer 0, anden valgmulighed har nummer 1 osv.

funktion GetRadioChoice(label: string, default choice: float, "choice 0", "choice 1", ..., "choice X")
parametre label: string (krævet): ledetekst til valg

default choice: float (valgfri): forvalgt valg

choice 0: string (krævet): første valgmulighed

choice 1: string (krævet): anden valgmulighed

choice X: string (krævet): X+1'ende og sidste valgmulighed

eksempel ValgOverflade := GetRadioChoice("Vælg overflade", 1, "Ubehandlet", "Grundet", "Grundet og malet");
screenshots
klik for større billeder - ESC for afslut

 

Funktionen modtager (sv.t. at brugeren indtaster) et til eller fravalg i form af markering i en checkboks i den intelligente bygningsdels dialogboks.

OBS fravalg svarer til 0 (false), tilvalg svarer til 1 (true).

funktion GetBoolean(label: string, default choice: float)
parametre label: string (krævet): ledetekst til indtastningen

default value: float (valgfri): forvalgt til- eller fravalg

eksempel ValgStillads := GetBoolean("Medregn stillads", 0);
screenshots
klik for større billeder - ESC for afslut

 

Funktionen læser/henter data fra en specificeret kolonne.

Funktionen håndterer 2 data typer, tekst (String) eller tal (Float).
Det er således muligt at hente tal fra tal-kolonner, som enten tal tekst, afhængigt af hvad du skal bruge data til.

Data type: String (tekst)
funktion Self.Get[kolonne]AsString()

[kolonne] = kolonnens ID, eks. Number for Nr-kolonnen og Text for Tekst-kolonnen

parametre <No parameters required>
eksempler HentNummer := Self.GetNumberAsString();

HentTekst := Self.GetTextAsString();

HentEnhed := Self.GetUnitsAsString();

HentMængde := Self.GetQuantityAsString();

screenshots
klik for større billeder - ESC for afslut
andre kolonner Self.GetTextAsString();
Self.GetCategoryAsString();
Self.GetUnitAsString();
Self.GetQuantityAsString();
Self.GetQuantityMinAsString();
Self.GetQuantityTypAsString();
Self.GetQuantityMaxAsString();
Self.GetUnitPriceAsFloat();
Self.GetCostPriceAsString();

 

Data type: Float   (decimaltal)
funktion Self.Get[kolonne]AsFloat()

[kolonne] = kolonnens ID, eks. Number for Nr-kolonnen og Text for Tekst-kolonnen

parametre <No parameters required>
eksempler HentMængde := Self.GetQuantityAsFloat();

HentEnhedspris := Self.GetTextAsString();

HentKostpris := Self.GetUnitsAsFloat();

screenshots
klik for større billeder - ESC for afslut
andre kolonner Self.GetQuantityAsFloat();
Self.GetQuantityMinAsFloat();
Self.GetQuantityTypAsFloat();
Self.GetQuantityMaxAsFloat();
Self.GetUnitPriceAsFloat();
Self.GetCostPriceAsFloat();

 

Funktionen læser/henter data fra en ekstrafelt-kolonne.

Funktionen håndterer både tekst- og tal-data.

     funktion Self.GetCustomFieldValue(id: string);
         parametre id: string (krævet): ekstrafeltets ID, som findes i ekstrafeltets egenskaber (se Ekstra felter i  båndet Data)
     eksempler HentLeverandør := Self.GetCustomFieldValue("SUPPLIER");

HentMængde := Self.GetQuantityAsString();

     screen shots
klik for større billeder

 

tilbage til toppen

tilbage til toppen

Ud fra input kan der træffes valg / foretages handlinger. Dette styres ved brug af kontrolstrukturer:

hvis   betingelse er opfyldt   så
     udfør handling 1
ellers
     udfør handling 2

 

TIP Du kan finde SigmaScript-funktioner via tastaturgenvejen Ctrl+Space - og du kan begrænse antallet af mulige funktioner ved at taste noget af funktionen.

Eksempel: hvis du taster "getch" og derefter trykker Ctrl+Space, får du vist funktioner der indeholder de bogstaver, f.eks. funktionen GetChoice

   klik for større billede

 

Kontrolstrukturen foretager en eller flere handliger, hvis en betingelse er opfyldt.

kontrolstruktur if [betingelsethen

[handling 1]

else

[handling 2]

variant if [betingelsethen
begin

[handling 1a]
[handling 1b]
...
[handling 1x]

end
else
begin

[handling 2a]
[handling 2b]
...
[handling 2x]

end;

eksempel 1 if Højre then

Sving := "til højre";

else

Sving := "til venstre";

screenshots
klik for større billeder - ESC for afslut
eksempel 2 if (Stillads) then
begin

DageStillads := GetInteger("Indtast antal dage", 1);
DagsprisStillads := GetFloat("Indtast dagspris", 0.00);

end
else
begin

DageStillads := 0;
DagsprisStillads := 0.00;

end;

screenshots
klik for større billeder - ESC for afslut

 

Kontrolstrukturen foretager en eller flere handliger, hvis en betingelse er opfyldt.

kontrolstruktur if [betingelse 1then

[handling 1]

else

if [betingelse 2] then

[handling 2]

else

if [betingelse 3] then

[handling 3]

else

if [betingelse X] then

[handling X]

     variant if [betingelse 1then
begin

[handling 1a]
[handling 1b]
...
[handling 1x]

end
else

if [betingelse 2then
begin

[handling 2a]
[handling 2b]
...
[handling 2x]

end
else

if [betingelse 3then
begin

[handling 3a]
[handling 3b]
...
[handling 3x]

end
else

if [betingelse Xthen
begin

[handling Xa]
[handling Xb]
...
[handling Xx]

end;

eksempel 1 if (ValgOverflade = 0) then

Overflade := "ubehandlet";

else

   if (ValgOverflade = 1) then

Overflade := "grundet";

else

if (ValgOverflade = 2) then

Overflade := "grundet og malet";

screenshots
klik for større billeder - ESC for afslut
eksempel 2 if (ValgHøjde = 0) then
begin

Højde := 2.10;
Væghøjde := "2100 mm";

else

if (ValgHøjde = 1) then
begin

Højde := 2.20;
Væghøjde := "2200 mm";

end
else

if (ValgHøjde = 2) then
begin

Højde := 2.30;
Væghøjde := "2200 mm";

end
else

if (ValgHøjde = 3) then
begin

Højde := 2.40;
Væghøjde := "2400 mm";

end
else

if (ValgHøjde = 4) then
begin

Højde := 2.40;
Væghøjde := "2400 mm";

end
else

if [betingelse 3] then
begin

Højde := 2.50;
Væghøjde := "2500 mm";

end;

screenshots
klik for større billeder - ESC for afslut

 

tilbage til toppen

Hvis data (tekst eller tal) skal gemmes, f.eks. fordi bygningsdelen skal kunne genberegnes, kan data gemmes i rapportvariable eller i konstanter.

I rapportvariabler gemmes data som tekst. Derfor skal tal fra en rapportvariabel konverteres fra tekst til tal, og muligvis også formateres, hvis tallet f.eks. skal vises med et bestemt antal decimaler.

I konstanter gemmes data som tal (og kan derfor ikke bruges til at gemme tekster!)

 

TIP Du kan finde SigmaScript-funktioner via tastaturgenvejen Ctrl+Space - og du kan begrænse antallet af mulige funktioner ved at taste noget af funktionen.

Eksempel: getch, efterfulgt af Ctrl+Space

   klik for større billede

 

Funktionen gemmer tekst (eller tal i form af tekst - se variant) i en rapportvariabel

Tekst
funktion Projekt.SetReportVariable(name: string, text: string)
parametre name: string (krævet): fast tekst angivet i anførselstegn (rapportvariablens navn)

text: string (krævet): variabel-navn (eller en fast tekst angivet i anførselstegn)

eksempel Projekt.SetReportVariable("Bygningsdelsnavn", Navn);
screenshot
klik for større billeder - ESC for afslut

 

Tal   (som tekst)
variant Projekt.SetReportVariable(name: string, text: string)
parametre name: string (krævet): fast tekst angivet i anførselstegn (rapportvariablens navn)

text: string (krævet): tekst-streng som indeholder både formatering (FormatFloat) og navnet på den variabel, som indholder tallet, der skal gemmes (tekst angivet i anførselstegn)

eksempel Projekt.SetReportVariable("Længde", FormatFloat("#,##0.00", Længde));
screenshot
klik for større billeder - ESC for afslut

 

Funktionen henter tekst i en rapportvariabel.
Hvis rapportvariablen indholder et tal i form af en tekst, skal teksten konverteres til et tal, vha. funktionen StrToFloat.

Tekst
funktion Projekt.GetReportVariable(name: string)
parametre name: string (krævet): fast tekst angivet i anførselstegn (rapportvariablens navn)
eksempel 1 Bygningsdel := Projekt.GetReportVariable("Bygningsdelsnavn");
eksempel 2 Bygningsdel := GetText("Indtast navn på bygningsdel", Project.GetReportVariable("Bygningsdel"));
screenshot
klik for større billeder - ESC for afslut

 

Tal, konverteret fra en tekst
funktion StrToFloat(text: string)
parametre text: string (krævet): i denne kontekst teksten gemt i rapportvariablen
eksempel 1 Længde := StrToFloat(Projekt.GetReportVariable("Længde");
eksempel 2 Højde := GetFloat("Indtast højde [m]", StrToFloat(Project.GetReportVariable("Højde")));
screenshot
klik for større billeder - ESC for afslut

 

Funktionen gemmer data (i form af tal) i en konstant

funktion Projekt.SetConstant(name: string, value: float)
parametre name: string (krævet): fast tekst angivet i anførselstegn (rapportvariablens navn)

value: float (krævet): værdi (eller variabel-navn)

eksempel 1 Projekt.SetConstant("Antal", 2);
eksempel 2 Projekt.SetConstant("Højde", Højde);
screenshots
klik for større billeder - ESC for afslut

 

Funktionen henter data (i form af tal) fra en konstant

funktion Projekt.GetConstant(name: string)
parametre name: string (krævet): fast tekst angivet i anførselstegn (konstantens navn)
eksempel Projekt.GetConstant("Bygningsdelsnavn")
screenshots
klik for større billeder - ESC for afslut

 

Funktionen konverterer data fra tekst til tal

funktion StrToFloat(text: string)
parametre text: string (krævet): fast tekst angivet i anførselstegn (eller en hentet rapportvariabel)
eksempel 1 StrToFloat("100");
eksempel 2 StrToFloat(Projekt.SetReportVariable("Længde");
screenshots
klik for større billeder - ESC for afslut

 

funktion StrToFloat(text: string)
parametre text: string (krævet): i denne kontekst teksten gemt i rapportvariablen
eksempel 1 Længde := StrToFloat(Projekt.GetReportVariable("Længde");
eksempel 2 Højde := GetFloat("Indtast højde [m]", StrToFloat(Project.GetReportVariable("Højde")));
screenshot
klik for større billeder - ESC for afslut

 

Funktionen formaterer en talværdi

funktion Format(format: string, value: float)
parametre format: string (krævet): formattering i form af en tekst angivet i anførselstegn.
- 0 er en cifferpladsholder. Hvis der er et tilsvarende ciffer i værdien, erstattes 0 med det ciffer. Hvis ikke, efterlades 0 som det er.
- # er også en cifferpladsholder. Hvis der er et tilsvarende ciffer i værdien, erstattes # med det ciffer. Hvis ikke, fjernes det.
- . (punktum) bestemmer placeringen af decimaltegnet (decimalkommaet)
- , (komma) bestemmer brugen af tusindtalsseparator i outputstrengen. Hvis formatstrengen indeholder et eller flere ',' tegn, bruges tusindtalsseparatorer.value: float (krævet): værdi (eller varialbel-navn - eller hentet og konverteret rapport-variabel)
eksempel 1 Format("#,##0.00", 10000)
eksempel 2 Format("0.000", "Længde")
eksempel 3 Format("#,###,##0.00", StrToFloat(Projekt.GetReportVariable("Højde"));
screenshots
klik for større billeder - ESC for afslut

 

tilbage til toppen

En dialogboks med et godt layout gør den intelligente bygningsdel nemmere at forstå og bruge.
En linje i den intelligente bygningsdels dialogboks deles op i "Label" og "Control".

  • "Label" er den venstre del og bruges til ledetekst, eksempelvis "Indtast længde [m]" fra eksemplet på et decimal-tal.
  • "Control" er den højre del og bruges til indtastningsfelterne.

klik for større billede

 

TIP Du kan finde SigmaScript-funktioner via tastaturgenvejen Ctrl+Space - og du kan begrænse antallet af mulige funktioner ved at taste noget af funktionen.

Eksempel: getch, efterfulgt af Ctrl+Space

   klik for større billede

 

Funktionen styrer højde og bredde på den intelligente bygningsdels dialogboks.

funktion SetWindowSize(height: float, width: float)

NB der er byttet rundt på height og width:
- 1. parameter er bredde
- 2. parameter er højde 

parametre height: float (krævet): "højde" (bredde) i pixels

width: float (krævet): "bredde" (højde) i pixels

eksempel SetWindowSize(1000, 400);
screenshots
klik for større billeder - ESC for afslut

 

Funktionen styrer hvor label-kolonnen starter, regnet i pixels fra venstre.

funktion SetLabelStart(value:float)
parametre value: float (krævet): afstand i pixels, fra "position" 0
eksempel SetLabelStart(10);
screenshots
klik for større billeder - ESC for afslut

 

Funktionen styrer bredden af label-kolonne, regnet i pixels.

funktion SetLabelWidth(value:float)
parametre value: float (krævet): bredde i pixels, fra Label Start
eksempel SetLabelStart(100);
screenshots
klik for større billeder - ESC for afslut

 

Funktionen styrer bredden af control-kolonne, regnet i pixels fra hvor label-kolonnen slutter.

funktion SetControlWidth(value:float)
parametre value: float (krævet): bredde i pixels, fra Label Start
eksempel SetLabelStart(100);
screenshots
klik for større billeder - ESC for afslut

 

Funktionen sætter bredden af label-kolonne tilbage til standard bredde (175 pixels).

funktion ResetLabelWidth()
parametre <No parameters required>
eksempel ResetLabelStart();
screenshots
klik for større billeder - ESC for afslut

 

Funktionen sætter bredden af control-kolonne tilbage til standard bredde  (200 pixels).

funktion ResetControlWidth()
parametre <No parameters required>
eksempel ResetControlStart();
screenshots
klik for større billeder - ESC for afslut

 

Funktionen styrer placering af tekst, tal, input i control-kolonne, om det skal står centreret, venstre- eller højrejusteret.

Højre-justeret bruges typisk, hvis der står tal i control-kolonnen.
Venstre-justeret bruges typisk, hvis der står tekst i control-kolonnen.

funktion SetControAlignment(value: string)
parametre value: string (krævet): "Right", "Center" eller "Left"
eksempel SetControlAlignment("Left");
SetControlAlignment("Right");
SetControlAlignment("Center");
screenshots
klik for større billeder - ESC for afslut

 

Funktionen styrer bredden af control-kolonne, regnet i pixels fra hvor label-kolonnen slutter.

funktion AddHeader(value:string)
parametre value: string (krævet): overskrift-teksten
eksempel AddHeader("Stillads");
screenshots
klik for større billeder - ESC for afslut

 

Funktionen styrer bredden af control-kolonne, regnet i pixels fra hvor label-kolonnen slutter.

funktion parametre AddPage(value:string)
parametre value: string (krævet): navn på side
eksempel AddPage("Indtastning");
screenshots
klik for større billeder - ESC for afslut

 

Funktionen styrer bredden af control-kolonne, regnet i pixels fra hvor label-kolonnen slutter.

funktion UseComment(value: string)
parametre value: string (krævet): kommentar-tekst
eksempel UseComment("Ydervæg");
screenshots
klik for større billeder - ESC for afslut

 

Der er 2 funktioner til at vise tekst:

  • AddText, indsætter tekst i label-kolonnen,
  • ShowText, benytter både label- og control-kolonnen.

 

funktion AddText(value: string)
parametre value: string (krævet): teksten der skal vises
eksempel AddText(Væggens areal er ” + Areal + ” kvadratmeter”);
screenshots
klik for større billeder - ESC for afslut

 

funktion ShowText(value: string, value: string)
parametre value: string (krævet): teksten der skal vises
eksempel ShowText(Væggens areal er “, “” + Areal + ” m2″);
screenshots
klik for større billeder - ESC for afslut

 

Der er 2 funktioner til at vise et billede:

  • AddImage, indsætter billede i control-kolonnen (og beskrivelse i label-kolonnen)
  • UseImage, benytter en kolonne til ventre for label-kolonnen

 

funktion AddImage(image: string, width: float, height: float)
parametre image: string (krævet): teksten der skal vises

width: float (valgfri): bredde i pixels

height: float (valgfri): højde i pixels

eksempel AddImage("Kontorbygning", "Office Building", 200, 100);
screenshots
klik for større billeder - ESC for afslut

 

funktion UseImage(image: string, width: float, height: float)
parametre image: string (krævet): teksten der skal vises

width: float (valgfri): bredde i pixels

height: float (valgfri): højde i pixels

eksempel UseImage("Kontorbygning", 300, 200);
screenshots
klik for større billeder - ESC for afslut

 

tilbage til toppen

 

Alle bygningsdelens felter (kolonner) kan styres ved hjælp af Self-funktioner og navnet på den variabel, som indholder værdien / teksten.

 

TIP Du kan finde SigmaScript-funktioner via tastaturgenvejen Ctrl+Space - og du kan begrænse antallet af mulige funktioner ved at taste noget af funktionen.

Eksempel: getch, efterfulgt af Ctrl+Space

   klik for større billede

 

Funktionen skriver i Tekst-feltet for den valgte komponent.
Hvis den intelligente bygningsdel har flere niveauer, kan funktionen bruges uafhængigt på hoved- og underkomponenter.

funktion Self.SetText(value: string)
parametre value: string (krævet): variabel-navn (eller en fast tekst angivet i anførselstegn)
variant Self.SetText(value: float)
parametre value: float (krævet): variabel-navn (eller en fast værdi)
eksempel 1 - variabelnavn Self.SetNumber(Bygningsdel);
eksempel 2 - fast tekst Self.SetNumber("Navn");
eksempel 3 - fast værdi Self.SetNumber(10);
screenshots
klik for større billeder - ESC for afslut

 

Funktionen skriver i Nummer-feltet for den valgte komponent.
Hvis den intelligente bygningsdel har flere niveauer, kan funktionen bruges uafhængigt på hoved- og underkomponenter.

funktion Self.SetNumber(value: string)
parametre value: string (krævet): variabel-navn (eller en fast tekst angivet i anførselstegn)
variant Self.SetNumber(value: float)
parametre value: float (krævet): variabel-navn (eller en fast værdi)
eksempel 1 - variabelnavn Self.SetNumber(varenummer);
eksempel 2 - fast tekst Self.SetNumber("3610000039");
eksempel 3 - fast værdi Self.SetNumber(10);
screenshots
klik for større billeder - ESC for afslut

 

Funktionen skriver i Kategori-feltet for den valgte komponent.
Hvis den intelligente bygningsdel har flere niveauer, kan funktionen bruges uafhængigt på hoved- og underkomponenter.

funktion Self.SetCategori(value: string)
parametre value: string (krævet): variabel-navn (eller en fast tekst angivet i anførselstegn)
variant Self.SetCategori(value: float)
parametre value: float (krævet): variabel-navn (eller en fast værdi)
eksempel 1 - variabelnavn Self.SetCategori(Kategori);
eksempel 2 - fast tekst Self.SetCategori("Materialer");
eksempel 3 - fast værdi Self.SetCategori(10);
screenshots
klik for større billeder - ESC for afslut

 

Funktionen skriver i Enhed-feltet for den valgte komponent.
Hvis den intelligente bygningsdel har flere niveauer, kan funktionen bruges uafhængigt på hoved- og underkomponenter.

funktion Self.SetUnits(value: string)
parametre value: string (krævet): variabel-navn (eller en fast tekst angivet i anførselstegn)
variant Self.SetUnits(value: float)
parametre value: float (krævet): variabel-navn (eller en fast værdi)
eksempel 1 - variabelnavn Self.SetUnits(Enhed);
eksempel 2 - fast tekst Self.SetUnits("liter");
eksempel 3 - fast værdi Self.SetUnits(10);
screenshots
klik for større billeder - ESC for afslut

 

Funktionen skriver i Mængde-feltet for den valgte komponent.
Hvis den intelligente bygningsdel har flere niveauer, kan funktionen bruges uafhængigt på hoved- og underkomponenter.

funktion Self.SetQuantity(value: float)
parametre value: float (krævet): variabel-navn (eller en fast værdi)
eksempel 1 - variabelnavn Self.SetQuantity(Areal);
eksempel 2 - fast tekst Self.SetQuantity(25);
screenshots
klik for større billeder - ESC for afslut

 

Funktionen skriver i Mængde-feltet for den valgte komponent.
Hvis den intelligente bygningsdel har flere niveauer, kan funktionen bruges uafhængigt på hoved- og underkomponenter.

funktion Self.SetUnitPrice(value: float)
parametre value: float (krævet): variabel-navn (eller en fast værdi)
eksempel 1 - variabelnavn Self.SetUnitPrice(Enhedspris);
eksempel 2 - fast tekst Self.SetUnitPrice(25);
screenshots
klik for større billeder - ESC for afslut

 

Funktionen skriver i Mængde-feltet for den valgte komponent.
Hvis den intelligente bygningsdel har flere niveauer, kan funktionen bruges uafhængigt på hoved- og underkomponenter.

funktion Self.SetRegulation(value: float)
parametre value: float (krævet): variabel-navn (eller en fast værdi)
eksempel 1 - variabelnavn Self.SetRegulation(Prisregulering);
eksempel 2 - fast tekst Self.SetCostPrice(0.8);
screenshots
klik for større billeder - ESC for afslut

 

Funktionen skriver i et ekstrafelt for den valgte komponent.
Hvis den intelligente bygningsdel har flere niveauer, kan funktionen bruges uafhængigt på hoved- og underkomponenter.

funktion Self.SetCustomFieldValue(id: string, text: string)
parametre value: string (krævet): variabel-navn (eller en fast tekst angivet i anførselstegn)
eksempel Self.SetCustomFieldValue("SUPPLIER", Leverandør);
screenshots
klik for større billeder - ESC for afslut

 

funktion Self.SetCustomFieldValue(id: string, value: float)
parametre value: float (krævet): variabel-navn (eller en fast værdi)
eksempel Self.SetCustomFieldValue("Vgtprenhed", Vægt);
screenshots
klik for større billeder - ESC for afslut

tilbage til toppen