feat(cast): 기둥–말뚝 겹침이음 · 말뚝 철근망 근입부 기준 (Q-PL3·Q-PL6)
현장타설말뚝철근.md §5–§6 (사용자 결정 2026-11-06: 11-06 겹침 결정이 11-05 커플러 회신을 대체). - 희생강관 기본 적용, 상단 지반고 + 2500 (그림 값, Q-PL4 가정). 암반 근입부 지름 입력 추가(기본 D − 150, 강관 없으면 D) - 말뚝 철근망 반지름을 근입부 기준으로 (D 3000: r 1300 / 1268.2) - 두 철근 원이 다르면 자동 겹침이음: 기둥 주철근이 지반고 아래 l_s(1.3 l_d, S32 2387)까지 내려감, 지반고 커플러 없음. 원이 같으면(근입부 없음) 지반고 커플러. 저장된 방식은 그대로 둠 - 겹침 구간의 말뚝 띠철근은 바깥 기둥 주철근을 감싸는 반지름 - 겹침 모드에서도 주기 커플러(기둥 지반고 + @3000, 말뚝 지반고 − @3000, 내측 + 150) - RB-PL07: 두 원 간격 > min(l_s/5, 150)이면 경고 - 이전 '겹침부 미계산' 표시 제거. 기존 커플러 테스트는 희생강관 미적용 입력으로 유지 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
3d0d484524
commit
5fec2743cb
6 files changed
+126
-30
No files matched your search
+3
-1
@@ -5228,6 +5228,7 @@ function renderCastShape(fields: HTMLDivElement, pier: Pier): void {
|
||||
{ key: 'clayBottomEl', label: '점토층 하단 EL (m, 별도 입력)' },
|
||||
{ key: 'casingTopEl', label: '희생강관 상단 EL (m)' },
|
||||
{ key: 'casingBottomEl', label: '희생강관 하단 EL (m)' },
|
||||
{ key: 'socketDiameterMm', label: '암반 근입부 지름 (mm)' },
|
||||
];
|
||||
const change = (key: keyof CastInPlaceShapeSettings, value: number | boolean | undefined) => {
|
||||
const next = { ...pier.draft.castInPlaceShape, [key]: value };
|
||||
@@ -5248,12 +5249,13 @@ function renderCastShape(fields: HTMLDivElement, pier: Pier): void {
|
||||
input.value = shape[f.key] === undefined ? '' : String(shape[f.key]);
|
||||
input.placeholder = f.key === 'clayBottomEl' ? '직접 입력' : '자동 기본값';
|
||||
input.disabled = f.key.startsWith('casing') && !shape.casingOn;
|
||||
if (f.key === 'socketDiameterMm') input.step = '50';
|
||||
input.addEventListener('change', () => change(f.key, input.value.trim() ? Number(input.value) : undefined));
|
||||
const automatic = pier.draft.castInPlaceShape?.[f.key] === undefined;
|
||||
row.append(lab, input, el('span', f.key === 'clayBottomEl' && automatic ? '풍화암과 별도 · 입력 필요' : automatic ? '자동 기본값 · 비우면 자동 연동' : '직접 입력 · 비우면 자동값으로 복원', 'muted small'));
|
||||
fields.appendChild(row);
|
||||
}
|
||||
fields.appendChild(el('p', `말뚝 두부 = 지반고 EL ${shape.pileTopEl.toFixed(3)} · 말뚝 하단 EL ${shape.pileBottomEl.toFixed(3)} (지반고 − 말뚝길이). 풍화암 기본 = 선단+5 m, 기반암 기본 = 선단+1 m. 강관 기본 = 지반고+3 m ~ 기반암.`, 'muted small'));
|
||||
fields.appendChild(el('p', `말뚝 두부 = 지반고 EL ${shape.pileTopEl.toFixed(3)} · 말뚝 하단 EL ${shape.pileBottomEl.toFixed(3)} (지반고 − 말뚝길이). 풍화암 기본 = 선단+5 m, 기반암 기본 = 선단+1 m. 강관 기본 = 적용, 지반고+2.5 m(가정, Q-PL4) ~ 기반암. 근입부 지름 기본 = 강관 적용 시 D − 150 (말뚝 철근망은 이 지름 기준).`, 'muted small'));
|
||||
const zone = castLowerZone(pier.draft);
|
||||
fields.appendChild(el('p', zone ? `DXF 하단 단부구역 기준점: EL ${zone.bottomEl.toFixed(3)} ~ ${zone.topEl.toFixed(3)} (1/β−3D, 점토층 하단+D).${zone.valid ? '' : ' 구간 순서가 역전됩니다. 입력 EL을 확인하세요.'}` : '말뚝 하단 단부구역: 점토층 하단 EL 입력 필요. 풍화암 값으로 대체하지 않습니다.', 'muted small'));
|
||||
if (shape.casingOn) fields.appendChild(el('p', '희생강관은 현재 위치·범위 입력입니다. 강관 두께·재료 수량은 포함하지 않습니다.', 'muted small'));
|
||||
|
||||
Reference in new issue
Block a user