Replicating a stepped truchet pattern

I really want to replicate this truchet tile design using Rhino/Grasshopper.

This video gets me half way, however I am stuck on applying the stepped pattern after extruding.

I’m very new to Rhino/Grasshopper and would appreciate some guidance here. Below is my algorithm so far.

Thanks in advance

1 Like

I am not sure this tutorial is a good idea of resolving a Truchet pattern.

When tiling something you use tiles, not just one tile. For me the same thing in Grasshopper. You make a tile, and then replicate it, turn it randomly and copy it. Some examples on old Grasshopper forum.

1 Like

First part replicating the pattern, it is not so simple as it must be symmetric. But at the end some drawings helps doing the right things and putting the good flip, shift, weave … follow the flow.
The slider is set to put the number of steps
The graph mapper is used to have the progression (shape)
You can also add a scale in Z

The simpler part is to rotate randomly. So I use a random between 0 and 1, if random value < 0 => no random. If > 0.5 => 90 deg rotation.

truchet stepped (19.3 KB)


This is really awesome @laurent_delrieu, thank you!!

I want to combine the generated surface into a single body that’s embedded on a block like the source image. Then I can export the body as an STL for 3D printing. Do you have any hints of how to do this?

Yes it is possible
just use the classical CAD operations, so you must end up with solid

To have a solid you need some faces

  • Make a lateral closed curve, transform it with boundary surface
  • Rotate it
  • Join it with a revolved stepped part (I just suppress the vertical line that mess up the rail revolution)
  • Cap hole
  • Then solid intersection with a brep going on the diagonal
  • Then mirror
  • Then solid union
  • Then you have a solid
  • Then make the pattern
  • Union everything.

Normal CAD work.


Thank you for your kind hints. I’ve tried to copy your algorithm but it isn’t working as expected.

I think it’s something to do with panels not being ‘Closed Brep’?
I am a total n00b to Rhino/Grasshopper so I’d appreciate your assistance!

your error starts here feeding a non-existing (empty) brep to the boolean operation…

I didn’t post a script just because I believe in self education.Meaning doing the job by yourself is a better way of learning than just opening a file.
So the whole logic here is cutting a solid with another solid done in Rhinoceros.
You have this piece

You want that without self intersection

So you must cut there on the red line

I choose to cut with a solid intersection. The solid must be bigger than the piece you want to cut and having a plane at 45°. I choose a cube

So after boolean intersection I have that

I hope it is clear, I took more time to explain that just posting the file.
So try to follow the steps in Grasshopper, learn CAD modelling…

You just have to make a cube in Rhinoceros. Not a big challenge !!!

1 Like

Mixing with others pattern
2 patterns

3 patterns

5 patterns