feat(rebar): B1–B4와 B5–B8 방향 교환 (B1–B4는 W 방향, B5–B8은 L 방향)

- 재료표(B5–B8 9150 = 9350 − 2c, B1–B4 7600 = 7800 − 2c)와 같은 방향 배정으로 맞춤
- 격자 키를 물리 방향으로 정리: sL = L 방향 간격, sW = W 방향 간격 (기존 sAxis → sL, sPerp → sW)
- B1–B4: L 격자로 개수, 길이 W − 2c. B5–B8: W 격자로 개수, 길이 L − 2c
- B9: 열(L)은 sL, 행(W)은 sW 격자 (물리 격자 일치), 개수 불변
- B11은 L 방향 간격(sL), B12는 W 방향 간격(sW)
- 3D 확대기초 철근과 단면 그림의 역할을 교환 (B1–B4 선, B5–B8 점)
- 철근표 간격과 규칙 값, 설정 라벨을 방향 기준으로 수정
- 테스트 기대값 갱신 (B1–B4 40, B5–B8 31, B6 13646 분할 경고)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
ypshimandClaude Haiku 5.5 committed 2026-10-27 09:36:20 +09:00
1 parent f2fa48913b
commit 752de2fd9d
12 files changed
+160 -167

No files matched your search

+2 -2
View File
@@ -41,11 +41,11 @@ describe('② 부재별 fck (spec §6.2 · ②)', () => {
expect(changedIn(rows, 'column').length).toBeGreaterThan(0);
});
it('a footing fck changes only the footing rows (B2 splice)', () => {
it('a footing fck changes only the footing rows (B6 splice, 방향 교환)', () => {
const rows = rebarSummary(model, DEFAULT_MATERIAL, { footing: 35 }).rows;
expect(changedIn(rows, 'coping')).toEqual([]);
expect(changedIn(rows, 'column')).toEqual([]);
expect(changedIn(rows, 'footing')).toContain('B2');
expect(changedIn(rows, 'footing')).toContain('B6');
});
it('a per-member fck equal to the 공통 value changes nothing', () => {