Skip to content

§20 family: Dimensions (§20.4.19, §20.4.22 to §20.4.30) #144

Open

Description

@DrunkOnJava

Spec: ODA Open Design Specification for .dwg files v5.4.1, §20.4.19, §20.4.22, §20.4.23, §20.4.24, §20.4.25, §20.4.26, §20.4.27, §20.4.28, §20.4.29, §20.4.30.

Sections and their state on main (2026-10-21)

Section State Code Note
§20.4.19 ARC_DIMENSION (p. 119) missing -
§20.4.22 Common dimension data (p. 121) closes src/entities/dimension.rs
§20.4.23 DIMENSION (ORDINATE) (20) (p. 122) closes src/entities/dimension_ordinate.rs
§20.4.24 DIMENSION (LINEAR) (21) (p. 123) closes src/entities/dimension_linear.rs
§20.4.25 DIMENSION (ALIGNED) (22) (p. 123) closes src/entities/dimension_aligned.rs
§20.4.26 DIMENSION (ANGULAR, 3-PT) (23) (p. 124) closes src/entities/dimension_angular_3p.rs
§20.4.27 DIMENSION (ANGULAR, 2-LINE) (24) (p. 125) closes src/entities/dimension_angular_2l.rs
§20.4.28 DIMENSION (RADIUS) (25) (p. 126) closes src/entities/dimension_radial.rs
§20.4.29 DIMENSION (DIAMETER) (26) (p. 126) closes src/entities/dimension_diameter.rs
§20.4.30 LARGE_RADIAL_DIMENSION (p. 127) missing -

closes comes from the boundary checks on the local 19-file corpus (STATUS.md, 2026-08-30). It is re-measured on the public corpus in CI by the 0.2.0 measurement epic, and no section is complete until its values equal AutoCAD's own DXF export.

Acceptance, for every section above

  • Every field of its prescription is read, with every version branch the section names
  • Where the section prints an example, its bytes are a committed fixture and decode to the values printed
  • The field list ends on the record's exact data-stream boundary (and string/handle-stream boundaries on R2007+) on every corpus record of the type, on every release band
  • Every value equals AutoCAD's DXF export of the same drawing, matched by handle (DXF group 5), with the scorer from the oracle epic
  • The corpus holds at least one record of the type on each release band, R13 to R2018; a band without one is recorded on the corpus epic, not assumed
  • Its row in docs/spec-coverage.md moves to complete, with the evidence linked

Subtasks

  • §20.4.19 ARC_DIMENSION (no decoder yet)
    • R13
    • R14
    • R2000
    • R2004
    • R2007
    • R2010
    • R2013
    • R2018
  • §20.4.22 Common dimension data
    • R13
    • R14
    • R2000
    • R2004
    • R2007
    • R2010
    • R2013
    • R2018
  • §20.4.23 DIMENSION (ORDINATE) (20)
    • R13
    • R14
    • R2000
    • R2004
    • R2007
    • R2010
    • R2013
    • R2018
  • §20.4.24 DIMENSION (LINEAR) (21)
    • R13
    • R14
    • R2000
    • R2004
    • R2007
    • R2010
    • R2013
    • R2018
  • §20.4.25 DIMENSION (ALIGNED) (22)
    • R13
    • R14
    • R2000
    • R2004
    • R2007
    • R2010
    • R2013
    • R2018
  • §20.4.26 DIMENSION (ANGULAR, 3-PT) (23)
    • R13
    • R14
    • R2000
    • R2004
    • R2007
    • R2010
    • R2013
    • R2018
  • §20.4.27 DIMENSION (ANGULAR, 2-LINE) (24)
    • R13
    • R14
    • R2000
    • R2004
    • R2007
    • R2010
    • R2013
    • R2018
  • §20.4.28 DIMENSION (RADIUS) (25)
    • R13
    • R14
    • R2000
    • R2004
    • R2007
    • R2010
    • R2013
    • R2018
  • §20.4.29 DIMENSION (DIAMETER) (26)
    • R13
    • R14
    • R2000
    • R2004
    • R2007
    • R2010
    • R2013
    • R2018
  • §20.4.30 LARGE_RADIAL_DIMENSION (no decoder yet)
    • R13
    • R14
    • R2000
    • R2004
    • R2007
    • R2010
    • R2013
    • R2018

A subtask becomes its own issue when someone picks it up; that issue quotes the section's field list and names the corpus records it is measured on.

Parent: #138

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:entitiesEntity prescriptions in spec §20.4priority:P1On the path of the current milestonetype:specImplements or verifies a numbered section of ODA spec v5.4.1

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions