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>
This commit is contained in:
1 parent
df6aeb5c46
commit
f37a0bf9ce
4 files changed
+46
-4
No files matched your search
@@ -0,0 +1,27 @@
|
||||
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);
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user