Procedural generation of cavern floor for 3D printing
I found a way that works for me. I'm sure it could be made better with a few tweaks but I'll describe what I did. Essentially I want to generate topographical elevation lines on an arbitrary surface and then thicken the planes defined by those topo lines. Here's what I did.
I used a Voronoi texture, using distance squared and modified the ramp properties to invert the image and set the color stops to .35 and .5. I used an empty object scaled at 40x to map it to a displacement modifier. I could add a noise displacement modifier to this empty object to get the pattern to vary randomly if I wanted to.

Before applying the displacement modifier, I weighed the vertices based on their proximity to the edges of the tile. This kept from having ugly abrupt edges. I applied this displacement to all of the non-edge vertices in my surface plane. I then added a Laplacean Smooth to the same inner vertices. I hit it pretty hard with a Lambda Factor of 5 and Repeat 10.

Once I got the undulating surface looking good, I hit it with a Boolean Intersect with an object consisting of planes at every height that matched where I wanted a topo line. Finally I took this and solidified it up to the next topo surface. (You could also solidify it down if you wanted to.)

I then add the simple square base underneath and I'm set. This seems to be relatively simple computationally and gives great results. There are just two problems. Or maybe just one. Since the set of topo surfaces are all one object, the distance between them has to be the same so that when I solidify, the new surface can be coincident with the adjacent topo surface. So I grow each surface until it exactly reaches the next topo surface. This results in coincident surfaces though, which isn't really a clean model. Most slicers seem to do okay with it, but it nags me a little.
Likewise, if I wanted to vary the distance between topo surfaces, I could solidify down beyond the adjacent topo surface. But then I would have self-intersecting solids, and I know slicers don't usually like that.
Is there an easy way to somehow combine these individual, possibly intersecting tiers into one non-self-intersecting object using modifiers?
Honestly the coincident surfaces and even spacing of the topo lines aren't deal-breakers for me so really I'm okay. It's just a nagging little thing.