I want to move a vertex A along an edge A1 in such a way so that the vertex has the same Z global coordinate as another vertex B which is in another edge B1. B1 and A1 are not parallel.
I tried using the Normal coordinate system to move A along A1, but snapping to B only considers the current (Normal in this case) coordinate system so it didn't work as desired.
Then I tried snapping the 3D cursor to an endpoint of A1 and scaling A (with the 3D cursor as pivot), but snapping to B did not work as expected (I'm not sure why).
The only solution I was able to come up with was to duplicate the edge and snap A to B in the global coordinate system, then while moving on the XY plane snapping to the duplicated edge. Far from being practical.
Here is a picture of what I'm trying to achieve:
I want the selected vertex to move only along the green axis but I want to snap to the vertex in the red circle relative to the global Z.
Is there a better way to achieve this?