Seat Design with Twisted Slats

Bonjour, Désolé je ne parle et écris pas en anglais. Je souhaite créer une assise avec 8 lattes en donnant un certain angle sur l’axe Z sur une surface de base, mais le résultat que j’obtiens ne me convient pas.

Je souhaite avoir des lattes avec une dimension régulière de 35 à 45 mm de large et 15 mm de haut.

J’ai fais une première solution avec le module “Surface Morphe” Le visuel est correct mais tout est déformé proportionnellement, j’aurai souhaité que Rhino conserve les dimensions des lattes de base et modifie uniquement les intervalles.

Ma deuxième solution j’ai découpé ma surface avec des plans de surface, mais le résultat n’est toujours pas correct étant donné de la forme de la surface de l’assise.

Comment je peux faire pour créer cette assise avec des lattes à dimension régulière ou seul les intervalles sont proportionnels?

Ci joint le fichier Grasshopper, mais connaissance sont encore très limités.

Grasshopper Forum Assise.gh (87.2 KB)

Vous pouvez utiliser DeepL pour traduire votre question avant de la publier ; )

Ah, the French. Who cannot seem to comprehend, that they do not speak the Lingua franca.


I want to create a seat with 8 slats by giving a certain angle on the Z‑axis on a base surface, but the result I’m getting doesn’t suit me.

I want the slats to have a regular size of 35 to 45 mm in width and 15 mm in height.

I made a first solution with the “Surface Morph” module. The visual result is correct, but everything is proportionally distorted; I would have preferred Rhino to keep the base slat dimensions and only modify the spacing.

My second solution was to cut my surface with surface planes, but the result is still not correct given the shape of the seat surface.

How can I create this seat with slats of regular dimensions where only the spacing is proportional?

Attached is the Grasshopper file, but my knowledge is still very limited.

Perhaps this is what you are looking for:

Seat Design with Twisted Slats VR 1.gh (112.3 KB)

I’ve used Offset Curve From Surface and Offset Surface from the Pufferfish plug-in to my advantage here.

Hello, sorry for the inconvenience, you’re certainly right, I’ll try to improve. Have a good day.

Hello Volker Rakow, Thank you very much for your reply, which is almost exactly what I wanted. The dimensions of the slats are correct, except that the layout isn’t quite right. The slats at the ends extend beyond the surface, and I would like them to be within the base area.

The two isometric curves on the left and right should be half the width of the slat, then the remaining area divided by 7.
Also, it would be good if the ends of the slats followed the curve.

I will take a closer look at the Pufferfish plugin.

However, how do you remove the connection at the end of the surface component? Is that another plugin?

Yes, I thought this might be the case. The reason the layout is incorrect, is because I take evenly spaced isolines (evenly spaced in domain measure, not absolute value) and use them as centerlines for the creation of the slats. You can simply remove the starting and end domain value from the series creation, and the slats remain “within” the seating area, but I am guessing you want the outer slats to be flush with the boundaries of the seating area. That is a little more difficult but still do-able.

This is the other option: to take half slats at either end.

No plug-in. When you right-click on the input of the surface container, there is an option “Wire Display” in the context menu that allows you to choose between “Default”, “Faint”, and “Hiddden”.

Thank you very much for the explanation, it’s a function I wasn’t aware of and it seems very good, but it shouldn’t be overused. :star_struck:

But how can I align the outer slats, which are all the same size, with the boundaries of this area? I’m having a little trouble with the area divisions. Also, the ends need to follow the top and front curve of the seat.

I usually only use it for global sliders and geometry containers I separate and group as “inputs”.

By defining the Offset Surface values to vary between 0 and the width of the slat. I can show you later. Busy at the moment.

Over-extend and trim the solids in afterward.

Okay, thank you very much, I’ll do some tests in the meantime. Have a good day.:+1:

As guidance, you are looking for the logic that produces these kind of values for the offsets of Offset Surface dependent on slat width and number.

This evens out the spacings:

Seat Design with Twisted Slats VR 2.gh (108.7 KB)

Wow, that’s a great way to distribute the money, thank you so much, I never would have found that solution. :+1: :+1:

I’ve been looking for a way to do this for over a week now, but I have the time, I’m retired. :joy:

However, I will need to study your solution because at the moment I haven’t really understood how it works.

I still haven’t trimmed the slat ends to the contours of the surface. I’m not going to lie: that is annoying work. Anything involving splits or trims is tedious in Grasshopper. Tightening up the core of Grasshopper, and providing better split and trim components are areas that the developers should be focusing on. But alas.

Yes, I did see that, but I thought I could manage with extensions. So, if I understand correctly, it’s not that easy? Is it possible to do this directly in Rhino? I certainly would have preferred to finalize my project with Grasshopper.

So, with your solution, I have the correct spacing and dimensions for the slats, and with my very tedious solution, only the end cuts on the curves are correct. I’m missing a combination of the two. :rofl:

It can be done, and it’s not “hard”, just annoying.


I had to dig around for a component that exposes Rhino’s “Extend Surface” command in Grasshopper. I finally found one in Parakeet. I don’t know if some other plug-in has similar. The other components of Parakeet will likely be useless to you. They are for tilings.

Seat Design with Twisted Slats VR 3.gh (115.8 KB)


Hi, wow, I have to give you credit, it’s perfect, thank you so much. I wouldn’t have managed without you. :star_struck: :+1:

I don’t know what the time difference is with France? It’s currently 10:25 AM here. Thanks again, you’re the best.

No time difference. @Mike42 Please mark a solution to close this thread.


Okay, have a good day.