coord-transf.2d elements3d elementsnon geo scriptsfunctionscontrol statem.attributesvariousaddons
placeholdersexpressionsoperatorsstatus codesbuffer storageglobal param.environ. values
REQUEST REQUEST{2} REQ
Name
REQUEST{2}

   
Syntax:
REQUEST{2} ("MATERIAL_INFO", material, parametername, variable1 [,... variable5])
Aufklappen Wertebereich
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 ArchiCAD
since 9.0
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:
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 Referenzen:
GDL-Handbuch 9.0 (DE) p. 252
GDL-Handbuch 10.0 (DE) p. 254
GDL-Handbuch 11.0 (DE) p. 260
GDL Reference Guide 9.0 (INT) p. 242
GDL Reference Guide 10.0 (INT) p. 250
GDL Reference Guide 11.0 (INT) p. 251