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() }