Name
DEFINE_MATERIAL_BASED_ON

Syntax
DEFINE MATERIAL name [,] BASED_ON originalmaterial [,] PARAMETERS schlüsselwort1 = ausdruck1 [...,
schlüsselwortn = ausdruckn] [,] [
ADDITIONAL_DATA parametername1 = ausdruckn+1 [..., parameternamem = ausdruckn+m]]

Aufklappen Wertebereiche
name, Typ Text
originalmaterial, Typ Text
schlüsselworti, Typ Schlüsselwortname (*)
ausdrucki, Typ real, Wertebereich abhängig von schlüsselworti 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 Erläuterung
Definiert, basierend auf einem existierenden Material (originalmaterial), ein neues Material (name), in dem gezielt Einstellungen geändert werden können. Dazu kann mit schlüsselworti ein Attribut des Materials benannt und mit einem neuen numerischen ausdrucki ü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 Beispiel
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 Besonderheiten
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 ab ArchiCAD® 10 verwendet werden.

Aufklappen Kontext
3D-Skript

Aufklappen ArchiCAD
ab 9.0