Aligning using VMirror as a constraint plane.

main page
13). Repeat procedure for the other verts - some setups will allow short cuts to be made here if there is an easily accessible mirror plane available for the object being 'adjusted'- ie do verts around one half of the cylinder, LoopCut and Mirror the other half etc…

A workflow suggestion for actually repeating the vert adjustment (for remaining verts, after doing the first):
Do first vert, using Scale | Radial, Shift+D etc
Select next vert (for once, selecting is a better option than 'highlighting' even if you have got 'Use Highlight as Temp. Selection' enabled in Prefs -> Advanced) - try both, you'll see why.
Press Cntrl+D (this will repeat the last command - BUT will also allow you to choose the new axial edge that's associated with the newly selected vert)
Choose new axial edge with RMB (to select and execute the command)
Drag vert to required (0%) position and LMB to accept.
Shift+D to move the vert to the 'correct' position.
Repeat.(quicker to do, than write about, imo :)  )
14). Display the plane
15). Tools | VM -> Break (to get rid of the mirrored bit) - finished setup.

16). After adding relevant extra geometry, Bridge and a couple of smooths.

Some other suggestions for using the VM approach follow....
12). Apply Edge | LoopCut … and discard unwanted portion.
13). Select underside face.
14). Face | Extrude -> RMB option - select a suitable element (edge shown here, in yellow)
15). Press Tab and enter the figure obtained in (10) and accept the op.
16). Finished piece of junk :)

General comments:
Pressing and holding D seems ok for 'single step' ops like flatten - otherwise use Shift+D (as with the Scale Radial op)
Since the readout is all messed up anyway, it seems that you can go beyond 0% (the theoretically 'correct' figure and stop anywhere you like -
provided you stop at a point before the correct location (then hold D / shift+D etc) - if you go too far, it really messes up - bigtime.
I've no idea why this is working - so don't ask.
If Face | Lift -> RMB -> Normal option worked properly, this tool would also provide yet another alternative (after measuring the slant length) - but it doesn't… (Bj aware).
The whole procedure may not work in a future release, depending on changes made - so beware.
If such changes provide correct behaviour (and readouts) it will be even better, of course…

Mess around and have fun.
Aligning objects prior to joining. (Using VMirror as a plane of constraint)
0.98.21c used.

This suggestion addresses the problem of how to create undistorted geometry at the joint region between 2 objects that will (eventually) be joined / bridged together.

Whilst some methods involve working out the angle between the objects - and then applying a scaling procedure to 'correct' distortions, the following workflow involves no maths whatsoever - so might appeal to those folks that want to avoid such an approach.

The essence of this method relies on the fact that any element of geometry that lies on a VMirror plane / face will always lie on that face, irrespective of whatever other movements take place.
1). Basic setup - want to extend the cylinder to the upper surface of the plane such that the end of the cylinder lies is in intimate contact with this plane. A pre-requisite is that the cylinder cross-section remains constant, ie undistorted.
2). Another view of the basic setup - all item have been (deliberately) rotated away from the axes, in order to show the method in its most general state.
3). Select end face and apply Face | Extrude -> Normal -> 0 (hold shift to constrain) - this creates a zero width extrusion to be manipulated.
4). Apply Face | Flatten -> MMB option (as both a plane and ref. point are needed)
RMB on the upper plane surface to define this as the required plane (and also continue the definition procedure)
5). RMB on any element that lies on the plane itself to ensure that the selected face is flattened to a plane that intersects this point. (I chose the vert shown in yellow)
6). Situation after accepting the flatten op. Not really what's needed - except for the fact that the end of this new extrusion is now in intimate contact with the correct plane.
7). Hide the plane (for clarity purposes) and select the end face (if not already so)
8). Apply Tools | Virtual Mirror -> Create. Select one of the verts on the mirror plane as shown - doesn't matter which one.
9). Apply Vert | Scale Radial -> RMB option. This command will align all selected elements to a chosen axis.
Select the axial edge (associated with the vert chosen in 8) to define the axis vector.
10). Drag to -> 0%.  This is where the real fun starts. :)
Under standard (non-VM) situations, the vert and the edge would now lie in a dead straight line - for whatever reason, this doesn't happen here, when VM is a part of the deal. (Bj is aware of this)
However - if you now press Shift+D… to repeat the op, the vert will move closer to the correct final destination point (!)
11). Situation after pressing Shift+D the second time.
12). Repeat the Shift+D procedure until no further movement takes place - the vert is then in its correct position - ie in line with the relevant axial edge AND still on the required plane. (no further change in figures displayed in top left will indicate when movement ceases)
7). Select an element (using LMB) lying on the flatten plane as the reference point thro' which the flatten plane will pass. (vert shown in yellow, not in correct position at the moment, due to VM)
Very important - DO NOT select this element / vert with RMB as this will continue / execute this step and not allow you to modify its position. (next step) - use LMB.
8). Crucial step - Check info display in top left corner of screen, which tells of the option to ignore VM by pressing 2.
Do this - ie press 2. - note that the reference vert has now moved to its correct position on the (correct) flatten plane.
9). Complete the Flatten op - Wgs will attempt to flatten the verts (and also keep them on the VM plane) - but fail (depending on actual angles involved, it might look ok - but it won't be correct - unless you're the type of person that wins national lotteries :) )
10). Magnified view of the discrepancy.
11). Press D (and hold down), untill wings has untwisted its knickers and moves the verts to the correct position - as shown here.
12). Finished setup after breaking VMirror.
1). The approach here is to use the VM 'technique' to obtain the 'slant length' necessary to move the front (raised) edge of the cube the correct distance.
A little bit of construction work is necessary first.
Select the rear edge as shown.
2). Edge | Cut -> 2 (press 2 with default hotkey setup)
3). Select vert at front of cube
4). Connect the 2 verts (C, def. Hkey) and select the rear face, for VM purposes.
5). Apply VMirror
6). The idea now is to alter the position of the vert created in (2), so the relevant (slant) distance along the cube's rear edge can be determined.
Apply Vert | Flatten -> MMB option (as in previous examples) - select upper surface as shown to define flatten plane.
Using the VM technique to get useful information (in similar situations to the above) to use in whatever way is appropriate.

