Here is the culprit => https://github.com/FreeCAD/FreeCAD/blob ... G.py#L1105
It checks that ending point is different from starting point. Which of course can make sense for cubic Bezier curves.
I disabled the check and everything runs fine.
Same problem may happen with quadratic Bezier curve
Also I find this condition is checked for lines
(which is OK), tested with different coding for vertical lines
and not tested at all for horizontal lines
May you remember why these checks were added and if they can be safely removed ?