coord-transf.2d elements3d elementsnon geo scriptsfunctionscontrol statem.attributesvariousaddons
generallinesfillsmaterialstextextended
MATERIAL DEFINE MATERIAL DEFINE MATERIAL BASED_ON DEFINE TEXTURE
Name
DEFINE_MATERIAL_BASED_ON
Syntax
DEFINE MATERIALname [,] BASED_ON original_material [,] PARAMETERS keyword1 = expression1 [...,
keywordn = expressionn] [,] [
ADDITIONAL_DATA parametername1 = expressionn+1 [..., parameternamem = expressionn+m]]
Aufklappen Range
name, Typ Text
original_material, Typ Text
keywordi, Typ Schlüsselwortname (*)
expressioni, Typ real, Wertebereich abhängig von keywordi oder parameternamei

(*) Zulässige Schlüsselwörter und ihr Wertebereich:
0 ≤ gs_mat_surface_r ≤ 1
0 ≤ gs_mat_surface_g ≤ 1
0 ≤ gs_mat_surface_b ≤ 1

0 ≤ gs_mat_ambient ≤ 1
0 ≤ gs_mat_diffuse ≤ 1
0 ≤ gs_mat_specular ≤ 1
0 ≤ gs_mat_transparent ≤ 1
0 ≤ gs_mat_shining ≤ 100
0 ≤ gs_mat_transp_att ≤ 4
0 ≤ gs_mat_emission_att ≤ 65.5

0 ≤ gs_mat_specular_r ≤ 1
0 ≤ gs_mat_specular_g ≤ 1
0 ≤ gs_mat_specular_b ≤ 1

0 ≤ gs_mat_emission_r ≤ 1
0 ≤ gs_mat_emission_g ≤ 1
0 ≤ gs_mat_emission_b ≤ 1

0 ≤ gs_mat_fill_ind
0 ≤ gs_mat_fillcolor_ind ≤ 255
0 ≤ gs_mat_texture_ind
Aufklappen Description
Definiert, basierend auf einem existierenden Material (original_material), ein neues Material (name), in dem gezielt Einstellungen geändert werden können. Dazu kann mit keywordi ein Attribut des Materials benannt und mit einem neuen numerischen expressioni überschrieben werden. Attribute, die nicht geändert werden, werden vom Originalmaterial überschrieben.

Das Originalmaterial muss mit seinem Textnamen angegeben werden. Mit REQUEST ("Name_of_material", ...) kann ein Materialindex in den Klartextnamen gewandelt werden.

Die Funktionalität entspricht der des DEFINE MATERIAL-Befehls.

Ohne ein neues Material zu definieren, können die Materialeigenschaften mit REQUEST{2}("Material_info" ...) abgerufen werden.
Aufklappen Example
Beispiel 1:
DEFINE MATERIAL "rotes Glas" BASED_ON "Glas" PARAMETERS gs_mat_surface_r=1,
gs_mat_surface_g=0.4,
gs_mat_surface_b=0.4

SET MATERIAL "rotes Glas"
BRICK 1,0.012,1
ADDX 1

SET MATERIAL "Glas"
BRICK 1,0.012,1


Beispiel 2: Geändert werden soll ein Material, das nur mit seinem numerischen Materialindex (originalmaterial) vorliegt.
sts=REQUEST ("Name_of_material", originalmaterial, materialname)

DEFINE MATERIAL "opak-blaues Material" BASED_ON materialname PARAMETERS gs_mat_surface_r=0.4,
gs_mat_surface_g=0.4,
gs_mat_surface_b=1,
gs_mat_transparent=0

SET MATERIAL "opak-blaues Material"
BRICK 1,0.012,1
ADDX 1

SET MATERIAL originalmaterial
BRICK 1,0.012,1

Aufklappen Specialities
Siehe DEFINE MATERIAL-Befehl.

Der Bereich ADDITIONAL_DATA wird separat erläutert.

Das optionale Komma (,) vor BASED_ON, PARAMETERS und ADDITIONAL_DATA wurde mit ArchiCAD® 10 eingeführt, um mit den Befehlsteilen eine neue Programmzeile beginnen zu können, und war zuvor nicht erlaubt. Diese Quellcodelayout-unterstützende Option sollte since ArchiCAD® 10 verwendet werden.
Aufklappen Context
3D-Skript
Aufklappen ArchiCAD®
since 9.0
Aufklappen References
GDL-Handbuch 9.0 (DE) p. 165
GDL-Handbuch 10.0 (DE) p. 163/178
GDL-Handbuch 11.0 (DE) p. 169/184
GDL Reference Guide 9.0 (INT) p. 161
GDL Reference Guide 10.0 (INT) p. 163/177
GDL Reference Guide 11.0 (INT) p. 163/177
 






Zuordnung der Schlüsserwörter (Das Präfix "gs_mat_" ist zu ergänzen).