Making a 4 way joint (from scratch)
Making Cylinder / Pipe joints - and complex 3D mesh type objects (with apertures)
Some methods for making joints between cylinders. (use intrude after making the joint for pipes)
4 way joint (without any existing geometry)

1). Create a default sphere of the required cyl / pipe diameter.
2). Select the 2 edgeloops as shown, at 90 deg to each other.
3). Use Edge | Scale -> Radial Y -> 141.42% (use tab input) This 'moves out' the selected geometry so that viewing along X or Z axis (in Ortho) the selected edgeloops now become circles.
4). Use Select | Inverse to select all edges except for those just scaled.
5). Dissolve these edges and select the 4 'faces' left behind - select one face then use Select | Similar (hotkey I)
6). Use Face | Extrude -> Normal to the required amount - taking note that the next op will 'shorten' the stubs a little.
7). Clean up / square off the ends with Face |  Flatten -> Normal

This 4 way configuration could also be used as the basis for a T joint, or even a 2 way elbow type of joint - although alternative ways to make these also exist.
13)        Remove all 4 edges going to upper and lower verts of cylinder ‘land’
14)        Re-establish upper and lower edges of larger cylinder
15)        Connect all rear edges to upper and lower verts.
16)        Scale Z the 2 ‘outer’ edgeloops , to true up larger cylinder.
17)        Select upper and lower verts of small cylinder ‘land’
18)        Z view, w/frame, zoomed, showing verts prior to movement.
19)        Close up of 18
20)        Move X the 2 verts selected in 17, until they co-incide with the existing verts on the ‘knee’ line of the larger cylinder – the lines joining this vert can also be used for reference / alignment purposes.
21)        Verts in new position
22)        Connecting verts shown re-establishes large cyl ‘knee’ line
23)        View along X of face after removing edges etc, prior to extruding smaller cyl.
24)        Finished joint

The above method works for the other 2 situations, with minor changes.

Reason I used the figures quoted?
The knee edge of an octagon is (sqrt2) / 2 = 1.4142 / 2 = 0.7071 of the height of the octagon.

Therefore, scaling factor is 1 – 0.7071 = 0.2929 * 100 % = 29.29%

(All scaling figures for this last example were done prior to changes in the implementation of scale - current method starts with the original object being 100% - previously this would have been 0% )
T joint on existing cylinder

1). Connect only the edges needed for a single joint, select new half edgeloop and use Edge | Bevel -> zero
2). Select both half loops, (select edge, press L, eyeball top left info - should read 16 edges, here)
Apply Edge | Scale -> X (Use RMB - Pick point to scale to) and select a vert at the top (end) of a half - loop as the local origin. Execute scale and Tab enter 141.42 %.
3). Select one half loop, Edge | Rotate -> Y (Use RMB and select the end vert (as in (2) again). Rotate 45 deg (you'll soon know if going the wrong way with the first choice)
4). Repeat loop rotate for the other half - loop (but opposite direction), select whole object and apply Cleanup.
Select all edges between these half - loops, dissolve them and select the face produced.
Apply Face | Extrude -> Normal as required and then Face | Flatten -> X.

As bevelling zero the 2 loops places them on top of each other, keep a beady eye on the info readout to check how many edges have been selected prior to manipulating them :)
Equi-spaced Y joint with equal diameter cylinders (+ other)

1). Another example using a similar procedure to the previous one.
Choose a sphere with a suitable number of sections for what you want to do - taking into account the 'joint' sections between the cylinders and whether the cylinders are going to be equi-spaced etc.
This is going to be an equi-spaced  Y joint. The groups of (selected) faces only indicated the regions where cylinders will be eventually formed - nothing else.

Select the edges in the 90 deg 'chunks' where cyls reqd, dissolve and extrude etc to get -

2). Result after following the procedure as previously described
- measure across the 3 sections of geometry at the equator.
- Work out the scaling factor and scale  Y the sphere
- Dissolve the internal edges for the 3 'cylinder' regions
- Extrude the cylinders and flatten the ends.
If you don't want the 'welded / filleted ' etc look as shown here, connect all these 'weld' edges and do a radial Y scale until new loops are aligned with extruded cyls - Ortho mode, w/f looking down a cyl helps, imo. You'll need to do a linear vector scale if cyls are not symmetrical - with defined point.

