WillTools 2026-09-09 -- clean snapshot of the development repo for review
ci / test (push) Successful in 6m18s

History-free snapshot of the private development repository at cbe45c5
(2026-09-09). Code, docs and public catalogue only; no plant or job
knowledge layers, no client or job names (tools/scrub.py clean). The
intro deck is left out of this snapshot because its slide images could
not be checked for job drawings.
This commit is contained in:
2026-09-09 08:32:15 -05:00
commit 8e6ee31596
406 changed files with 223435 additions and 0 deletions
+363
View File
@@ -0,0 +1,363 @@
{
"schema": "beamcalc/1",
"mark": "RBA1.0",
"description": "8\" x 48-1/4\" transfer beam, 14'-6\" long, mild reinforced Grade 80, uniform transfer wall load (reference package RBA1 run 1, Eriksson Beam v5.9.1; the package's own f'ci was typed as 3500 ksi and is kept so its limits reproduce)",
"materials": {
"fc_ksi": 8,
"fci_ksi": 3500,
"wc_pcf": 150,
"ec_ksi": 5422,
"eci_ksi": 113419,
"type": "normalweight",
"lambda": 1.0,
"rebar": {
"fy_ksi": 80,
"es_ksi": 29000
},
"trans": {
"fy_ksi": 60,
"es_ksi": 29000
}
},
"extents": {
"length_ft": 14.5,
"section": {
"type": "rectangular",
"width_in": 8,
"height_in": 48.25
}
},
"supports": {
"start": {
"type": "pin",
"from_start_in": 8,
"length_in": 17,
"width_in": 7
},
"end": {
"type": "pin",
"from_end_in": 8,
"length_in": 17,
"width_in": 7
}
},
"bearing": {
"analyse": true,
"mu": 1.4,
"nu_ratio": 0.2,
"cr": 1.0
},
"combos": {
"strength": [
{
"D": 1.4,
"L": 0,
"R": 0,
"W": 0,
"E": 0,
"include": true
},
{
"D": 1.2,
"L": 1.6,
"R": 0.5,
"W": 0,
"E": 0,
"include": true
},
{
"D": 1.2,
"L": 1.0,
"R": 1.6,
"W": 0,
"E": 0,
"include": true
},
{
"D": 1.2,
"L": 0,
"R": 1.6,
"W": 0.5,
"E": 0,
"include": false
},
{
"D": 1.2,
"L": 1.0,
"R": 0.5,
"W": 1.0,
"E": 0,
"include": false
},
{
"D": 1.2,
"L": 1.0,
"R": 0.2,
"W": 0,
"E": 1.0,
"include": false
},
{
"D": 0.9,
"L": 0,
"R": 0,
"W": 1.0,
"E": 0,
"include": false
},
{
"D": 0.9,
"L": 0,
"R": 0,
"W": 0,
"E": 1.0,
"include": false
}
],
"service": [
{
"D": 1,
"L": 0,
"R": 0,
"W": 0,
"E": 0,
"include": true
},
{
"D": 1,
"L": 1,
"R": 0,
"W": 0,
"E": 0,
"include": true
},
{
"D": 1,
"L": 0,
"R": 1,
"W": 0,
"E": 0,
"include": true
},
{
"D": 1,
"L": 0.75,
"R": 0.75,
"W": 0,
"E": 0,
"include": true
},
{
"D": 1,
"L": 0,
"R": 0,
"W": 0.6,
"E": 0,
"include": false
},
{
"D": 1,
"L": 0,
"R": 0,
"W": 0,
"E": 0.7,
"include": false
},
{
"D": 1,
"L": 0.75,
"R": 0.75,
"W": 0.45,
"E": 0,
"include": false
},
{
"D": 1,
"L": 0.75,
"R": 0.75,
"W": 0,
"E": 0.525,
"include": false
},
{
"D": 0.6,
"L": 0,
"R": 0,
"W": 0.6,
"E": 0,
"include": false
},
{
"D": 0.6,
"L": 0,
"R": 0,
"W": 0,
"E": 0.7,
"include": false
}
]
},
"settings": {
"deflection": {
"total": "L/480",
"live": "L/360",
"ec_for_sw": "Eci",
"multipliers": {
"self_weight": {
"erection": 1,
"construction": 1.3,
"end": 2
},
"addl_dead": {
"construction": 0,
"end": 2
}
}
},
"shear": {
"composite": "varying_strength",
"dv_method": "cg_tension",
"min_method": "beam_9.6.3"
},
"flexure": {
"method": "whitney",
"ignored_distance_in": 0,
"strain_limit": 0.004
},
"transfer_limits": {
"comp_ends": 0.7,
"comp_other": 0.7,
"tens_ends_sqrt": 6,
"tens_other_sqrt": 6
},
"service_limits": {
"comp_sustained": 0.45,
"comp_total": 0.6
},
"phi": {
"tension": 0.9,
"shear": 0.75,
"compression": 0.65
},
"development": {
"ktr": 0,
"mild_mult": 1
},
"section_properties": {
"transform": true
}
},
"loads": {
"self_weight_mult": 1,
"pattern_live": true,
"point": [],
"line": [
{
"id": "L1",
"x0_in": 0,
"x0_from": "start",
"x1_in": 0,
"x1_from": "end",
"ecc_in": 0,
"deadnc": 45.7,
"live": 7.0,
"roof": 0.53
}
]
},
"handling": {
"min_sling_deg": 60,
"stripping": {
"multiplier": 1.4,
"face_down": "bottom",
"strength": "initial",
"limits": "transfer",
"pick_points": 2,
"lift_from_start_in": 24,
"lift_from_end_in": 24
},
"handling": {
"multiplier": 1.5,
"dunnage_from_start_in": 24,
"dunnage_from_end_in": 24
},
"erection": {
"multiplier": 1.2,
"lift_from_start_in": 24,
"lift_from_end_in": 24
}
},
"reinforcement": {
"bars": [
{
"size": "#11",
"rows": 1,
"cols": 2,
"left_in": 3,
"right_in": 3,
"top_in": 44.25,
"bottom_in": 4,
"start_in": 2,
"end_in": 2
},
{
"size": "#9",
"rows": 1,
"cols": 2,
"left_in": 2.5,
"right_in": 2.5,
"top_in": 41.25,
"bottom_in": 7,
"start_in": 2,
"end_in": 2
},
{
"size": "#9",
"rows": 1,
"cols": 2,
"left_in": 2.5,
"right_in": 2.5,
"top_in": 38.25,
"bottom_in": 10,
"start_in": 2,
"end_in": 2
},
{
"size": "#7",
"rows": 1,
"cols": 2,
"left_in": 2,
"right_in": 2,
"top_in": 2,
"bottom_in": 46.25,
"start_in": 2,
"end_in": 2
}
],
"strands": [],
"transverse": [
{
"use": "Av",
"size": "#4",
"legs": 2,
"first_in": 2,
"from": "start",
"spacing_in": 4,
"length_in": 60,
"qty": 16,
"symmetric": true
},
{
"use": "Av",
"size": "#4",
"legs": 2,
"first_in": 68,
"from": "start",
"spacing_in": 6,
"length_in": 20,
"qty": 4,
"symmetric": true
}
]
}
}
+63
View File
@@ -0,0 +1,63 @@
{
"schema": "beamcalc/1",
"mark": "RBA5.0",
"description": "16RB22 beam, 17'-11\" long, mild reinforced, transfer loads from a flat slab (reference package RBA5, Eriksson Beam v5.9.1)",
"materials": {"fc_ksi": 5, "fci_ksi": 2.5, "wc_pcf": 150, "ec_ksi": 4287, "eci_ksi": 3031,
"type": "normalweight", "lambda": 1.0,
"rebar": {"fy_ksi": 60, "es_ksi": 29000}, "trans": {"fy_ksi": 60, "es_ksi": 29000}},
"extents": {"length_ft": 17.916667, "section": {"type": "rectangular", "width_in": 16, "height_in": 22}},
"supports": {"start": {"type": "pin", "from_start_in": 2, "length_in": 4, "width_in": 10},
"end": {"type": "pin", "from_end_in": 2, "length_in": 4, "width_in": 10}},
"bearing": {"analyse": true, "mu": 1.4, "nu_ratio": 0.2},
"combos": {
"strength": [
{"D": 1.4, "L": 0, "R": 0, "W": 0, "E": 0, "include": true},
{"D": 1.2, "L": 1.6, "R": 0.5, "W": 0, "E": 0, "include": true},
{"D": 1.2, "L": 1.0, "R": 1.6, "W": 0, "E": 0, "include": true},
{"D": 1.2, "L": 0, "R": 1.6, "W": 0.5, "E": 0, "include": false},
{"D": 1.2, "L": 1.0, "R": 0.5, "W": 1.0, "E": 0, "include": false},
{"D": 1.2, "L": 1.0, "R": 0.2, "W": 0, "E": 1.0, "include": false},
{"D": 0.9, "L": 0, "R": 0, "W": 1.0, "E": 0, "include": false},
{"D": 0.9, "L": 0, "R": 0, "W": 0, "E": 1.0, "include": false}],
"service": [
{"D": 1, "L": 0, "R": 0, "W": 0, "E": 0, "include": true},
{"D": 1, "L": 1, "R": 0, "W": 0, "E": 0, "include": true},
{"D": 1, "L": 0, "R": 1, "W": 0, "E": 0, "include": true},
{"D": 1, "L": 0.75, "R": 0.75, "W": 0, "E": 0, "include": true},
{"D": 1, "L": 0, "R": 0, "W": 0.6, "E": 0, "include": false},
{"D": 1, "L": 0, "R": 0, "W": 0, "E": 0.7, "include": false},
{"D": 1, "L": 0.75, "R": 0.75, "W": 0.45, "E": 0, "include": false},
{"D": 1, "L": 0.75, "R": 0.75, "W": 0, "E": 0.525, "include": false},
{"D": 0.6, "L": 0, "R": 0, "W": 0.6, "E": 0, "include": false},
{"D": 0.6, "L": 0, "R": 0, "W": 0, "E": 0.7, "include": false}]},
"settings": {
"deflection": {"total": "L/240", "live": "L/360", "ec_for_sw": "Eci",
"multipliers": {"self_weight": {"erection": 1, "construction": 1.3, "end": 2},
"addl_dead": {"construction": 0, "end": 2}}},
"shear": {"composite": "varying_strength", "dv_method": "cg_tension", "min_method": "beam_9.6.3"},
"flexure": {"method": "whitney", "ignored_distance_in": 0, "strain_limit": 0.004},
"transfer_limits": {"comp_ends": 0.7, "comp_other": 0.7, "tens_ends_sqrt": 6, "tens_other_sqrt": 6},
"service_limits": {"comp_sustained": 0.45, "comp_total": 0.6},
"phi": {"tension": 0.9, "shear": 0.75, "compression": 0.65},
"development": {"ktr": 0, "mild_mult": 1},
"section_properties": {"transform": true}},
"loads": {
"self_weight_mult": 1, "pattern_live": true,
"point": [{"id": "P1", "x_in": 110, "from": "end", "ecc_in": 0, "deadc": 8.3}],
"line": [{"id": "L1", "x0_in": 0, "x0_from": "start", "x1_in": 110, "x1_from": "end",
"ecc_in": 0, "deadc": 3.05, "live": 1.1}]},
"handling": {"min_sling_deg": 60,
"stripping": {"multiplier": 1.4, "face_down": "bottom", "strength": "initial",
"limits": "transfer", "pick_points": 2,
"lift_from_start_in": 6, "lift_from_end_in": 6}},
"reinforcement": {
"bars": [
{"size": "#6", "rows": 1, "cols": 4, "left_in": 2, "right_in": 2, "top_in": 2, "bottom_in": 20, "start_in": 2, "end_in": 2},
{"size": "#6", "rows": 1, "cols": 6, "left_in": 2, "right_in": 2, "top_in": 20, "bottom_in": 2, "start_in": 2, "end_in": 2}],
"strands": [],
"transverse": [
{"use": "Av", "size": "#4", "legs": 2, "first_in": 2, "from": "start", "spacing_in": 4, "length_in": 36, "qty": 10, "symmetric": true},
{"use": "Av", "size": "#4", "legs": 2, "first_in": 46, "from": "start", "spacing_in": 10, "length_in": 60, "qty": 7, "symmetric": true},
{"use": "Av", "size": "#4", "legs": 2, "first_in": 2, "from": "start", "spacing_in": 4, "length_in": 36, "qty": 10, "symmetric": true},
{"use": "Av", "size": "#4", "legs": 2, "first_in": 46, "from": "start", "spacing_in": 10, "length_in": 60, "qty": 7, "symmetric": true}]}
}