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

+7 -2
View File
@@ -24,6 +24,11 @@ export const SIDE_COVER_M = 0.127;
* C13 rows lie in the end band (end underside … top, height h1).
* zBreak = end underside + 127 is where the taper line starts at the end face (P1: 42.538).
*/
export function sideRowLevels(levelBottom: number, endBottom: number): { zBottom: number; zBreak: number } {
return { zBottom: levelBottom + SIDE_COVER_M + 0.25, zBreak: endBottom + SIDE_COVER_M };
export function sideRowLevels(levelBottom: number, endBottom: number, top?: number): { zBottom: number; zBreak: number; zTop?: number } {
// Top margin (상면 여유) at least 400 mm (코핑철근.md §6.1): the highest side row lies at or below top − 0.4.
return { zBottom: levelBottom + SIDE_COVER_M + 0.25, zBreak: endBottom + SIDE_COVER_M, zTop: top === undefined ? undefined : top - SIDE_TOP_MARGIN_M };
}
/** Pitch of the side-row grid (m), and the top margin 400 mm (상면 여유). */
export const SIDE_PITCH_M = 0.25;
export const SIDE_TOP_MARGIN_M = 0.4;