Syntax
REQUEST{2} ("MATERIAL_INFO", material, parametername, variable1 [,... variable5])

Aufklappen Wertebereiche
material, Typ Text oder integer
parametername, Typ Text [*]
variablei, Typ real

[*] Standardschlüsselwörter:
gs_mat_surface_rgb = Oberflächenfarbe als RGB-Werte (1)
gs_mat_transparent = Durchlässigkeitsfaktor bei Transparenz (2)
gs_mat_transp_att = Abstrahlungsabminderung bei Transparenz (4)
gs_mat_ambient = Streulichtfaktor bei Reflexion (2)
gs_mat_diffuse = Diffuser Anteil bei Reflexion (2)
gs_mat_shining = Dämpfung des Glanzlichts bei Reflexion (3)
gs_mat_specular = Faktor für glänzende Spiegelung (2)
gs_mat_specular_rgb = Gespiegelte Farbe als RGB-Werte (1)
gs_mat_emission_att = Abminderung für Abstrahlung (3)
gs_mat_emission_rgb = Abstrahlfarbe als RGB-Werte (1)
gs_mat_fill_ind = Indexnummer der Oberflächenschraffur
gs_mat_fillcolor_ind = Stiftnummer des Schraffurstiftes
gs_mat_texture = Indexnummer der Textur (5)

(1) 3 Ergebnisse (rot, grün, blau) 0 ≤ variablei ≤ 1
(2) 0 ≤ variable ≤ 1
(3) 0 ≤ variable ≤ 100
(4) 0 ≤ variable ≤ 4
(5) variable1=Dateiname, Typ Text, variable2=Breite, Typ real, variable3=Höhe, Typ real, variable4=Maskierung, Typ integer, variable5=Winkel, Typ real
Die Maskierung der Textur sezt sich wie folgt zusammen:
Maskierung = s1 + s2 + s3 +s 4 + s5 + s6 + s7 + s8 + s9 + s10 mit
s1=1: Alpha-Kanaleffekt Transparenz
s2=2: Alpha-Kanaleffekt Bump Mapping
s3=4: Alpha-Kanaleffekt Diffus
s4=8: Alpha-Kanaleffekt Glanz
s5=16: Alpha-Kanaleffekt Streulicht
s6=32: Alpha-Kanaleffekt Oberfläche
s7=64: Lage des Ursprungs zufällig
s8=128: Kachelung horizontal gespiegelt
s9=256: Kachelung vertikal gespiegelt
s10=512: Keine Ahnung. "Originalproportion" ist es jedenfalls nicht. Immer an!

Aufklappen Erläuterung
Gibt Materialinformationen zuvor im Skript definierter oder unter Optionen/Materialeinstellungen eingestellter Materialien zurück.
Welches Material abgefragt werden soll wird durch das Abfrageobjekt material definiert. Ist es vom Typ Text, handelt es sich um den Klartextnamen, ist es ein numerischer Wert, handelt es sich um die Indexnummer des Materials. Die Zuordnung der Indizes zu den Namen kann unter Optionen/Attributemanager übersichtlich nachvollzogen werden.

Durch ein 2. Abfrageobjekt (parametername) wird die Art der Informationen, die abgerufen werden soll, angegeben. parametername kann dabei die fest vorgegebenen Schlüsselwörter für die Standardmaterialeigenschaften als Text annehmen, aber auch ggf. ergänzend festgelegte Namen von definierten Zusatzinformationen (ADDITIONAL DATA). Siehe dazu auch die Erklärungen zu DEFINE MATERIAL.

Die REQUEST{2} Funktion übergibt dann in der Folge alle Werte an die nachfolgende Variable. Bei der Abfrage der RGB-Wert oder Texturinformationen kann auch statt mehrerer einzelner Variablen ein eindimensionales Array mit 3-5 Feldern oder ein dynamisches Array verwendet werden. Die Ergebnisse stehen dann aufsteigend in den ersten Feldern.

Ist keine Oberflächenschraffurstift zugewiesen ist die Stiftnummer -1.

