How to render clipped surfaces as if they were a solid

Hello everyone! I’m new to threejs and I have some 3d objects that are spatially close or have containment relationships. I use them to represent geological bodies. When I use clipping, they are hollow and I want the effect to be solid. I have tried the following two options.

  1. The scheme of webgl_clipping_stencil example (three.js examples)

The problem with this scheme is that only one color can be set for the profile. What I want is that each profile has its own color, which is the same as the color of the 3d object surface.

  1. How to render clipped surfaces as solid objects The scheme in this link.

The problem with this scheme is that if the 3d objects are spatially adjacent or there are containment relationship, the effect will not work. For example:

Is there any other solution to achieve this effect? Thank you very much!