fix(rebar): 꺾인 다주형 코핑의 철근표를 다주형 규칙으로 낸다

꺾인 코핑이면 기둥 수와 관계없이 T형(기둥 1개) 코핑 행을 내어 산외교 P11(3주형)의 전단철근 등 수량이
틀렸다. 기둥이 1개일 때만 T형 행, 2개 이상이면 꺾여도 다주형 행(편 좌표 계산)을 쓴다.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
ypshimandClaude Haiku 5.5 committed 2026-11-10 17:06:10 +09:00
1 parent 0b3087e752
commit 51209cccf9
2 files changed
+17 -2

No files matched your search

+14
View File
@@ -5,6 +5,8 @@ import * as XLSX from 'xlsx';
import { parseWorkbook } from '../src/core/parseWorkbook';
import { buildPier, DIM, defaultLevelWidthMm } from '../src/core/geometry';
import type { PierInput } from '../src/core/types';
import { rebarSummary } from '../src/core/rebar/summary';
import { multicolCopingInfo } from '../src/core/rebar/multicol-coping';
// 산외교 P11 (샘플01) with the coping bent 8.767° at IP4 (2026-11-10 검토): back ⑥ g 11.64, ⑦ g 18.49, kink g 15.14.
const SAMPLE = fileURLToPath(new URL('../project_data/01_엑셀/샘플01_산외교_교각입력데이터.xlsx', import.meta.url));
@@ -131,3 +133,15 @@ describe('받침 번호가 축 반대 방향인 교각 (2026-11-10)', () => {
expect(b.segments.map((s) => s.s0)).toEqual(a.segments.map((s) => s.s0));
});
});
describe('꺾인 다주형 코핑의 철근표 (A, 2026-11-10)', () => {
it('uses the multi-column rows, not the one-column T형 rows', () => {
const m = buildPier(p11());
const rows = rebarSummary(m).rows.filter((r) => r.member === 'coping');
const info = multicolCopingInfo(m);
for (const name of ['C9', 'C10', 'C11', 'C1', 'C7']) {
expect(rows.find((r) => r.name === name)!.count, name).toBe(info.bars.filter((b) => b.name === name).length);
}
expect(rows.every((r) => r.note.includes('다주형'))).toBe(true);
});
});