Skip to content

v0.22.0 - The "Joist Arrays That Just Work" Release

Choose a tag to compare

@connorferster connorferster released this 18 Sep 23:25
· 5 commits to main since this release
68f18a3

This release rebuilds how papermodels handles geometry. Intersection points now come from a single canonical node store, and the JoistArrayModel has been rebuilt on top of it. The aim is to make the frequent geometry errors of past releases go away.

⚠️ Breaking changes

  • CollectorTribModel has been removed. Use JoistArrayModel instead. The Example notebooks have been updated to import and assign JoistArrayModel.

Features

  • Canonical node store: all intersection points now refer to shared canonical nodes, instead of each element carrying its own geometry and intersection points. An STRtree finds candidate overlaps, and wall centerlines use a robust oriented bounding box. This prevents floating-point errors between elements that should touch.
  • Rebuilt JoistArrayModel: joists are laid out in "stations" along the prototype.
    • A joist that lands in a gap between supports moves to the nearest location with valid supports, or is dropped with a warning.
    • Trib areas are bands between neighbouring joists, so there are no gaps in trib area.
    • An abrupt change in span along an array gives a warning suggesting a separate joist prototype.
    • Prototypes tilted past vertical no longer get backwards arrays or cantilevers projected into the span.
  • New joist_container markup: draw a polygon around a joist prototype and give it a legend entry whose Type contains "container". Joists in the array are clipped to the container, so both cantilevers and backspans can vary along the array.
  • Dashed line types: dash patterns in PDF annotations are now read, so a dashed legend entry is its own line type and no longer gets mixed up with a solid entry of the same colour and weight. plot_annotations() draws dashed lines dashed.

Fixes

  • Joist arrays that previously dropped joists, such as the triangular array in the resi dormers test drawing, are now complete.
  • A short intermediate beam under a single joist no longer moves that joist off its bearing.
  • Point load locations on walls are now correct.

What's Changed

Full Changelog: v0.21.0...v0.22.0