feat(rebar): 확대기초 패널 규칙 값 표시 (상면·2단, B2·B6 디리, B9, 조립 단 수) 및 "규칙" 표기

- footingRuleValues: 패널 표시값을 계산 함수에서 직접 읽음 (새 공식 없음)
- B2·B6 디리 두 값, 조립 단 수(3단) 표시
- "(고정)"은 Δ₂ 100에만 사용, 4s·2s·상면 2s는 "(규칙)"으로 표기
- 테스트: 기본값 P1에서 250 · 100 · 1723 · 500·250 · 500·3단 @400

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
ypshimandClaude Haiku 5.5 committed 2026-10-26 17:23:57 +09:00
1 parent ddd6d55a72
commit 48e6811600
3 files changed
+57 -11

No files matched your search

+31
View File
@@ -232,3 +232,34 @@ export function assemblyHeights(H: number, f: FootingRebarSettings = DEFAULT_FOO
const B12 = B11.map((z) => z + NOMINAL_DIAMETER.S19);
return { B11, B12 };
}
/**
* Values shown on the 확대기초 panel as rules and derived values (승인 2026-10-26). Each is read from the same functions the
* rebar table and the 3D view use, so the panel cannot drift from the calculation. H is the footing height (mm).
*/
export function footingRuleValues(H: number, f: FootingRebarSettings = DEFAULT_FOOTING_REBAR): {
upper2sAxis: number;
upper2sPerp: number;
delta2: number;
b2Leg: number;
b6Leg: number;
b9Pitch: number;
b9Stagger: number;
assemblyPlanPitch: number;
assemblyVertical: number;
assemblyLevels: number;
} {
const z = layers(H, f);
return {
upper2sAxis: 2 * f.sAxis,
upper2sPerp: 2 * f.sPerp,
delta2: DELTA2,
b2Leg: legB2(H, f),
b6Leg: z.B5 - z.B68,
b9Pitch: 4 * f.sAxis,
b9Stagger: 2 * f.sAxis,
assemblyPlanPitch: 4 * f.sPerp,
assemblyVertical: f.n * f.sV,
assemblyLevels: assemblyJs(H, f).length,
};
}