You can actually combine those approaches.
I did something simmilar for a pipe/duct work system.
A simple function creates an uncapped cylinder along splinepoints.
But in the case of orbits, you can even skip the whole spline thing completely as it can be described parametric as well…
Im not proficient enough to help you in C++, but in blueprints its “relatively” easy…