From 499beb718f812c1c4f65db045fa893e624b0dbe0 Mon Sep 17 00:00:00 2001 From: ramox81 <184937705+ramox81@users.noreply.github.com> Date: Fri, 11 Sep 2026 11:50:25 +0300 Subject: [PATCH] Preserve polylines when fitting attributes are invalid --- src/modules/draw/modify/pedit.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/modules/draw/modify/pedit.rs b/src/modules/draw/modify/pedit.rs index fbf4f5dc6..1878e01b9 100644 --- a/src/modules/draw/modify/pedit.rs +++ b/src/modules/draw/modify/pedit.rs @@ -680,7 +680,7 @@ impl CadCommand for PeditCommand { }; let Some(local) = crate::entities::curve::ocs_plane(normal, elevation).project([point.x, point.y, point.z]) else { return CmdResult::NeedPoint; }; let delta = cadkernel::geom2d::Vec2::new(local[0] - location[0], local[1] - location[1]); - if delta.length_squared() <= 1e-24 { return CmdResult::NeedPoint; } + if !delta.length_squared().is_finite() || delta.length_squared() <= 1e-24 { return CmdResult::NeedPoint; } self.vertex_tangents.insert(index, delta.angle().rem_euclid(TAU)); self.mode = Mode::PolyVertex(index); return CmdResult::NeedPoint; @@ -1144,6 +1144,8 @@ fn fit_entity(entity: &EntityType, overrides: &[(usize, f64)]) -> Option