Forming the basic geometry when different diameters of cylinders are needed (on the same joint)
3). Select your 'chunk'. Face | Extrude Region -> Normal -> zero (keep faces selected)
4). Face | Scale -> Uniform until the 'equator dimension' is (roughly?) equivalent to the required cylinder diameter.
- Measure the pole to pole dimension (of the selection) and work out what the scaling factor is for a Scale Y op to make the pole to pole the same as the equatorial dimension.
- Scale Y using this scaling factor. The projected shape of this selected region of faces (when viewed along its eventual axis) should now be circular.
- Select internal edges, dissolve, extrude and flatten - as before.
5). What you can end up with using above method. Nothing to stop you choosing other (unused) regions of the sphere and repeating the method - but with different scale factors etc

Also, provided you don't distort the projected cross section (circle) of selected faces, you can do what you like with this sucker - move up / down, sideways etc etc.
The crucial thing with this method is maintaining the 'projected shape' - once obtained - a uniform scale is ok, of course, if you want to change cylinder diameter for any reason prior to extrusion.
A no math approach

Using a variation of the previous method that doesn't require scaling factors to be worked out.
1). Create a sphere with a total number of sections that is a multiple of the number of cylinders you want - I decided to make 5 cylinders - so used a sphere with 15 sections
Create 2 'slabs' that are exactly 2 units apart (between their inside faces) - I used a cube and extruded etc. - place roughly as shown along the X axis, but equi-spaced either side of the X axis (ie 1 unit either side)
2). Select whole default sphere (dia 2 units) and Object | Scale -> Radial ->Y until the selected verts (on the 'equatorial edgeloop') just touch the inside faces of the 'slabs'
3). Close-up of the aligned vert (with the inside face of the 'slab')
This then gives you a projected shape around those edgeloops that is both 2 units wide, and 2 units high - as described previously - the circular form needed for extruding a cylinder from it.Dissolve edges as before, extrude and flatten
4). Finished 5 cylinder joint.
Different approach - but still using similar technique, may be useful?

Cut 2 all edges on a cube.
Scale uniform these mid-point verts 141.42 % (old friend?)
Select all 6 'faces' and extrude normal (+ flatten)
If harden intersection edges for defined lines, these need further slight correction after smoothing. Select all 8 verts as shown (one + i) and scale uniform - viewing down any axis (in ortho) will make re-alignment easier (1st is about 92.6 %)

Using Edge | Bevel or Edge | Extrude (zero, use +/-)  offer other alternatives for the lines of intersection, if you don't want to use harden.
Joints with different cylinder diameters
(Earlier method left in for general info purposes)
Joints with different diameter cylinders - am using octagonal prisms as I can’t see any point in using anything more complex.

There are essentially 3 different situations with joints using the above

1)        Top edge of smaller cylinder above larger cylinder ‘knee’ line
2)        Top edge of smaller cylinder actually on larger cylinder ‘knee’ line
3)        Top edge ………below ‘knee’ line ………..
1)        Edge loop where joint required on cyl.
2)        Bevel e/l to ends of cyl (these needed later)
3)        Connect central edges
4)        Bevel again using simple constraints
5)        Rotate 45 deg and vector scale 41.42 % loops to correct
6)        Dissolve unwanted rear parts of loops and cleanup
7)        Move loop halves to centre using constraints and cleanup
8)        Cut 2 horizontal edge of newly formed octagonal shape
9)        Select faces and vector radial scale (using point from 8) -29.29%
10)       View looking at newly formed smaller cyl diameter
11)       Linear vector scale -29.29% from same point as before
12)       Plan view of corrected area.
Making an equal diameter T joint (on existing cylinder)
Joints with unequal cylinder diameters (from scratch)
Extending the previous method for producing joints from a sphere.

Here, the idea is to extrude a single (circular) cylinder from the (default) sphere.
The technique is based on scaling Y the sphere, so that the vertical dimension (N pole to S pole) of the sphere is the same as that between a pair of selected verts on the equator.
After scaling, the projected shape of the section being used will be circular - this forms the basis of the extrusion that becomes a cylinder.

