|
|
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]]
|

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 |

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. |

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
|

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. |

Context
3D-Skript |

ArchiCAD®
since 9.0 |

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).
|