THMX
Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.
THMX: LBNL THERM XML cross-section (polygons filled by material, boundary-condition edges, legend of materials, boundary conditions and U-factor results) or Office Theme OOXML package (colour-scheme swatches, fonts, entry list); sniffed by content.
At a glance
| Purpose | Two unrelated formats share this extension: a Microsoft Office theme (colours, fonts and effects) and an LBNL THERM XML model of a heat-transfer cross-section. |
| Extensions | .thmx |
| Poka parser | poka-thmx |
| Viewer | poka-vector-viewer |
| Depth tier | Parser with a shared viewer (see Depth tiers) |
| Breadth tier | B3 Core (see Breadth tiers) |
How much Poka reads
B3 Core. Only the main content type or types are decoded (for example geometry but not materials, layers or annotations, or only one version family). The list of gaps is substantial.
Confidence: medium (the reviewer read the code). Basis: Reviewed 2026-10-16: parsers/poka-thmx (lib.rs content sniffing, therm.rs, theme.rs, sheet.rs), src/tests.rs and tests/samples.rs. Two unrelated formats share this entry. LBNL THERM XML: the sample-jamb_CMA.thmx corpus file is asserted against its own element counts and results (the only corpus file). Office theme: only synthetic-package unit tests, no real theme in the corpus. The tier covers both forms. THERM alone would be about B2; the theme form is core only.
What Poka does not read
- Office theme: only the 12 colour slots and the font typefaces are read; the format scheme (fill, line and effect styles), background fill styles, object defaults and theme extensions are not
- Office theme: bundled media and slide layouts or masters are listed as package entries but not interpreted; a .thmx is not shown as a PowerPoint or Word theme preview
- Office theme: no real-world theme in the corpus, so behaviour on genuine files is untested
- THERM: spectral optical properties of materials (the Property T/R rows), the CMA glazing-system settings, radiance-mode boundary conditions and detailed mesh settings are not shown
- THERM: results show one row per case and projection summary, not every projection of every case
- THERM: the newer .thmz archive and the older binary .thm are not read
- THERM: an unknown boundary-condition Type is printed as a number, not named
Background
An Office theme is an Office Open XML package whose theme1.xml part holds a colour scheme, a font scheme and effects. Microsoft's developer article on document themes describes the .thmx file for the 2007 Office system and Office 2008 for Mac. THERM is Lawrence Berkeley National Laboratory's program for two-dimensional heat transfer through window frames and thermal bridges. Its XML model holds materials, boundary conditions, the polygons of the section and, once solved, U-factor results. THERM 8.1 introduced a newer archive format, .thmz. Poka decides by content, never by name: a ZIP is a theme, an XML document with a THERM-XML root is THERM. A theme is drawn as a swatch sheet of its colours and fonts; a THERM section is drawn with its regions filled by material, its boundary-condition edges and a legend of materials and U-factors. Anything else is explained in the preview rather than guessed.
Versions
| Version | Identifier | Poka | Note |
|---|---|---|---|
| Microsoft Office theme | ZIP package with theme/theme/theme1.xml |
Partly read | Only the colour scheme and the font typefaces are read: no effect styles, fills or media. The theme path has been tested only on synthetic files. |
| LBNL THERM XML | <THERM-XML xmlns="http://windows.lbl.gov"> |
Read | A file that stops parsing half-way still draws what was read, and the header says where the XML broke. |
Libraries
Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.
- quick-xml (used; MIT; Rust)
- zip (used; MIT; Rust)
Software that uses it
- THERM / WINDOW (LBNL)