/** * 말뚝 규격 목록 (승인 2026-10-23): the outer diameter D and wall t are chosen from the list; the inner diameter, area and * unit weight are read from it. 강관 and PHC are separate lists; 복합 말뚝 is entered as 강관 + PHC later (1·2단계 후). */ export interface PileSpec { kind: '강관' | 'PHC'; /** 외경 D (mm). */ D: number; /** 두께 t (mm). */ t: number; /** 내경 (mm). */ inner: number; /** 단면적 (cm²). */ area: number; /** 단위중량 (kg/m for 강관, kN/m for PHC as in the sheet). */ unitWeight: number; } export const STEEL_PILES: PileSpec[] = [ { kind: '강관', D: 406.4, t: 9, inner: 388.4, area: 112, unitWeight: 88.2 }, { kind: '강관', D: 406.4, t: 12, inner: 382.4, area: 149, unitWeight: 116.7 }, { kind: '강관', D: 508.0, t: 9, inner: 490.0, area: 141, unitWeight: 110.7 }, { kind: '강관', D: 508.0, t: 12, inner: 484.0, area: 187, unitWeight: 146.8 }, { kind: '강관', D: 508.0, t: 14, inner: 480.0, area: 217, unitWeight: 170.5 }, { kind: '강관', D: 609.6, t: 9, inner: 591.6, area: 170, unitWeight: 133.3 }, { kind: '강관', D: 609.6, t: 12, inner: 585.6, area: 225, unitWeight: 176.8 }, { kind: '강관', D: 609.6, t: 14, inner: 581.6, area: 262, unitWeight: 205.6 }, { kind: '강관', D: 609.6, t: 16, inner: 577.6, area: 298, unitWeight: 234.2 }, ]; export const PHC_PILES: PileSpec[] = [ { kind: 'PHC', D: 400, t: 65, inner: 270, area: 684, unitWeight: 1.74 }, { kind: 'PHC', D: 450, t: 70, inner: 310, area: 836, unitWeight: 2.13 }, { kind: 'PHC', D: 500, t: 80, inner: 340, area: 1056, unitWeight: 2.69 }, { kind: 'PHC', D: 600, t: 90, inner: 420, area: 1442, unitWeight: 3.67 }, ]; /** The spec of an outer diameter and wall from the list of its kind, or undefined when the pair is not in the list. */ export function findPileSpec(kind: '강관' | 'PHC', D: number, t: number): PileSpec | undefined { return (kind === '강관' ? STEEL_PILES : PHC_PILES).find((p) => p.D === D && p.t === t); }