From 645737b3f91738ade255c85117d34c902e9f55b5 Mon Sep 17 00:00:00 2001 From: Hakan Seven Date: Sat, 2 May 2026 19:59:37 +0300 Subject: [PATCH] feat: add Node snap points for MLine vertices Co-Authored-By: Claude Sonnet 4.6 --- src/entities/mline.rs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/entities/mline.rs b/src/entities/mline.rs index ebcb33331..2f97c160d 100644 --- a/src/entities/mline.rs +++ b/src/entities/mline.rs @@ -6,6 +6,7 @@ use crate::entities::common::{edit_prop as edit, ro_prop as ro, square_grip}; use crate::entities::traits::{Grippable, PropertyEditable, Transformable, TruckConvertible}; use crate::scene::acad_to_truck::{TruckEntity, TruckObject}; use crate::scene::object::{GripApply, GripDef, PropSection, PropValue, Property}; +use crate::scene::wire_model::SnapHint; impl TruckConvertible for MLine { fn to_truck(&self, _document: &acadrust::CadDocument) -> Option { @@ -92,9 +93,20 @@ impl TruckConvertible for MLine { .map(|v| [v.position.x as f32, v.position.y as f32, v.position.z as f32]) .collect(); + let snap_pts = self + .vertices + .iter() + .map(|v| { + ( + Vec3::new(v.position.x as f32, v.position.y as f32, v.position.z as f32), + SnapHint::Node, + ) + }) + .collect(); + Some(TruckEntity { object: TruckObject::Lines(pts), - snap_pts: vec![], + snap_pts, tangent_geoms: vec![], key_vertices: key_verts, })