feat: read concrete-lining drawings 04-004..009 and link lining spec to model (Task 6)

Extracted per-sheet pattern groups (입출구부 50 m / 온도미고려), note-5 scope,
fck 27 MPa, SD400, aggregate 25 mm, rebar label counts and printed radii.
Model keeps R1 = 6,982 mm; lining sheets print 6.892 m -> [CONFLICT DETECTED]
for user check. Sheet-to-station and pattern-name mapping left [미확정].
Viewer shows the lining spec on click.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A5Cun3RHQKna9qxE6ybZ4A
This commit is contained in:
Claude committed 2026-10-21 06:30:45 +00:00
1 parent 6c7e555c25
commit fe6fe26655
8 files changed
+9593 -4

No files matched your search

+1 -1
View File
@@ -121,7 +121,7 @@ renderer.domElement.addEventListener('pointerup', (e) => {
const sta = M.first_station + ring * M.ring_step_m;
const z = M.patterns.find((z) => sta >= z.from && sta < z.to);
const km = Math.floor(sta / 1000), m = Math.round(sta % 1000);
extra = '\n측점: ' + km + '+' + String(m).padStart(3, '0') + '\n패턴: ' + (z ? z.pattern : '-') + ' (임의 배정, 실제 구간 아님)';
extra = '\n측점: ' + km + '+' + String(m).padStart(3, '0') + '\n패턴: ' + (z ? z.pattern : '-') + ' (임의 배정, 실제 구간 아님)' + (M.lining_reference ? '\n라이닝 상세: ' + M.lining_reference.summary : '');
}
info.textContent = (INFO[key] || key) + extra + '\n교차점: x=' + hit.point.x.toFixed(2) + ' y=' + hit.point.y.toFixed(2) + ' z=' + hit.point.z.toFixed(2) + ' (m, 모델 좌표)';
}