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:
ypshimandClaude Haiku 5.5 committed 2026-10-23 12:31:58 +09:00
1 parent 7ff2f7b53f
commit df6aeb5c46
5 files changed
+48 -10

No files matched your search

+2 -2
View File
@@ -204,8 +204,8 @@ export function buildRebar3D(m: PierModel, common: Material = DEFAULT_MATERIAL,
// and two ㄷ bars: a body across the width at x_w, 25.4 above the row, with legs 1525 inward along the faces.
const sideFace = B / 2 - 0.127;
const dSide = NOMINAL_DIAMETER.H25;
const levels = sideRowLevels(m.levelBottom, m.endBottom);
const side = copingSideBars(L * 1000, levels.zBottom, levels.zBreak, m.copingGeom);
const levels = sideRowLevels(m.levelBottom, m.endBottom, m.copingRefTop);
const side = copingSideBars(L * 1000, levels.zBottom, levels.zBreak, m.copingGeom, levels.zTop);
for (const [name, rows] of [['C12', side.c12], ['C13', side.c13]] as const) {
for (const r of rows) {
const xw = mm(r.xw);