Am using the same basic setup as previous example.
7). Select reference point - again using LMB (for same reasons as before)
8). Press 2 to transfer ref. point location (ignoring VM effects) to correct position.
9). Complete flatten op and then hold D until 'knicker untwisting' complete. The edge between the new vert and the front of the cube is now parallel to the reference plane.
10). The length of the edge shown selected here is the same as the length that would need to be entered in the tab entry dialogue during a (vector) move operation - make a note of it. (see info, top left display, after selecting it)
11). Whilst a vector move would sort this out, I'm going to use a different technique to finish this off, that might be useful in other circumstances - ie lop of the bottom bit and extrude the correct amount.
To do this, I finished off the loop and selected it.
Using VMirror and Flatten for alignment purposes.
For some (less complex) situations, using Flatten might be worth consideration.

1). Basic setup - all items parallel to xyz axes, except for the Rotate Z applied to the cube (the lowest edge of which is in contact with the top surface of the plane).
2). View -> X of setup.
3). View -> Z of setup.
4). Situation after doing the same steps as previous example. Ie select underside face of cube, Extrude Norm zero, flatten mmb etc. (or flatten Y here)
5). Hide unwanted object, apply Tools | Virtual Mirror -> Create and select the 2 verts shown. (The idea being that these verts will be flattened onto the relevant plane - but also stay on the VM plane.)
6). Apply Vert | Flatten -> MMB option and select the upper face (as shown) to define the flatten plane.
26). Finished object after weld, showing verts left selected after the op.
27). Another view of object, showing unwanted (vertical) edge between end faces.
28). Select unwanted edge and dissolve (end face needs to be a single face for the final bridge op)
29). Select similar unwanted edge on the other object (and dissolve, for same reason)
30). Ensure you have the correct No of verts to match the cylinder (16 here)
31). Select end face of cylinder.
32). Show other object and select matching face (one large face in reality, on both sides, now the edge removed in (28) has gone)
33). Apply Face | Bridge - new edges formed automatically.
34). View of the other side.

If I'd been thinking properly, I'd have cut both sets of edges into the correct No of pieces before extracting any faces (3,4) - this would have not only provided extractions with correct No of verts - but would also have negated the need for cutting at the end of the whole op for the final bridge operation (30) 

This technique has been mentioned, not because I think it's better or quicker, but just as an alternative, which some may find of use - and maybe develop.
Using VM and eyeballing for alignment purposes.

