As you can see with Pino, all the things to be united must also be present.
This is quite a challenging task to begin with - but it can be done step by step.
The problem with using the basic geometries predefined in three.js for beginners is that they are initially a “black box” for them. You have to try to understand the construction, e.g. by making changes to the code and seeing what happens.
I prefer to define my own geometries for such constructions. Then I can design things the way I want them for the application right from the start.
If you want to go this route, take a look at these examples from the Collection of examples from discourse.threejs.org
Start with
BufferGeometryNonIndexed
BufferGeometryIndexed
then
ProfileSurface and RemoveTriangles
a little more
SkewedRectangularPyramid
RoundedRectangle
RoundEdgedBoxFlat
tube
DynamicTubeGeometryCaps (need not be dynamic)
Do you want to do something similar with pipes?
Construction of frames with contour/profile
If errors occur, it is best to post an editable live example here, e.g. JSFiddle, Codepen.
UPDATE:
This might still interest you.
CustomCylinderAndKnee
BendCylinderToKnee