In the other thread on some previous work I did with the Placement dialog mario52 suggested applying the same principles to movement along the axis. I decided to open a new topic since this is a slightly different subject.
Here is what I have come up with. I added a new quantity spin box, labeled "Axial" and a new button labeled "Apply axial" these are located in the same group box ("Translation") as already containing the x, y, and z position spin boxes. (This space was actually just being wasted anyway due to the Center of Mass checkbox and Selected points button forcing this box to stretch. And if nothing else, this at least brings back some symmetry to this dialog.)
When the Apply axial button is clicked the object is moved the distance in the Axial spin box along the Axial direction. (Shift+click Apply axial to go in the opposite direction.) The Axial direction is determined by the value in the Axis box. If you are using Euler angles you will not see this Axis box, but the value in it still gets used anyway. By default the Axis direction is Z, but X, Y, Z, or a custom value may be chosen. The Selected points button can be used as a convenient means of configuring a custom axis.
In this example video I have 2 primitive cylinders some distance from one another, lined up with one another, but they have been rotated by 30 degrees about a common central point. It would be challenging to move these back together without this new feature since they are no longer aligned with the Z axis, but with the new feature it's fairly simple to do. We just need to select the 2 endpoints along the seam of the cylinder we want to move, click Selected points to create a new custom axis, then move it along that custom axis.
You might have noticed I selected the 2 points, then cleared and reselected them. This is because the order of selection defines the direction and I had inadvertently selected them in the wrong order at first. The second point selected becomes the direction of motion (relative to the first point selected). But this is not particularly important since you can always Shift+Click the Apply axial button to move in the opposite direction if you get it wrong on the first try (or you can put a negative value in the Axial spin box).
Behind the scenes, the only thing Apply axial does is update the X, Y, and Z Translation values, then call onPlacementChanged() to signal the placement has changed.