Custom texture mapping

Is there any way to have control over the mapping of an object like this? I want to be able to control the sides, internal cylinder and internal vertical faces.

Ive resorted to exploding the objects and working on each face individually, but it would be great if I could control the scale and position of the pattern globally to the object. I’ve tried unwrapping but am not having great results.

I don’t know a solution but I wished we could subselect surfaces of a polysurface and edit the mapping. I missed this way too.

Yes, Unwrap and then drag a window selection over all the edges (when it’s a joined polysrf). Then use the UVEditor to adjust the UV islands. These controls are in the Properties panel > Texture Mapping section as well.