feat(core): coping main bars C1–C8 (plan C3) and column rebar C4

- Nominal bar diameters (H29 28.6, S32 31.8, …) as used by the documents. With
  them, C7/C8 l_s = 1.3·l_d(28.6, fck 27) = 1717.6, which is the document's 1717.
- C1–C8 (코핑철근.md §5): width layout 127 · 110.5 · 21@125 · 110.5 · 127 with 24
  bars (12 + 12); heights 43.284 / 43.227 / 43.170; top bar lengths 12744 /
  12629.6 / 12515.2; bottom pieces ≈ 7448.
- C4 (기둥철근.md): P1 r 875 and P2 r 843.2; couplers P1 +3/6/9/12 m, P2 +150;
  230 + 230 main pieces and 368 couplers; tie radius 900.45; P3 38 at @300 from
  2.340; P5 19 at @120; P4 8 at @120 from −0.060; P6 8 levels × 4 = 32, length
  ≈ 2071.
- Not yet: C4 interference checks (P4 vs B11, Q-C9), bar lengths of P3/P5/P4
  and coupler shapes, the coping/column drawing checks, and the ③ screen.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
ypshimandClaude Haiku 5.5 committed 2026-10-22 11:28:03 +09:00
1 parent b962cf1a1c
commit a403ab9641
5 files changed
+325

No files matched your search

+14
View File
@@ -23,6 +23,20 @@ export function spliceLength(db: number, fy: number, fck: number, lambda = MATER
return 1.3 * developmentLength(db, fy, fck, lambda);
}
/** Nominal diameters d (mm) of the bar sizes used in the documents (코핑철근.md, 기둥철근.md). */
export const NOMINAL_DIAMETER = {
D13: 12.7,
H16: 15.9,
H19: 19.1,
D22: 22.2,
H25: 25.4,
H29: 28.6,
S32: 31.8,
D35: 34.9,
} as const;
export type BarSize = keyof typeof NOMINAL_DIAMETER;
export type HookKind = 'main90' | 'tie90' | 'stirrup135';
/**