According to the GDL reference guide …
• Attribute definition in library parts. The materials and textures defined this way can be used in the script and its second generation scripts.
I assume by second generation scripts they mean CALLed macros.
I think the problem is that if you are just looking at the macro and you are using the defined material name, then it will make no sense as that material will not exist in the macro itself.
I guess it would only work when looking at the original (CALLing) object, where you can see the CALLed macro being used.
I can’t say I have defined materials in an object – but I have done it in a MASTR_GDL script which makes it available to all objects and macros.
I also assume the material would have to be defined in the same script that the CALL is made from (i.e. the 3D script).
Versions 6.5 to 22
Dell XPS- i7-6700 @ 3.4Ghz, 16GB ram, GeForce GTX 960 (2GB), Windows 10
Dell Precision M6800 - i7 4700MQ @ 2.40GHz, 16GB RAM, AMD FirePro M6100 (2GB), Windows 7 64bit