Skip to content

v0.2.0

Choose a tag to compare

@CyrilWaechter CyrilWaechter released this 09 Sep 20:23
· 35 commits to master since this release

v0.2.0

Second published release, five months of work: a local indexed store, a web
GUI (material picker + construction maker), and a full Bonsai (Blender)
integration — installable as a Blender extension repository.

Highlights

  • materialsdb-gui: a stdlib-only local web application to browse, filter
    and sort all cached materials, inspect them, and export a standalone
    .ifc or append into an already-open session. Start it with
    materialsdb-gui (or python -m materialsdb.gui).
  • Construction maker: compose thermal constructions from materialsdb
    materials with live U-value computation (ISO 6946 / SIA 180 surface
    resistances), save them as JSON, and export them as IfcMaterialLayerSet.
  • Bonsai integration (Blender extension, materialsdb_listener):
    • extension repository at
      https://cyrilwaechter.github.io/python-materialsdb/ — install and
      update from Preferences ▸ Get Extensions
    • start the GUI server from the panel (interpreter configurable in
      preferences)
    • push picked materials straight into the open model (identity + per-layer
      property sets, surfaces styles), undoable via Ctrl+Z
    • push constructions as IfcWallType/IfcSlabType/IfcRoofType with
      their IfcMaterialLayerSet
    • round-trip: push an existing type's layer set back into the composer,
      edit it (even layers whose material is not a materialsdb one — kept as
      "model material" placeholders) and push it back into the same set
  • Query store (schema v3): SQLite index of cached materials with
    type-aware summaries, fast parsing (3.9-4.7x), cross-producer duplicate
    reporting, per-producer ver/crd freshness.
  • Single-material IFC builder: append one or more materialsdb materials
    (or selected layer thicknesses) into an existing ifcopenshell file,
    idempotent, or build standalone files.

Fixes & internals

  • ruff + ty toolchain, CI (lint/format/type/tests) on push
  • store refresh survives corrupt producers; geometry/thermal data resolved
    per configured country everywhere
  • client-disconnect-safe HTTP server; Blender extension zippable with
    version injection for releases

Full changelog: v0.1.0...v0.2.0