fix(view): solplate reference shows centre T = 30 with the (−) and (+) side thicknesses (taper along the axis)

The solplate tapers along the bridge axis. T is the centre thickness (30), T1 the thickness on the 교각축 직각 (−) side
(38) and T2 on the (+) side (22); T1 + T2 = 2T. The table's T column had shown the (−) side value, so T is now 30 on every
row. A test checks T1 + T2 = 2T.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
ypshimandClaude Haiku 5.5 committed 2026-10-23 14:10:23 +09:00
1 parent ee6848c418
commit 64795e0a19
3 files changed
+23 -13

No files matched your search

+14 -12
View File
@@ -34,9 +34,11 @@ export interface SolplateRefRow {
s: number;
L: number;
W: number;
/** 솔플레이트 T (mm). */
/** 중심 두께 T (mm). The solplate tapers along the bridge axis. */
T: number;
/** 두께 at the 교각축 직각 (−) side (mm). */
T1: number;
/** 두께 at the 교각축 직각 (+) side (mm). */
T2: number;
}
@@ -57,19 +59,19 @@ export const BEARING_ELEVATION_REF: BearingRefRow[] = [
];
export const SOLPLATE_REF: SolplateRefRow[] = [
{ no: 1, s: -1.910, L: 800, W: 740, T: 38, T1: 38, T2: 22 },
{ no: 2, s: -1.907, L: 800, W: 740, T: 38, T1: 38, T2: 22 },
{ no: 3, s: -1.905, L: 800, W: 890, T: 38, T1: 38, T2: 22 },
{ no: 4, s: -1.903, L: 800, W: 740, T: 38, T1: 38, T2: 22 },
{ no: 5, s: -1.901, L: 800, W: 740, T: 38, T1: 38, T2: 22 },
{ no: 6, s: -1.910, L: 800, W: 640, T: 38, T1: 38, T2: 22 },
{ no: 7, s: -1.907, L: 800, W: 640, T: 38, T1: 38, T2: 22 },
{ no: 8, s: -1.905, L: 800, W: 750, T: 38, T1: 38, T2: 22 },
{ no: 9, s: -1.903, L: 800, W: 640, T: 38, T1: 38, T2: 22 },
{ no: 10, s: -1.901, L: 800, W: 640, T: 38, T1: 38, T2: 22 },
{ no: 1, s: -1.910, L: 800, W: 740, T: 30, T1: 38, T2: 22 },
{ no: 2, s: -1.907, L: 800, W: 740, T: 30, T1: 38, T2: 22 },
{ no: 3, s: -1.905, L: 800, W: 890, T: 30, T1: 38, T2: 22 },
{ no: 4, s: -1.903, L: 800, W: 740, T: 30, T1: 38, T2: 22 },
{ no: 5, s: -1.901, L: 800, W: 740, T: 30, T1: 38, T2: 22 },
{ no: 6, s: -1.910, L: 800, W: 640, T: 30, T1: 38, T2: 22 },
{ no: 7, s: -1.907, L: 800, W: 640, T: 30, T1: 38, T2: 22 },
{ no: 8, s: -1.905, L: 800, W: 750, T: 30, T1: 38, T2: 22 },
{ no: 9, s: -1.903, L: 800, W: 640, T: 30, T1: 38, T2: 22 },
{ no: 10, s: -1.901, L: 800, W: 640, T: 30, T1: 38, T2: 22 },
];
/** 솔플레이트 T of the 공통 규칙 (30 mm). T1 and T2 are computed from this value, not from the table's T column. */
/** 중심 두께 T of the 공통 규칙 (30 mm). T1 = T + L·|S|/2 (−측), T2 = T − L·|S|/2 (+측), so T1 + T2 = 2T. */
export const SOLPLATE_T_RULE = 30;
/** T1 / T2 by the drawing's rule: T ± L·|S|/2, rounded to mm (S in %). */
+1 -1
View File
@@ -1280,7 +1280,7 @@ function renderBearingRef(box: HTMLDivElement, pier: Pier): void {
const st = el('table', undefined, 'grid-table rebar-table');
const sh = el('thead');
const shr = el('tr');
for (const h of ['No', 'S (%)', 'L', 'W', 'T', 'T1', 'T2', '식 검산']) shr.appendChild(el('th', h));
for (const h of ['No', 'S (%)', 'L', 'W', 'T (중심)', 'T1 (−측)', 'T2 (+측)', '식 검산']) shr.appendChild(el('th', h));
sh.appendChild(shr);
st.appendChild(sh);
const sb = el('tbody');
+8
View File
@@ -23,6 +23,14 @@ describe('교량받침 reference (도면값, 읽기 전용, 1단계)', () => {
}
});
it('the solplate tapers along the axis: T1 (−측) + T2 (+측) = 2·T, with T = 30 at the centre', () => {
for (const r of SOLPLATE_REF) {
expect(r.T, `No ${r.no}`).toBe(SOLPLATE_T_RULE);
expect(r.T1 + r.T2, `No ${r.no}`).toBe(2 * r.T);
expect(r.T1, `No ${r.no}`).toBeGreaterThan(r.T2);
}
});
it('the drawing EL.X − E sits a constant 0.211 m below the model coping top on all ten bearings (Q16 diagnostic)', () => {
const m = buildPier(loadP1());
const back = m.blocks.filter((b) => b.row === '후열');