0

I created a primitive torus using geometry nodes. enter image description here

Then i created an array of such rings using a line (Instances On Points). enter image description here

I need the diameter (socket "Main Diameter")

enter image description here

of these rings to be adjustable depending on the height (the higher the vertex/ring on the line, the larger the diameter). How is this possible to do?

In the end I expect to get something like this:

enter image description here

(Blender v 4.0.2)

arachnoden
  • 1,179
  • 3
  • 18
  • May I suggest to read these two posts: https://blender.stackexchange.com/questions/280188/why-cant-the-radius-of-an-icosphere-be-set-depending-on-position-with-geometry and https://blender.stackexchange.com/questions/274485/how-can-i-instantiate-a-procedural-node-group-with-different-parameters ? – StefLAncien Feb 20 '24 at 15:22

1 Answers1

1

You cannot set multiple radii for the object to be instanced, because this is a single object which just gets duplicated by the Instance on Points node. So you would have to manipulate the resulting instances, for example by ID with the Scale input of the node. However, this would change the overall thickness of the torus as well.

So what I would do is instance curve circles instead, scale them by ID (or maybe Z position, whatever you want) and after instancing convert them using a Curve to Mesh where you use another curve circle as profile. But you have to use a Realize Instances node, otherwise the profile will be scaled according to the scale of the instances as well.

For scaling I used the ID in this example, you have to add something to not have the first scale at 0, but the order of adding and multiplying can be swapped, it depends on how you want to set the base diameter and how much it should increase per step etc.

torus instances

Here basically the same setup, but using the Z position for scaling. In this case I multiplied the Z value with 0.3 instead of 0.1 like I did with the ID and the result is the same as before:

torus scaled by Z

One of the major differences between these two setups: As long as the line keeps its height, with Z position the maximum diameter stays the same no matter how many rings you have. With ID the maximum diameter increases.

Gordon Brinkmann
  • 28,589
  • 1
  • 19
  • 49