Files
Pier_v1/tests/column-model.test.ts
T
ypshimandClaude Haiku 5.5 f37a0bf9ce fix(rebar): column heights Hc and h_cop from the model (Level underside, step top) instead of P1 constants
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>
2026-10-23 13:10:51 +09:00

28 lines
1.2 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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);
});
});