From 5aaa0e128b5e9cc1308ae4268fc6609872a614cb Mon Sep 17 00:00:00 2001 From: ramox81 <184937705+ramox81@users.noreply.github.com> Date: Fri, 11 Sep 2026 14:24:12 +0300 Subject: [PATCH] Normalize circular arc break fragment angles --- src/modules/draw/modify/break_cmd.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/draw/modify/break_cmd.rs b/src/modules/draw/modify/break_cmd.rs index 8b45eb8de..9af181fd1 100644 --- a/src/modules/draw/modify/break_cmd.rs +++ b/src/modules/draw/modify/break_cmd.rs @@ -105,8 +105,8 @@ fn break_arc(arc: &ArcEnt, p1: DVec3, p2: DVec3) -> Vec { spans.into_iter().map(|[from, to]| { let mut result = arc.clone(); result.common.handle = Handle::NULL; - result.start_angle = geometry.start_angle + from * geometry.sweep(); - result.end_angle = geometry.start_angle + to * geometry.sweep(); + result.start_angle = (geometry.start_angle + from * geometry.sweep()).rem_euclid(std::f64::consts::TAU); + result.end_angle = (geometry.start_angle + to * geometry.sweep()).rem_euclid(std::f64::consts::TAU); EntityType::Arc(result) }).collect() }