feat(scene): render dimensions from DimStyle values read from file

Dimension tessellation was hardcoding arrow shape (open-V line pair) and
text format ("{:.4}"), ignoring almost every DimStyle field the parser
populated. Drives the wire/text geometry from the resolved DimStyle:

- text: DIMDEC, DIMZIN, DIMLFAC, DIMRND, DIMDSEP, DIMPOST, DIMADEC,
  DIMAZIN, DIMAUNIT (decimal/DMS/grad/rad), DIMTXSTY
- arrows: DIMBLK/DIMBLK1/DIMBLK2/DIMSAH resolution against block_records,
  supporting ClosedFilled (default), Closed/Closed-Blank, Small, Open
  (30/90), Dot (small/blank), Origin, Oblique/ArchTick, Box, Datum, None;
  DIMTSZ overrides to oblique ticks
- colours: DIMCLRD / DIMCLRE / DIMCLRT split into three wires (ext, dim,
  text); BYBLOCK/BYLAYER fall through to entity colour
- weights: DIMLWD / DIMLWE drive line_weight_px per wire
- suppress: DIMSE1/DIMSE2 (ext) and DIMSD1+DIMSD2 (dim) honoured
- text placement: DIMTAD vertical offset using DIMGAP + text height when
  text_middle_point is unset; DIMTIH/DIMTOH force horizontal text

Co-Authored-By: Claude Opus 4.7 <[email protected]>
This commit is contained in:
Hakan SevenandClaude Opus 4.7 committed 2026-05-19 09:34:27 +03:00
1 parent a73dffdd76
commit 1b2415bde5
1 file changed
+695 -104
+695 -104
View File
File diff suppressed because it is too large. Load diff