Pavers moved to grade....?

I’m not sure if something like this can even be done, but I figured I’d post up this problem anyway. I have a large area of pavers that are all on the same plane and I need to drop/move them in the Z direction and then orient them to the surface below. Ideally the top center of each paver would drop till it intersected with the surface below and then the face would align itself with that surface. The file that is attached is only a small part of this project. Pavers are in Green and the surface they need to align with is red.


There isn’t a simple way to do this with just basic Rhino tools that I can think of.

If the pavers were blocks with the basepoint being the top center, then there are a few ways to do it. This would involve making curves from these points to the surface then moving them one at a time. Clearly a tedious exercise.

A Grasshopper definition to create the pavers where you want them might work.

Paneling tools is another possibility.

You will need the assistance of someone with far more practical experience than I have to get a true solution.


It’s not too difficult to write a script to do the first part - move the pavers from their top/center point to a point on on the polysurface. But I am not sure what the quoted item means. Does this mean “align the paver with the normal direction of the surface at that location?”

– Dale

Can you down save the file to Rhino 5?

I will upload the file in R5 format as well…As far as which way the paver needs to be aligned it would be in the direction of the slope along either the X or Y direction…I’ll move a couple manually in the attached file R5 file. They are in blue. This is a large exterior paver project that we are working on, the architect insists these pavers can be laid without cutting joints where the slopes changes but that can’t be done without lippage between the edges. I hope to show them a small section and prove my point.


Hi @bwheeler,

I don’t think this is too hard to script. I’d project the centroid point of each paver down to the polysurface and then move the paver down. Then I’d take that projected point and calculate the surface normal at that location. Having that vector, you can orient the paver so the joint’s make some sense.

– Dale

Hi @bwheeler,

OK here is a Friday afternoon effort - try the attached script.

TestPaverMover.rvb (2.1 KB)

Just drag the attached on top of a running Rhino and then run “TestPaverMover”. Before running, make sure the surface on which the pavers will be moved has it’s normal pointing in the up (Z) direction. You can use the Dir command to verify and modify if needed.

– Dale

Thank You…I’ll try this sometime today and report back.


Hi @bwheeler,

Actually I think there’s a better way. Given time this week I’ll try another approach…

– Dale