Commit graph

12 commits

Author SHA1 Message Date
aa790c1be5 Normalize spacing before units across all calc sheets
Plain units already get a gap from the source whitespace, so drop the
leading space inside the string; keep it only on superscripted units
(in^2, in^3, in^4, ft^2). Also fix the generated concrete-beam figure
labels. Regenerate all affected PDFs.
2026-09-21 20:38:04 -04:00
fbe75e575b Fix uneven spacing before units in steel-beam sheet
Plain unit strings already get a gap from the source whitespace, so the
added leading space doubled it; keep the leading space only on
superscripted units.
2026-09-21 20:29:20 -04:00
19d566932e Add spacing before units in steel-beam sheet 2026-09-21 20:21:16 -04:00
ddd5ecff58 Drop unit suffixes from steel-beam variables and results
Rename calc.py locals and result keys, add inline unit comments, and
normalize Lp/Lr/Lb to feet. Update steel-beam.typ references and the
tests (current W10X15 input, --stdout summary behavior).
2026-09-21 20:11:51 -04:00
6ed3246555 Tidy concrete-beam sheet formulas and express h in feet 2026-09-21 20:11:51 -04:00
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
8f91baee41 Use Pint and unit-free variable names in concrete-beam
Convert input parsing to Pint (matching the other calculations), carry
units in the YAML values, and drop unit suffixes from input keys, local
variables, results keys, the Typst sheet, and tests.
2026-09-21 12:44:28 -04:00
27a9cdd707 Remove concrete-beam2 and unused shore-post-brace assets 2026-09-21 12:33:13 -04:00
d5ac3fca7e Add structural calculation worksheets
Collection of engineering calculation projects (Python + Typst), each with
input, calc script, tests, results, and generated PDF where available.
2026-09-21 12:19:20 -04:00