Basically a variation on the above, but offering an eyeball approach - if 'precision' isn't absolutely necessary.
The idea here is to extract a face off the cube, cut its edges to provide the correct No of verts, VM the extract and then use Tweak to adjust these verts to the correct position(s) whilst viewing down the cylinder. (Cyl. end face must be normal to axial edges)
1). Basic setup (View -> Y) - cylinder with a slightly rotated (in Y) half cube. Again, deliberately adjusted to make it 'off centre'. I have aligned the cylinder so that the cube 'corner' is aligned with a pair of the cylinders axial edges. (Only done to minimise the hassle for demo purposes here…)
2). View -> X of setup.
3). Select one of the 2 faces and apply Face | Extract -> Normal -> 0 (hold shift to constrain) - You now have a face in exactly the same position as the face of the cube.
4). Edge | Cut -> N the appropriate edges, to ensure that there are the same No of verts on this extract as the portion of the cylinder being messed around with. In this case, I needed 11 verts, so it was cut 3 and 4 as shown.
5). Select either side of the face and apply Tools | VMirror -> Create.
6). This (inset) stage can be ignored if you want, but I found it useful.Select the end of the cylinder and inset it a little - amount is irrelevant. All this is for is provide a (better, imo) visual reference for alignment purposes later, when the cyl. is in w/frame mode.
Change to Ortho mode and with inset face still selected, apply View | Align to Selection - Wings will now change the view such that the cylinder end face is now parallel to the screen - ie you're looking at it at right angles (and seeing it's true shape) Make the view mode for the cylinder w/frame and lock it (in Geom Graph)
7). Select the vert shown and apply Vert | Move ->Y (could use Tweak, but move y ensures it stays on the correct edge)
8). Enlarged view prior to any moving.
9). Final (eyeballed) position. (obviously the accuracy depends on how well you line stuff up :) )
10). Overal view after first vert has been done.
11). Start Tweak Mode and select the next vert to adjust.
12). Enlarged view of situation.
13). Eyeball the vert into postion using Tweak.
14). Repeat the procedure with the remainder of the verts.
15). Different view of the finished 'Tweaked' shape. (Break the VMirror)
16). As (15) but with cube object back in view - Assuming all's gone ok (no tumbling taken place etc…), then the (modified) extracted face should still be lying flat on the surface it was origionally extracted from.
17). Repeat the whole procedure for the other side if, as in this case, it's different from the one just completed.
18). Finished second side - note the different No of verts (7 as opposed to 11, first side)
19). Connect up the appropriate verts to separate the cylinder into the correct portions corresponding with the 2 extracted faces - it should be fairly clear which to choose. (Note I've removed the temporary 'inset' edges)
20). To form new geom (using bridge) between the extracted faces and the relevant (matching) portion of the original cylinder - select the appropriate faces. If all's ok, both faces should have the same No of verts (essential for bridge to work correctly)
21). Use Face | Bridge to form the new geom between the faces selected in (20)
22). Select faces for other side of the cylinder.
23). Bridge again.
24). Now want to weld the 2 portions, but this cannot be done (correctly) with the edges on the internal (flat) faces - they need removing. Various ways of doing this - I chose to select the 2 edgeloops and dissolve (eyeball info, top left to check you've got all the edges - 18 in this case)
25). Select both objects abnd apply Object | Weld to join the 2 portions together. (depending on the accuracy of your 'Tweaking / Moving Y, you may have to adjust the verts on the join plane - or - open the weld tolerance a little via the dialogue box)
10). Now we have an 'aiming point' for the vert (on the object) that we actually want to move. All that needs to be done is move the (second) vert to this location. (will use Scale | Uni RMB option)
Select vert to be moved.
11). Apply Scale | Uniform RMB option - and select the vert on the VM plane object (shown in yellow) as the destination vert.
12). Finish the op by dragging to 0% (both verts are now co-incident)
13). After hiding the (temporary) VM plane stuff.

Some comments:
It's easier to do than describe - imo.
Technique has wider ranging uses than that described above.
In some cases (like this) it's possible to VM around the object itself (although it looks odd) and not bother with making temp. geom.
Here, you could do the following:
Select face as in (2) and extrude normal
Select top face of extrusion (as in 4) and VM around this face
Do the flatten RMB procedure with required vert
Dissolve extrusion.

I described the procedure in the way I did for reasons of clarity.

Stay within the 'rules' of VM ops and have fun :)
Using a VM plane to flatten / align along a vector.

Sometimes the requirement is to move a vert so that it moves along a specified edge, but is also aligned to another feature.
This operation is similar to a flatten op - but different.

The described method involves the following stages:
Construct a temporary VM face / plane.
Move a dummy ref. point on the plane.
Move the required point to the location occupied by the ref. point.
1). Basic set-up. The requirement is to move the intermediate vert along the angled edge, so that the lower intersecting edge is at right angles to the lower edge of the object.
2). Select the face as shown and apply Face | Extract Normal -> 0 (hold shift to constrain)
3). Apply Face | Extrude Normal -> (any amount - irrelevant)
4). Select top face of extrusion (this is in line with the edge on the original object) and apply Face | Extract Normal -> 0.
We now have a plane parallel to the edge along which the vert is to be moved.
5). Situation after hiding the extraction - select the face shown and apply VMirror.

Why VM? - Well, whatever you do to any of the (4) verts on this plane, they'll always stay on the plane.
6). Select the vert shown (on the plane, not the object)
7). Apply Vert | Flatten -> Z (in this case), using RMB option and choose the vert shown in yellow as the reference vert / element to be used in the flatten op.
8). Situation after the flatten op - the selected vert is nearly aligned - but not quite. Important - to get it aligned, apply Shift+D until the vert doesn't move any more - at this stage, it will be aligned and still on the plane.
9). Correctly aligned position of the vert, after Shift+D 'nudge' ops.