Is there a way of exclude some geometry from global-clipping?

I have a complex scene which has a lot of objects and materials, and I want to add clip-plane to this scene, I know there are two ways of add clipping, global way is by renderer, and add all these planes to materials clipplane, this is local.

because I have a lot of objects and material, iterate all the materials to add these clip plane is a time consuming task, but if I use the global clipping plane, then the TransformControls of those plane will also be clipped, so I wonder if there is some better solution for this, I want to clip many objects but exclude some of the objects, especially to exclude the planehelper and transformcontrols from being clipped.

really? whats wrong with
scene.traverse((object) => { if (object.material) { … do something to object.material; }});

thank you makc3d, just tested traverse, it seems fast enough for me, thank you again.

If you have ambient occlusion, how do you hide the shadows if you add planes to materials instead of the renderer?