How can I make e reinforcing bar from a line in Geometry Nodes?
Previously I got a little bit too inspired by Harry's answer, so here's something that better resembles a reinforcement bar - but the topology here is just overlapping geometries, so you won't get any nice merging of the separate surfaces…
Again, I got bored without actually finishing, so there's (conveniently not shown) one rib too much (trivial to fix), no rectangular emboss joining the 'bulges' and small things like that. It seems a 'correct' topology could still be constructed using my previous answer but different $z$ offsetting…
It's a bit tricky and hard if not impossible when using the Cylinder node, especially adding of Loop Cuts or subdivisions on specific areas (which is not really supported in Geometry Nodes). But you can create a cylinder by plotting the vertices using the Spherical Coordinate System so that you can easily shift the vertices on the XY plane to give it twisted geometry. While you can easily do this via menu Add > Mesh > Math Function > XYZ Math Surface, it is also possible with Geometry Nodes using the simple Parametric Equations similar to that of plotting a circle: $$x(u) = r \times \cos(u)$$ $$y(u) = r \times \sin(u)$$ $$z(v) = h \times v$$
Here is the node setup to create the twisted cylinder, which I put in a
Node Group called Twist Cylinder:
And this is the node setup that uses the node group I created above. This setup extrudes and creates the ribs for the rebar:
Please take note that this node setup is not perfect, it requires some bug fixes, but what's important is you get the idea on how to do this.
This is how I would approach a minimal topology, though this setup still isn't finished, you might want to add the control for rib thickness for example, or you might want to add a falloff of the ribs towards the ends (I simulated a bar that is cut rather than produced with this length…) - but it shows the principle of taking a cylinder, cutting it and shearing - though after an initial try with a cylinder I figured it would be easier to just start with a grid: