One of the usual operations in modeling is extruding a mesh from a plane of a certain profile along a given curve so that a three-dimensional shape is obtained. This could be done using Blender Geometry Nodes.
Add a curve to the scene (shift + a – Curve – Bezier), append the Geometry Nodes modifier to it and initiate the starting tree of nodes.
Also add a plane to the scene (shift + a – Mesh – Plain) and adjust it a little, creating the desired profile.
Add a Curve To Mesh node to the main branch of the node tree (shift + a – Curve – Operator – Curve to Mesh). This node allows us to stroke one curve along another curve.
The “Curve” input gets the geometry of the original curve. Extrude will occur along it.
To get the profile geometry, add an Object Info node (shift + a – Input – Scene – Object Info). In the “Object” field, select the “Plane” created earlier.
If we immediately link the plane geometry from the “Geometry” output of the Object Info node with the “Profile Curve” input of the Curve to Mesh node to perform extrude, nothing will work. First, we need to convert the plane mesh to a curve. Add a Mesh to Curve node (shift + a – Mesh – Operators – Mesh to Curve) and connect the plane geometry to the profile input through it.
To get the desired shape, we need to reduce the scale of the plane. Add a Transform Geometry node (shift + a – Geometry – Operators – Transform Geometry) and in the “Scale” field set the scale for all three axes to 0.25.
As a result, we obtained the desired extrusion effect along the curve. As we can see, the shape of the resulting object corresponds to the profile of the source plane. When the curve changes, the profile follows it. To close the end holes, we can on the “Fill Caps” checkbox on the Curve to Mesh node.
To control the extrusion resolution, we can add a Resample Curve node (shift + a – Curve – Operators – Resample Curve) immediately after the Group Input node, from which we get the curve geometry.
Changing the value in the “Count” field, we can make the extrusion smoother or more stepped.