name, Typ Text
0 ≤ typ ≤ 27 (≠8, ≠9, ≠18, ≠19), Typ integer
0 ≤ rot ≤ 1, Typ real
0 ≤ grün ≤ 1, Typ real
0 ≤ blau ≤ 1, Typ real
0 ≤ streulicht ≤ 1, Typ real
0 ≤ diffus ≤ 1, Typ real
0 ≤ spiegelung ≤ 1, Typ real
0 ≤ transparenz ≤ 1, Typ real
0 ≤ glanzlicht ≤ 100, Typ real (nur bei spiegelung>0)
0 ≤ abminderung_trans ≤ 4, Typ real
0 ≤ spiegelung_rot ≤ 1, Typ real
0 ≤ spiegelung_grün ≤ 1, Typ real
0 ≤ spiegelung_blau ≤ 1, Typ real
0 ≤ abstrahlung_rot ≤ 1, Typ real
0 ≤ abstrahlung_grün ≤ 1, Typ real
0 ≤ abstrahlung_blau ≤ 1, Typ real
0 ≤ abstrahlung ≤ 100 (≤ 65.5 nach Handbuch), Typ real
0 ≤ schraffurindex, Typ integer
0 ≤ schraffurstift ≤ 255, Typ integer
0 ≤ texturindex, Typ integer ausdrucki, Typ real, Wertebereich abhängig von schlüsselworti oder parameternamei
Erläuterung
Definiert einen neuen Materialtyp, der danach unter name verwendbar ist. Je nach gewähltem typ ist eine Vielzahl von beschreibenden Parametern möglich, die den Einstellungen der Materialien im Optionenmenü entsprechen. Siehe Abbildung. Die Wertebereiche der Parameter entsprechen aber nicht denen dieses Dialoges sondern denen hier unter Wertebereiche gelisteten. Farben werden nach ihrem RGB-Anteil in je 3 Parametern angegeben.
Bei den einfacheren Materialtypen werden die nicht spezifizierten Parameter mit konstanten Vorgaben angenommen.
Ist schraffurstift=0 wird der aktuell aktivierte Stift verwendet.
texturindex=0 definiert das Material ohne Textur, schraffurindex=0 analog ohne Schraffur auf der Oberfläche.
Die Materialdefinition ist auf eine Darstellung mit der internen Renderingengine zugeschnitten. Parameter für z.B. die Lightworksengine müssen separat oder z.B. für Artlantis extern (Billboards) definiert und/oder zugewiesen werden. Einige Parameter sind auch nicht mit jeder Grafikengine darstellbar: Z.B. sind mit der Z-Buffer engine oder OpenGL keine Vektorschraffuren und mit OpenGL nicht alle Textureinstellungen und keine Abstrahlung möglich.
Hier eine vollständige Liste aller möglichen Materialtypen in der Reihenfolge ihrer Komplexität:
typ=2: Mattes Material DEFINE MATERIAL "material_matt" 2, rot, grün, blau
typ=3: Metall DEFINE MATERIAL "material_Metall" 3, rot, grün, blau
typ=4: Kunststoff DEFINE MATERIAL "material_Kunststoff" 4, rot, grün, blau
typ=5: Glas DEFINE MATERIAL "material_Glas" 5, rot, grün, blau
typ=6: Glänzendes Material DEFINE MATERIAL "material_glänzend" 6, rot, grün, blau
typ=7: Konstantes Material (ab ArchiCAD 6.0) DEFINE MATERIAL "material_konstant" 7, rot, grün, blau
! Materialattribut auf neues Material setzen
MATERIAL "individuelles_Material"
! Darstellung
BLOCK a,b,c
ADD a*2,b/2,a/2
SPHERE a/2
Definiert zunächst eine Oberflächenschraffur und legt die Bitmap-Texturierung fest. Nach der Materialdefinition und Aktivierung wird zur Demonstration ein Quader und eine Kugel ausgegeben.
Besonderheiten
DEFINE MATERIAL kann sowohl in einem Objekt als auch in einem MASTER-GDL vewendet werden. Bei der Definition in einem Objekt steht das Material aber nur lokal innerhalb dieses Objektes zur Verfügung. Wird das Material aber bereits im MASTER-GDL definiert, ist das Material im kompletten Projekt verfügbar. Da der Materialindex nur projektweit verwaltet wird, erhält ein lokal definiertes Material auch keinen Index. Es kann dann nur mit seinem Klartextnahmen gesetzt werden. Die IND()-Funktion liefert demnach für diese Materialien kein Ergebnis.
Global (im MASTER_GDL) definierte Materialien sind in allen Materialauswahldialogen aller Elemente verfügbar. Das gilt für alle Projekte, in denen diese MASTER_GDL Bestandteil der Bibliothek ist.
Wird der Befehl zu großzügig verwendet wird der Auswahldialog für Materialtypen leicht unübersichtlich.
Wurde ein Material so erst einmal innerhalb eines Projektes definiert bleibt es auch nach lösen der betreffenden MASTER_GDL vom Projekt erhalten. Das kann beim testweise Zuladen von Bibliotheken die Attributemenge ungewollt drastisch erhöhen. ArchiCAD® gibt da auch keinen Warnhinweis.
Der DEFINE MATERIAL-Befehl sollte daher mit Bedacht verwendet werden.
Der Bereich ADDITIONAL_DATA ist ab ArchiCAD® 9 gültig und wird separat erläutert. Das optionale Komma (,) davor wurde mit ArchiCAD® 10 eingeführt, um mit der Befehlserweiterung eine neue Programmzeile beginnen zu können, und war zuvor nicht erlaubt. Diese Quellcodelayout-unterstützende Option sollte ab ArchiCAD® 10 verwendet werden.