fix(view): EL.X = block top including the 50 mm mortar; coping top = EL.X − h1 − h2 (matches the model)

With this definition the drawing's coping top matches the model's coping top to within 1 mm on all ten bearings. The earlier
0.211 m offset came from reading EL.X as the solplate top, which was wrong. The reference table now uses EL.X − h1 − h2,
and the check tests the match.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
ypshimandClaude Haiku 5.5 committed 2026-10-23 14:17:12 +09:00
1 parent 553c696638
commit 802a1eab97
2 files changed
+7 -6

No files matched your search

+4 -3
View File
@@ -1302,18 +1302,19 @@ function renderBearingRef(box: HTMLDivElement, pier: Pier): void {
ct.appendChild(cb);
wrap.appendChild(el('div', undefined, 'table-scroll')).appendChild(ct);
wrap.appendChild(el('p', '교량받침 ELEVATION TABLE (도면값 · 읽기 전용, mm · EL m)', 'lbl'));
wrap.appendChild(el('p', '도면값은 모델에 쓰지 않습니다(Q16). 아래 "차이"는 도면과 모델의 코핑 상면 차이입니다.', 'muted small'));
wrap.appendChild(el('p', 'EL.X = 몰탈 50 mm를 포함한 받침블럭 상면. 도면값은 모델에 쓰지 않으며, 차이는 도면과 모델의 코핑 상면 차이입니다.', 'muted small'));
const front = m?.segments ?? [];
const backBlocks = m?.blocks.filter((b) => b.row === '후열') ?? [];
const et = el('table', undefined, 'grid-table rebar-table');
const eh = el('thead');
const ehr = el('tr');
for (const h of ['No', '열', 'EL.X', 'E', 'A', 'B', 'C1', 'S1', '도면 상면 (EL.X − E)', '모델 코핑 상면', '차이 (m)']) ehr.appendChild(el('th', h));
for (const h of ['No', '열', 'EL.X', 'E', 'A', 'B', 'C1', 'S1', '코핑 상면 = EL.X − h1 − h2', '모델 코핑 상면', '차이 (m)']) ehr.appendChild(el('th', h));
eh.appendChild(ehr);
et.appendChild(eh);
const eb = el('tbody');
for (const r of BEARING_ELEVATION_REF) {
const drawingTop = r.elx - r.E / 1000;
// EL.X is the block top including the 50 mm mortar: coping top = EL.X − h1 − h2 (승인 2026-10-23).
const drawingTop = r.elx - (r.h1 + r.h2) / 1000;
const modelTop = r.row === '전열' ? front[r.no - 1]?.top : backBlocks[r.no - 6]?.bottom;
const diff = modelTop === undefined ? NaN : modelTop - drawingTop;
eb.appendChild(el('tr')).append(