diff --git a/src/entities/spline.rs b/src/entities/spline.rs index 481d57543..9cdf5c68b 100644 --- a/src/entities/spline.rs +++ b/src/entities/spline.rs @@ -128,7 +128,6 @@ pub(crate) fn replace_with_nurbs(spline: &mut Spline, curve: &NurbsCurve3) { spline.fit_points = fit_points; spline.begin_tangent = acadrust::types::Vector3::ZERO; spline.end_tangent = acadrust::types::Vector3::ZERO; - spline.cv_frame_visible = true; spline.flags.rational = spline.weights.windows(2) .any(|pair| (pair[0] - pair[1]).abs() > 1e-12); spline.flags.closed = false; diff --git a/src/scene/parametric_solve.rs b/src/scene/parametric_solve.rs index fef63b70e..889671264 100644 --- a/src/scene/parametric_solve.rs +++ b/src/scene/parametric_solve.rs @@ -2979,6 +2979,9 @@ fn solve_scope( .collect(); if changed { let mut updated = spline.clone(); + if crate::entities::spline::uses_fit_method(spline) { + updated.cv_frame_visible = true; + } updated.degree = curve.degree as i32; updated.knots = curve.knots.clone(); updated.control_points = control_points;