fix(rebar): side rows on the 250 grid up to the 400 mm top margin, not a fixed count of seven
C12 and C13 come from one grid from the Level underside + 127 at 250 mm, up to top − 400 mm (상면 여유). The fixed count of seven rows is kept only for callers that give no top. P1 is unchanged (C12 5, C13 2); a taper of 3000 mm now gives C12 11 and C13 2, and the C13 first row is always the last C12 row plus 250. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
7ff2f7b53f
commit
df6aeb5c46
5 files changed
+48
-10
No files matched your search
@@ -85,3 +85,31 @@ describe('C12 in the taper band (h2), C13 in the end band (h1)', () => {
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
describe('side-row grid (250, 상면 여유 400, 격자 연속)', () => {
|
||||
const rowsFor = (input: Parameters<typeof buildPier>[0]) => {
|
||||
const m = buildPier(input);
|
||||
const lv = sideRowLevels(m.levelBottom, m.endBottom, m.copingRefTop);
|
||||
return { m, rows: sideRows(lv.zBottom, lv.zBreak, lv.zTop) };
|
||||
};
|
||||
it('P1: 5 C12 rows and 2 C13 rows, the top row at or below top − 0.4', () => {
|
||||
const { m, rows } = rowsFor(loadP1());
|
||||
expect(rows.c12).toEqual([41.288, 41.538, 41.788, 42.038, 42.288]);
|
||||
expect(rows.c13).toEqual([42.538, 42.788]);
|
||||
expect(Math.max(...rows.c13)).toBeLessThanOrEqual(m.copingRefTop - 0.4 + 1e-9);
|
||||
});
|
||||
it('taper h2 = 3000: C12 from 39.788 to 42.288 (11 rows), C13 2 rows, no row lost to a fixed count', () => {
|
||||
const { rows } = rowsFor({ ...loadP1(), copingH2Mm: 3000 });
|
||||
expect(rows.c12.length).toBe(11);
|
||||
expect(rows.c12[0]).toBeCloseTo(39.788, 3);
|
||||
expect(rows.c13).toEqual([42.538, 42.788]);
|
||||
});
|
||||
it('the C13 first row is the last C12 row plus the pitch (the grid is continuous)', () => {
|
||||
for (const h2 of [1000, 1500, 1750, 2000, 3000]) {
|
||||
const { rows } = rowsFor({ ...loadP1(), copingH2Mm: h2 });
|
||||
if (rows.c12.length && rows.c13.length) {
|
||||
expect(rows.c13[0] - rows.c12[rows.c12.length - 1]).toBeCloseTo(0.25, 6);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user