Hc = Level underside − footing top, and h_cop = step top at the column centre − Level underside. P1 gives 12703 and 2644, unchanged. With taper h2 = 3000 the Level underside moves down, so Hc = 11203 and the P2 top (Level underside + l_d) moves to 13039, while the P1 top stays at the step top (15147). The 3D and the 철근표 use the same heights. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
28 lines
1.2 KiB
TypeScript
28 lines
1.2 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
||
import { buildPier } from '../src/core/geometry';
|
||
import { columnInputFor, columnRebar } from '../src/core/rebar/column';
|
||
import { loadP1 } from './helpers';
|
||
|
||
describe('기둥 철근 높이는 모델에서 (Hc · h_cop, 승인 2026-10-23)', () => {
|
||
it('P1: Hc 12703 and h_cop 2644 come out of the model, as in 기둥철근.md', () => {
|
||
const input = columnInputFor(buildPier(loadP1()));
|
||
expect(input.Hc).toBeCloseTo(12703, 0);
|
||
expect(input.hcop).toBeCloseTo(2644, 0);
|
||
const col = columnRebar(input);
|
||
expect(col.zTop2).toBeCloseTo(14539, 0);
|
||
expect(col.zTop1).toBeCloseTo(15147, 0);
|
||
});
|
||
|
||
it('taper h2 = 3000: Level underside 39.411, Hc 11203, P2 top 13039 (= Level underside + l_d)', () => {
|
||
const m = buildPier({ ...loadP1(), copingH2Mm: 3000 });
|
||
const input = columnInputFor(m);
|
||
expect(input.Hc).toBeCloseTo(11203, 0);
|
||
// h_cop = step top (43.555) − Level underside (39.411): the coping at the column gets taller with h2.
|
||
expect(input.hcop).toBeCloseTo(4144, 0);
|
||
const col = columnRebar(input);
|
||
expect(col.zTop2).toBeCloseTo(13039, 0);
|
||
// The P1 top is anchored to the step top, so it does not move with h2.
|
||
expect(col.zTop1).toBeCloseTo(15147, 0);
|
||
});
|
||
});
|