thanks for the idea of using a macro, that may be a good workaround for the lack of vertical milling capability. Currently I've just had to do this by hand coding on the machine , with a straight back and forth in x or y this is quicker than spending the evening trying to trick FreeCAD into doing something it does not want to do.
The real need here is for when there is something less trivial like the curved vertical surface in the model which I attached at the top of this thread.
Now it may be possible to attack this problem with a macro script if I can select the two edges ( a straight line and an arc ) and then work on that with a script. I could also use the deburr tool to get all gcode for a single pass and use a macro to replicate it downwards.
That is at least possible workaround. Many thanks for pointing this out.
In fact my simplest solution would be do all the post processing etc with FC to get the single deburr cut for the machine then use a text manipulation tool like awk or sed to duplicate the gcode block and tweak the z values .
It's all a bit messy but does provide a solution which I did not have a couple of days ago when I needed to cut this part.
[BTW, had to do that cut with 3d surface , which ends up making a staircase approximation of the cylindrical part. That was pretty messy on wood, but fortunately this piece was structural and not visible, so it passed QA. Sadly, 3d-surface is now also broken on recent master : https://forum.freecadweb.org/viewtopic.php?f=15&t=41470
Thanks for the new angle on this problem.