From f8a5150e6fa4e40f38b680739a4cc27e95fe4198 Mon Sep 17 00:00:00 2001 From: Roy-043 Date: Sat, 2 Sep 2023 20:48:40 +0200 Subject: [PATCH] Draft: Fix angle range issue of make_circle --- src/Mod/Draft/draftguitools/gui_arcs.py | 10 +++------- src/Mod/Draft/draftmake/make_circle.py | 5 ++--- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/Mod/Draft/draftguitools/gui_arcs.py b/src/Mod/Draft/draftguitools/gui_arcs.py index a7d458741f..1d0476de5c 100644 --- a/src/Mod/Draft/draftguitools/gui_arcs.py +++ b/src/Mod/Draft/draftguitools/gui_arcs.py @@ -342,13 +342,9 @@ class Arc(gui_base_original.Creator): end = math.degrees(self.firstangle + self.angle) if end < sta: sta, end = end, sta - while True: - if sta > 360: - sta = sta - 360 - elif end > 360: - end = end - 360 - else: - break + sta = sat % 360 + end = end % 360 + try: Gui.addModule("Draft") if utils.getParam("UsePartPrimitives", False): diff --git a/src/Mod/Draft/draftmake/make_circle.py b/src/Mod/Draft/draftmake/make_circle.py index 3e0a148046..f6241844cd 100644 --- a/src/Mod/Draft/draftmake/make_circle.py +++ b/src/Mod/Draft/draftmake/make_circle.py @@ -113,9 +113,8 @@ def make_circle(radius, placement=None, face=None, startangle=None, endangle=Non else: obj.Radius = radius if (startangle is not None) and (endangle is not None): - if startangle == -0: startangle = 0 - obj.FirstAngle = startangle - obj.LastAngle = endangle + obj.FirstAngle = startangle % 360 + obj.LastAngle = endangle % 360 obj.Support = support