You could get started by using a Rhino file that has the materials already predefined. Then you can have a list of names that you can use with the Custom Preview component.
Attached an adaptation of your GH definition along with a 3DM file. First load the Rhino file, then the Grasshopper file, as the latter wants to use materials from the former.
The materials aren’t very advanced yet, I’ve used the preset materials (metal, plaster, plastic, paint), but I think this at least should get you started with assigning materials to your GH geometry.
In the GH definition I create separate pieces out of your input curves by extruding them to a thickness, then scaling each of them around their individual centers. I create also a larger disc for the frame. I cut out the holes by using thicker versions of the pieces.
The main point of the GH definition is that you can use materials from the Rhino document to feed into the Custom Preview component. You can of course look at the cluster where I create all that geometry - I’m sure that with more time and thought it can be done much nicer, just threw it together to show it is possible.
I did this in Rhino 6 (on the Mac). With Rhino WIP (to-be Rhino 7) you’d have even better material choice and control through the Physically Based Materials.
A possible result using Raytraced
Rhino_Post_Changing_Materials.gh (23.8 KB)
Rhino_Post_Changing_Materials_raytraced_v6.3dm (3.3 MB)