feat(rebar): P3 and P6 end at the coping middle level; e_top computed from it
The coping middle level is (Level underside + step top)/2. P3's top and P6's upper limit are this level, and e_top is the step top minus it (P1: 1322, replacing the 1623 reverse-engineered value). On P1 P3 goes from 38 to 39 ties and P6 stays at 8 levels. With taper h2 = 3000 the middle level is 13275: P3 37 ties, P6 8 levels (32 bars), e_top 2072. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f989315e02
commit
4d5e3cc04e
4 files changed
+24
-9
No files matched your search
@@ -52,7 +52,9 @@ export function columnInputFor(model: PierModel, base: ColumnInput = COLUMN_P1):
|
||||
// P1 top = C3 − 100 (계산 2026-10-23), so e_P1 = step top − (C3 − 0.1) = 485 on P1.
|
||||
const c3 = model.copingRefTop - 0.127 - 2 * 0.0572;
|
||||
const eP1 = Math.round((seg.top - (c3 - 0.1)) * 1000);
|
||||
return { ...base, Hc, hcop, eP1 };
|
||||
// e_top: the coping middle level (Level 하면 + 계단 상면)/2 is the top of P3 and P6 (승인 2026-10-23).
|
||||
const eTop = Math.round((seg.top - (model.levelBottom + seg.top) / 2) * 1000);
|
||||
return { ...base, Hc, hcop, eP1, eTop };
|
||||
}
|
||||
|
||||
export const COLUMN_P1: ColumnInput = {
|
||||
@@ -61,7 +63,8 @@ export const COLUMN_P1: ColumnInput = {
|
||||
hcop: 2644,
|
||||
c: 125,
|
||||
eP1: 485,
|
||||
eTop: 1623,
|
||||
// Coping middle level: (Level 하면 + 계단 상면)/2 on P1 = 42.233 → e_top 1322 (승인 2026-10-23, Q-C3 대체).
|
||||
eTop: 1322,
|
||||
Hf: 2000,
|
||||
nDiv: 46,
|
||||
ctcCoupler: 3000,
|
||||
@@ -154,7 +157,8 @@ export function columnRebar(x: ColumnInput = COLUMN_P1, m: Material = DEFAULT_MA
|
||||
// P6 crossties (기둥철근.md §7): 4 bars per 단, from the first kept P4
|
||||
const z4first = p4.length ? p4[0] : z5last;
|
||||
const p6Levels: number[] = [];
|
||||
for (let z = z4first; z <= x.Hc; z += x.ctcP6) p6Levels.push(z);
|
||||
// P6 runs up to the same top as P3, the coping middle level (승인 2026-10-23).
|
||||
for (let z = z4first; z <= zTopT; z += x.ctcP6) p6Levels.push(z);
|
||||
const p6Straight = 2 * tieRadius;
|
||||
const p6Hook = hookLength('tie90', dH16);
|
||||
const p6Length = p6Straight + 2 * Math.round(p6Hook); // 135 mm per hook, as in the document
|
||||
|
||||
Reference in new issue
Block a user