1). Select 2 verts on the equator that represent a (horizontal) diameter of the cylinder to be made. Note this distance from the info display (top left corner) In this case, the figure is 0.390181 - for a single section.
2). The sphere now has to be scaled Y. To find the scale factor, divide 0.390181 by 2 (default dia of sphere)
0.390181 / 2 = 0.1950905
Multiply this by 100 to get a percentage = 19.50905 %
Select the whole sphere and apply Object | Scale -> Y (press tab and enter 19.50905)
3). Scaled sphere. Select all edges as shown for the relevant section (select one edge, press G)
4). Dissolve these edges and select the face created
5). Apply Face | Extrude -> Normal and drag as required.
6). Finished object after applying Face | Flatten -> Normal.

A few comments:
A single section was used here - but this doesn't have to be the case. If you decide to use 3 sections (say) - ensure that you measure the total width at the equator - not 3 individual sections and then add them - this won't work.

If you want to make a joint with several (same diameter) cylinders coming from the sphere - just pick the relevant areas and do as the example.
Doing this by 'eye', I got the following results - All aligning to be done in ortho mode, of course.

3 cylinders……..scale   115.46 % ……………4 cyls…………scale  141.42 %
5 cyls…………..scale   170 % ……………… 6 cyls…………scale  200 %
7 cyls…………..scale   230.4% …………….  8 cyls…………scale  261 %
9 cyls…………..scale   292 %………………10 cyls………... scale  323.4 %

Mathematically derived scaling factors - just in case, for those that might be interested?

3 -  115.470 %                      4 -  141.421 %                       5 -  170.130 %
6 -  200.000 %                      7 -  230.476 %                       8 -  261.313 %
9 -  292.380 %                     10 - 323.607 %                      11 - 354.947 %
12 - 386.370 %                     13 - 417.858 %                      14 - 449.396 %
15 - 480.973 %                     16 - 512.583 %                      17 - 544.219 %
18 - 575.877 %                     19 - 607.553 %                      20 - 639.245 %
Making joints from a sphere - general method.
A 'No-Maths' / Eyeballing approach.
6 Cylinder joint from a cube.
main page
1). Construct (probably as a separate object) a solid volume of the correct shape - no need to bother (at this stage, maybe) about where the wires will be.

2). Once your (volume) shape is correct, move edges around to where you want the wire centrelines to be (and / or introduce new edges as necessary)

3).Select required edges and bevel the appropriate amount to create the wire diameter needed.

4). Select all the new faces (as shown in pic) and apply Face | Extract Region -> XYZ (I used Z here and extracted a known amount, 1.0, using shift to constrain.)

5). Make a duplicate of this extracted object (in same location) and then move Z the dupe, a known amount (say 0.1) behind the original extracted geometry (so now between the first extraction and the original solid volume) (Could also use Dupe -> Z, but I do it the way described because of hotkey setup)

6). Select the duplicate and apply Object | Invert.

7). It is now possible to select the 2 complex faces associated with these two extractions - and apply Face | Bridge - as these faces are essentially identical (vert counts match) - to join the 2 extractions together to form a single object - with edges, at the correct places, on both sides of the object.

8). Select all the rear faces of this object and Move -> Z (0.1) in the opposite direction from the move done in (5). Leaving the situation as it was would produce incorrect geometry, since stuff has been moved along the Z axis.
At this stage (if you want) you can select the faces where the apertures will be and bridge them thro' to form holes.

9). Select faces on the front (and / or rear) and apply Move | Normal as required to obtain the final thickness. (If you didn't bridge thro' the holes before, you can do that now :)  )
Whether you move both front and rear (could also use Extrude Reg -> Normal) depends on where the wire centrelines are, in relation to the original 'solid volume' reference block.
Since Move | Normal has been used, edge loops (through the wire 'thickness) should be quite 'clean' - if localised scaling of the wire diameter is needed, select the appropriate edgeloops and just apply Edge  | Scale -> Uniform. Only use this selection mode for this job.

As stated, this is a basic example to demo the technique - additional edges will be needed to maintain the shape during smoothing etc.

Try it a few times (on simple stuff) and figure out your own (improved) workflow ?
Complex 3D Pipework / Wire mesh objects with apertures..

A suggestion for an approach to making objects that would probably be made (in other s/w) using an extrude along spline approach.
This is based on a (very!) simple wire cage for a mask.
NB - features added to wings since this page was originally written offer other ways of approaching this and similar topics.
Some ideas / examples can be found
here - in the tutorial section of the wings wiki.

If wanting to create pipe - type fittings with a distinct bend radius, then I'd suggest you check out the 'Bend' tools (Vert menu)