diff --git a/cadquery/sketch.py b/cadquery/sketch.py index 1b0bd2888..47b528ac2 100644 --- a/cadquery/sketch.py +++ b/cadquery/sketch.py @@ -706,7 +706,14 @@ def _startPoint(self) -> Vector: if not self._edges: raise ValueError("No free edges available") - e = self._edges[0] + # find the first edge matching current edge mode + e = self._edges[-1] + mode = e.forConstruction + + for el in reversed(self._edges): + if el.forConstruction == mode: + e = el + break return e.startPoint()