Wishbone chair with Geometry Nodes
1. Setup
I'm starting with a simple setup, so that we can easily tweak the shape if needed. Each side represent the central point of the wooden poles, over which the rope is attached.
3 vertices is enough to control the shape of each pole. Additionnaly, I've added to each side a vertex group : Right, Left, Front, Back. We will use it in Geometry Nodes.
The shape of the poles can be changed easily, assuming you'll tweak some Map Range nodes to compensate.
2. Edges to curves
First we want to convert the shape to be smooth. Let's convert the edges to curves, change the spline type to Catmull Rom, and change resolution to match the rope spacing we want.
We also keep a copy of the factor of the curve as an attribute. Here I remap the factor from (0, 0.5, 1) to (1,0,1).
3. Generate ropes
We repeat the process for each side of the chair (expect for the left side which will only be a mirrored version of the right side) :
- Starting from the base curve
- Spawn a base profile at each point of the curve
- Move the inner point to match the pattern
- Scale down the handle to be 0 (pointy end), in blue in the image below
The nodes look like that :
With the 2 input of the Map Range changing how the behavior of the ropes in the inner parts, where each side connects to the other.
The nodes are the same for the front and back parts, with the addition of a Clamp node to reproduce the pattern :
For the base profile that we deform, I'm using a 4-vertex circle as follows (this is what's inside the BaseProfile node group :
4. Generate profile
Then we can simply Curve to Mesh and get the final result.
5. Final result and blend file
Then you can easily build on this to add randomness, twisted ropes, ...