Feat: DIVIDE and MEASURE commands — place points along entities

DIVIDE (DIV): entity pick → type N → places N-1 Point entities at equal spacing.
MEASURE (ME): entity pick → type distance → places points at fixed intervals.

Supported entities: Line, Arc, Circle, LwPolyline.
Uses CmdResult::DivideEntity / MeasureEntity with geometry computed in cmd_result.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
This commit is contained in:
Hakan SevenandClaude Sonnet 4.6 committed 2026-04-02 23:43:33 +03:00
1 parent 641cc2d70b
commit ae0a4b12b5
5 files changed
+294 -1

No files matched your search

+4
View File
@@ -99,6 +99,10 @@ pub enum CmdResult {
BreakEntity { handle: Handle, p1: Vec3, p2: Vec3 },
/// Attempt to join the given entities into fewer merged entities.
JoinEntities(Vec<Handle>),
/// Place Point entities at N equal intervals along the entity.
DivideEntity { handle: Handle, n: usize },
/// Place Point entities at `segment_length` intervals along the entity.
MeasureEntity { handle: Handle, segment_length: f64 },
}
// ── Trait ─────────────────────────────────────────────────────────────────