feat(rebar): 상면 주철근 단 간격(세로) 입력 100 mm, 가로는 2d 고정

- 세로 단 간격은 입력(기본 100, 범위 80–120)으로 상면 C1–C6, C14 상면, 기둥 C3 높이에 쓴다
- 가로 단 간격은 2d(H29, 57.2 mm)로 고정 (코핑철근.md의 s_lay 하나를 둘로 나눔)
- P1 기준 값 갱신: 상면 높이 43.284 / 43.184 / 43.084, C14 상면 43.208 / 43.108, P1 위 끝 zTop1 14776

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
ypshimandClaude Haiku 5.5 committed 2026-10-26 15:42:40 +09:00
1 parent 9c93a6aa01
commit 2acb427bab
10 files changed
+26 -25

No files matched your search

+2 -2
View File
@@ -10,7 +10,7 @@ describe('기둥 철근 높이는 모델에서 (Hc · h_cop, 승인 2026-10-23)'
expect(input.hcop).toBeCloseTo(2644, 0);
const col = columnRebar(input);
expect(col.zTop2).toBeCloseTo(14539, 0);
expect(col.zTop1).toBeCloseTo(14862, 0);
expect(col.zTop1).toBeCloseTo(14776, 0);
});
it('taper h2 = 3000: Level underside 39.411, Hc 11203, P2 top 13039 (= Level underside + l_d)', () => {
@@ -22,7 +22,7 @@ describe('기둥 철근 높이는 모델에서 (Hc · h_cop, 승인 2026-10-23)'
const col = columnRebar(input);
expect(col.zTop2).toBeCloseTo(13039, 0);
// The P1 top is anchored to the step top (and C3), so it does not move with h2.
expect(col.zTop1).toBeCloseTo(14862, 0);
expect(col.zTop1).toBeCloseTo(14776, 0);
});
it('P3 and P6 end at the coping middle level: P1 e_top 1322; taper 3000 gives e_top 2072, P3 37 ties, P6 32 bars', () => {
+3 -3
View File
@@ -19,10 +19,10 @@ describe('C1–C8 상·하면 주철근 (코핑철근.md §5, plan C3)', () => {
expect(w.text).toBe('127 · 110.5 · 21@125 · 110.5 · 127');
});
it('heights: 43.284 / 43.227 / 43.170 for the three top rows', () => {
it('heights: 43.284 / 43.184 / 43.084 for the three top rows (상면 단 간격 100)', () => {
expect(topRowEl(43.284, 1)).toBe(43.284);
expect(topRowEl(43.284, 2)).toBe(43.227);
expect(topRowEl(43.284, 3)).toBe(43.17);
expect(topRowEl(43.284, 2)).toBe(43.184);
expect(topRowEl(43.284, 3)).toBe(43.084);
});
it('top bar lengths 12744 / 12629.6 / 12515.2 (path + 2 × 472 hook)', () => {
+3 -3
View File
@@ -20,11 +20,11 @@ describe('C14 / C15 / C16 (코핑철근.md §7–8)', () => {
expect(bars.length).toBe(38);
});
it('C14 heights: upper 43.251 / 43.194, lower 42.810 / 42.310 / 41.810 / 41.310', () => {
it('C14 heights: upper 43.208 / 43.108, lower 42.810 / 42.310 / 41.810 / 41.310 (상면 단 간격 100)', () => {
const bars = c14Bars(L, m.copingRefTop, rows, under);
const z = (line: number) => bars.find((b) => b.line === line)!.z;
expect(z(1)).toBeCloseTo(43.251, 3);
expect(z(2)).toBeCloseTo(43.194, 3);
expect(z(1)).toBeCloseTo(43.208, 3);
expect(z(2)).toBeCloseTo(43.108, 3);
expect([3, 4, 5, 6].map(z)).toEqual([42.81, 42.31, 41.81, 41.31].map((v) => expect.closeTo(v, 2)));
});