Commit graph calcs/concrete-beam/assets/beam-section.typ
Author SHA1 Message Date
d90136d158 Update concrete-beam example, section placement, and README
- Longitudinal bars 4 #8 bottom / 2 #8 top; stirrups #3 @ 8 in.
- Move the section figure after Loads and Beam Demand.
- Add concrete-beam/README.md.
- Regenerate results.json, assets/beam-section.typ, and the PDF.

Note: the example-value tests (test_example_flexure,
test_reinforcement_geometry) are not updated for the new input and
currently fail.
2026-09-21 19:35:38 -04:00
e129c1e87c Use concise dynamic rebar labels in beam section
Render bar-group callouts as (n) #size and stirrups as #size @ spacing,
driven entirely by the input values.
2026-09-21 19:23:14 -04:00
759d5e3bae Refine beam section figure and derive As from bars
- Derive As from the provided longitudinal bars instead of taking it as
  input; drop the redundant As_bars output and update tests.
- Draw a fixed schematic 1 in cover and pin the bottom bars to the
  stirrup's bottom leg so the figure no longer depends on cover or d.
- Fixed stirrup stroke with a rounded 3 pt corner radius.
- Right-align the figure, constrain its caption to the image width, and
  shorten the caption to "Beam cross-section".
- Document input.yaml fields.
2026-09-21 19:16:57 -04:00
25f66bb4da Add generated beam cross-section figure to concrete-beam
Add reinforcement inputs (cover, stirrup size/spacing, longitudinal and
top bar size/count) and emit the derived bar geometry from calc.py.
beam_section.py renders a native Typst drawing of the section to
assets/beam-section.typ, which concrete-beam.typ imports as a figure.
Effective depth d remains authoritative for the tension-steel position.
2026-09-21 14:25:16 -04:00