feat(core): cap bars of C9–C11 and piece count (추천안 for Q-K5)

- Recommended l_cap = h − 100 (top cover), so l_cap stays below h (RB-K04).
  Cap length = 1740 + 2·l_cap. The shear rows show U and cap ranges.
- Piece count 6 per position (3 closed stirrups × U + cap): C9 + C10 + C11 gives
  270 pieces, as in the document.
- P1/P2 per-line pieces are shown from the document (기둥철근.md §3.2).
- Tests: cap length and the 270 check.
- Not verified in a browser.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
ypshimandClaude Haiku 5.5 committed 2026-10-22 11:38:28 +09:00
1 parent 5641bbe265
commit 1c6194cd48
3 files changed
+41 -6

No files matched your search

+14
View File
@@ -22,3 +22,17 @@ describe('C9·C10 하부 U 길이 (코핑철근.md §4.3)', () => {
expect(shearULength(11700, L)).toBeCloseTo(3522, 0);
});
});
import { capLength, PIECES_PER_POSITION } from '../src/core/rebar/coping';
import { rebarSummary } from '../src/core/rebar/summary';
import { buildPier } from '../src/core/geometry';
import { loadP1 } from './helpers';
describe('삿갓과 조각 수 (코핑철근.md §4.3, Q-K5 추천안)', () => {
it('cap length 1740 + 2·(h − 100) and the piece total 270 for C9 + C10 + C11', () => {
expect(capLength(4800, L)).toBeCloseTo(1740 + 2 * (2254.5 - 100), 0);
const rows = rebarSummary(buildPier(loadP1())).rows;
const pieces = ['C9', 'C10', 'C11'].reduce((sum, n) => sum + rows.find((r) => r.name === n)!.count * PIECES_PER_POSITION, 0);
expect(pieces).toBe(270);
});
});