fix(dimension): oblique and architectural-tick arrow blocks fit as ticks

Only DIMTSZ > 0 counted as ticks, so a style drawing its strokes with
the _OBLIQUE / _ARCHTICK arrow block gave each stroke a full arrow's
room: an 18-long dimension with 4.8 arrows moved its strokes outside
and ran the dim line past the extension lines once it was drawn live
(after any edit, #898). Tick arrow blocks now count as ticks for fit
and DIMDLE, like the file's own baked block shows them.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Hakan SevenandClaude Opus 5.5 committed 2026-10-01 00:14:13 +03:00
1 parent 2a15a370f6
commit 59651052f8
1 file changed
+7 -1
+7 -1
View File
@@ -3842,7 +3842,13 @@ fn tessellate_dimension_inner(
dimfxlon,
dimsoxd,
dimcen,
ticks: dimtsz_raw > 1e-9,
// Oblique-stroke and architectural-tick arrow blocks are ticks
// too: they sit on the extension line and need no room of their
// own, and DIMDLE applies to them. Given arrow-sized room, an
// 18-long dimension flipped its strokes outside (#898).
ticks: dimtsz_raw > 1e-9
|| (matches!(arrow1, ArrowKind::Tick { .. })
&& matches!(arrow2, ArrowKind::Tick { .. })),
arrow_len: dimasz,
text_width: text_layout.width,
text_height: dim_txt as f32,