If i'm understanding the requirement correctly, i have used solid element oprators in the past for this task, as follows:
- setout the required areas of various textures using slabs; set the materials of each slab to the texture required (only one will apply per slab, for reasons shown in next steps, but i can't remember which if it's the top, bottom or edge texture; it doesn't matter, make them all the same);
the slab thickness doesn't matter either, just make sure the slab intersects the surface of the mesh for it's whole area;
- use SEOs;
select mesh as operator and slabs as target and use the
intersection option; set new surfaces to
"use their own attributes"; exectute.
- use SEOs again;
select slabs as operators and mesh as target and use the
subtraction with upwards extrusion option; set surfaces to
"inherit attributes of operator"; execute.
i've found this technique handy, especially as the different areas of texture are 'live', changing with revisions of the paving/garden/paths/roads etc.
I would expect there would be some limitations based on complexity of the mesh (as mentioned in other threads).