Skip to content

About

Machine-readable GD&T symbol, modifier and surface-roughness reference tables. Every Unicode claim is verified against the Unicode Character Database by a script in the repo.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

Engineering reference data

Small, machine-readable reference tables for mechanical drawings, in CSV and JSON, with every claim checkable by a script in this repository.

There are a lot of GD&T and surface-finish charts on the web. Most are images, most are transcribed from each other, and almost none tell you where a number came from or which standard revision it belongs to. This repository is the opposite: plain text, one fact per column, and a verifier you can run yourself.

Rendered HTML of the same tables: https://makenexa.github.io/engineering-reference-data/

What is here

File Rows Contents
data/gdt-symbols.csv 14 Geometric characteristics — symbol, Unicode codepoint, category, whether a datum is required, and status in ASME Y14.5-2018 vs ISO 1101
data/gdt-modifiers.csv 15 Material-condition and drafting modifiers — MMC, LMC, projected tolerance zone, counterbore, countersink, depth, all-around and the rest
data/surface-roughness-grades.csv 12 ISO 1302 N-grades N1–N12 and their preferred Ra values

Each file has a .json twin with identical contents. CSV is the source of truth; the JSON is generated by tools/to-json.py, and tools/verify.py fails if the two ever disagree. Column definitions are in data/README.md.

Companion article that uses the same 14-row ASME/ISO split: https://makenexa.com/resources/engineering-drawing-checklist/

Verifying it yourself

python tools/verify.py

The verifier:

  • re-derives every glyph and official character name from the Unicode Character Database in your Python install
  • rejects a row marked as having a dedicated GD&T codepoint when the character is borrowed, and the reverse
  • requires concentricity and symmetry to be withdrawn in ASME Y14.5-2018 and active in ISO 1101, and the other twelve to be active in both
  • requires form controls to have no datum, profile to be optional, and orientation, location and runout to require a datum
  • requires the N-grade Ra series to be the ISO 1302 preferred numbers (N9 = 6.3 µm, not 6.4; N7 = 63 µin, not 64)
  • fails if any JSON file has drifted from its CSV

Nothing about the codepoints is transcribed from a chart, so a wrong codepoint cannot survive a run.

Two things worth knowing

Most GD&T symbols do not have their own Unicode character. Unicode encodes straightness, flatness, cylindricity, symmetry, position, total runout, counterbore, countersink, conical taper, slope, all-around and dimension origin by name. The rest — circularity, perpendicularity, parallelism, angularity, both profile symbols, concentricity, circular runout, and every circled-letter modifier — are geometry or enclosed-alphanumeric characters that drafting practice borrowed. The codepoint_dedicated_to_gdt column records which is which, because the borrowed ones render inconsistently across fonts and are the usual cause of a symbol turning into a box in a PDF.

Concentricity and symmetry are not interchangeable across standards. ASME Y14.5-2018 withdrew both; ISO 1101 retains them. A drawing carrying those symbols is therefore either ISO, or ASME to an earlier revision. The asme_y14_5_2018 and iso_1101 columns record this per row rather than presenting one merged list.

N-grades are preferred numbers, not binary doubling. ISO 21920-1:2021 replaced ISO 1302 for new surface-texture specifications and does not use N-grades. The series is still on drawings in circulation, which is why it is here.

What is deliberately not here

  • Ra ↔ Rz conversion. There is no fixed relationship between them. The ratio depends on the profile the process leaves, so a turned surface and a ground surface at the same Ra have different Rz. Charts that print a single multiplier hide that, and reproducing one here would make an approximation look like a constant.
  • ISO 286 IT tolerance tables. Those values are the substance of a copyrighted standard, not free-standing facts.
  • Material property tables. Real values move with supplier, temper, section size and heat lot. A single unattributed number is worse than no number, and this repository has no way to attribute one.

Scope

This is a convenience copy of well-established reference material, not a standard. The controlling document is always the standard revision your drawing cites — ASME Y14.5, ISO 1101, ISO 21920 (which superseded ISO 4287/4288 for surface texture) or whichever your contract names. Where this data and a standard disagree, the standard is right; please open an issue.

License

CC0 1.0 — public domain dedication. Use it in anything, no attribution required. Cite the dataset via CITATION.cff if you want a stable reference.


Maintained by MakeNexa, which does managed sourcing for custom manufactured parts. We kept re-deriving these tables internally, so we published them. Corrections are welcome as issues or pull requests.

About

Machine-readable GD&T symbol, modifier and surface-roughness reference tables. Every Unicode claim is verified against the Unicode Character Database by a script in the repo.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages