fix(rebar): 꺾인 다주형 코핑의 철근표를 다주형 규칙으로 낸다
꺾인 코핑이면 기둥 수와 관계없이 T형(기둥 1개) 코핑 행을 내어 산외교 P11(3주형)의 전단철근 등 수량이 틀렸다. 기둥이 1개일 때만 T형 행, 2개 이상이면 꺾여도 다주형 행(편 좌표 계산)을 쓴다. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
0b3087e752
commit
51209cccf9
2 files changed
+17
-2
No files matched your search
@@ -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);
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user