The grill on the top is created by an image texture's alpha channel (packed in the blend file), the negative bump line arrays on the biggest heater surfaces are controlled by a procedural texture.