forked from 1b-agent/opencadstudio-upstream
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:
1 parent
2a15a370f6
commit
59651052f8
1 file changed
+7
-1
@@ -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,
|
||||
|
||||
Reference in new issue
Block a user