"Prioritize" surfaces

As an example : I make a cube, a polysurface, with “use layer material” as material. I extract (copy) a surface of that box, and I give that copied surface a material (ex: red plastic). This surface is exactly positioned on the polysurfaced box. As a result, I have in Render a mix of colors on the surface.

I know you can avoid this by moving the red surface from 0.001 and isolating it from the box to avoid that problem. But this is time-consuming, and in some cases, the result is not nice. Example in a stair where you want to surface the stairs steps and counter-steps, it will remain a thin, uncovered line that reveals the structure below

Is there another solution in Rhino? Is there a parameter somewhere you can say to Rhino, if you have 2 surfaces overlapping, which one has “priority” for rendering?

There is nowhere in the entire field of rendering to do that.

What you can do is use sub-object selection to assign materials to individual surfaces in an object.

Why would you model a product with surfaces that (fully or partially) cover the same space in the first place? Maybe an image would help to understand whether this is an xy-problem or not.

you should just hide what you dont want to see, either put it on a different layer and uncheck it or use the hide command. if you use a different render like bella, there are renderflags that let you turn off what is seen in the render, but either way its a process of selection and manually programming the setup so why not just hide what you dont need already.

@AndreasGmr what @JimCarruthers is suggesting is the best way to do this. If for some reason you don’t want to assign materials to sub objects, rather extract the surfaces (not as a copy) and put these on a different layer and assign materials to that layer.