How can I fill a "spinned/screwed curve"?
I found one possible solution by simply using three linked curves, one for the solid and two for the caps. This can be further improved for flexibility by adding drivers.
See attached blender file and the included README:

In it, you can change the cross-section angle by changing the X rotation angle of &quot;BezierCurveDriver&quot;.
Changing the material or editing the bezier curve will affect the extruded solid and the two caps.
How to do it:

Add curve

Make it 2D, cyclic and filled:

Properties-&gt;object data properties-&gt;Shape-&gt;2D
Properties-&gt;object data properties-&gt;Shape-&gt;Fill Mode-&gt;Both
Properties-&gt;object data properties-&gt;Active spline-&gt;Cyclic: check box


Optional: Now you may want to make your curve flat along the planned rotation axis (X for instance), by setting the some or all of the handle types to &quot;free&quot; and aligning some of the control points on that axis:

Go into edit mode (press tab with the curve selected with the mouse in the 3D viewport)
Select desired nodes
3D Viewport-&gt;Control points-&gt;Set handle type-&gt;Free (or press V and select &quot;free&quot;)
Position control points along X axis as desired (snapping, scale YZ zero, enter Local/Global coordinates, etc...)


Make sure you are in Object mode, then duplicate the curve twice with linked data by pressing Alt-D (or 3D viewport-&gt;Object-&gt;Duplicate Linked):

One will form the solid by using a screw modifier: &quot;BezierCurveWithModifier&quot;
One will form the bottom cap: &quot;BezierCurveBottomCap&quot;
One will form the top cap and drive the angle of the screw modifier: &quot;BezierCurveDriver&quot;


Add a screw modifier to one of them (&quot;BezierCurveWithModifier&quot; in this example):

Properties-&gt;Modifier properties-&gt;Add modifier-&gt;Screw


Right-click on the Angle property of the modifier and select &quot;Add driver&quot;. This will open up a driver editor window.

In the driver editor window:

Choose &quot;BezierCurveDriver&quot; as the Object.
Choose &quot;X rotation&quot; as the type.
Set the expression to &quot;var&quot;.


Now you should be able to &quot;extrude&quot; the curve nicely to any angle by changing the X rotation angle of &quot;BezierCurveDriver&quot;:

Properties-&gt;Object Properties-&gt;Transform-&gt;Rotation X


Changing the material or editing the shape of any of the three linked curves will affect the extruded solid and the two caps.