Aufklappen Beispiel Erläuterung
mat="Beton"

sh=2.5
DEFINE STYLE "LEFT" "Arial", sh,3,1
DEFINE STYLE "RIGHT" "Arial", sh,1,0
STYLE "RIGHT"

s=-sh/1000*GLOB_SCALE*1.5
t=-s/2


dim val3[]

frage="gs_mat_surface_rgb"
sts = REQUEST{2} ("Material_info", mat, frage, valR,valG,valB)
STYLE "LEFT" : TEXT2 0,0,frage
STYLE "RIGHT" : TEXT2 t,0,valR : ADD2 0,s
STYLE "RIGHT" : TEXT2 t,0,valG : ADD2 0,s
STYLE "RIGHT" : TEXT2 t,0,valB : ADD2 0,s

frage="gs_mat_ambient"
sts = REQUEST{2} ("Material_info", mat, frage, val1)
STYLE "LEFT" : TEXT2 0,0,frage
STYLE "RIGHT" : TEXT2 t,0,val1 : ADD2 0,s

frage="gs_mat_diffuse"
sts = REQUEST{2} ("Material_info", mat, frage, val1)
STYLE "LEFT" : TEXT2 0,0,frage
STYLE "RIGHT" : TEXT2 t,0,val1 : ADD2 0,s

frage="gs_mat_specular"
sts = REQUEST{2} ("Material_info", mat, frage, val1)
STYLE "LEFT" : TEXT2 0,0,frage
STYLE "RIGHT" : TEXT2 t,0,val1 : ADD2 0,s

frage="gs_mat_transparent"
sts = REQUEST{2} ("Material_info", mat, frage, val1)
STYLE "LEFT" : TEXT2 0,0,frage
STYLE "RIGHT" : TEXT2 t,0,val1 : ADD2 0,s

frage="gs_mat_shining"
sts = REQUEST{2} ("Material_info", mat, frage, val1)
STYLE "LEFT" : TEXT2 0,0,frage
STYLE "RIGHT" : TEXT2 t,0,val1 : ADD2 0,s

frage="gs_mat_transp_att"
sts = REQUEST{2} ("Material_info", mat, frage, val1)
STYLE "LEFT" : TEXT2 0,0,frage
STYLE "RIGHT" : TEXT2 t,0,val1 : ADD2 0,s

frage="gs_mat_specular_rgb"
sts = REQUEST{2} ("Material_info", mat, frage, val3)
STYLE "LEFT" : TEXT2 0,0,frage
STYLE "RIGHT" : FOR i=1 to 3 : TEXT2 t,0,val3[i] : ADD2 0,s : NEXT i

frage="gs_mat_emission_rgb"
sts = REQUEST{2} ("Material_info", mat, frage, val3)
STYLE "LEFT" : TEXT2 0,0,frage
STYLE "RIGHT" : FOR i=1 to 3 : TEXT2 t,0,val3[i] : ADD2 0,s : NEXT i

frage="gs_mat_emission_att"
sts = REQUEST{2} ("Material_info", mat, frage, val1)
STYLE "LEFT" : TEXT2 0,0,frage
STYLE "RIGHT" : TEXT2 t,0,val1 : ADD2 0,s

frage="gs_mat_fill_ind"
sts = REQUEST{2} ("Material_info", mat, frage, val1)
STYLE "LEFT" : TEXT2 0,0,frage
STYLE "RIGHT" : TEXT2 t,0,val1 : ADD2 0,s

frage="gs_mat_fillcolor_ind"
sts = REQUEST{2} ("Material_info", mat, frage, val1)
STYLE "LEFT" : TEXT2 0,0,frage
STYLE "RIGHT" : TEXT2 t,0,val1 : ADD2 0,s

frage="gs_mat_texture"
sts = REQUEST{2} ("Material_info", mat, frage, val3)
STYLE "LEFT" : TEXT2 0,0,frage
STYLE "RIGHT" : FOR i=1 to 5 : TEXT2 t,0,val3[i] : ADD2 0,s : NEXT i

Aufklappen ArchiCAD
ab 9.0