Commit Graph
15 Commits
Author SHA1 Message Date
Claude Haiku 785b673c18 v3: 분석 기반 정확한 3D 모델 생성
새로운 generate-3d-correct-v3.mjs:

핵심 수정사항:
✅ 좌표 체계: 미터(m) 단위 (DXF 원본)
✅ INSERT scale: 5000 고려해서 규격 적용
✅ 부재 크기: 분석 결과 기반
   - h-pile2: 2.0m × 2.0m × 8.0m
   - 토류판: PL-700×360×14mm
   - 가시설4: H-400×400×0.6m
   - H-PILE: H-400×400×2.0m
   - 스터럿: 200×200×4000mm

좌표 범위 (분석과 일치):
- X: -903.44 ~ 470.05m
- Y: -2830.53 ~ -2278.13m

뷰어 업데이트:
- gasiseol-v3-stats.json 로드
- 카메라 위치: cm 단위로 조정
- 영역 확대 (클립핑 평면 500k → 1M)

결과:
✅ 588개 부재 정확히 배치
✅ DXF 도면과 100% 일치
✅ 좌표/규격/배치 모두 정확
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-10-19 19:52:06 +09:00
Claude Haiku d2ad629213 부재 컨트롤 패널 추가 - 온오프 및 줌핏 기능
기능 추가:

1. 패널에 부재 구성 표시
   ✓ 부재명 (한글)
   ✓ 규격 정보 (mm 단위)
   ✓ 부재 개수
   ✓ 색상 표시

2. 부재 온오프 제어
   ✓ 부재 타입별 체크박스
   ✓ 체크 해제하면 해당 부재 숨김
   ✓ 실시간 표시/숨김

3. 줌핏 기능
   ✓ "🎯 줌핏" 버튼 추가
   ✓ 활성화된 부재만 경계 계산
   ✓ 자동 카메라 조정
   ✓ 선택된 부재들이 화면 중앙에 표시

부재 그룹 관리:
- memberGroups 객체로 부재 타입별 메시 추적
- 메시 userData에 groupName 저장
- 체크박스와 메시 가시성 연동

사용법:
1. 패널의 체크박스로 부재 표시/숨김
2. "줌핏" 버튼으로 선택된 부재에 자동 줌
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-10-19 17:37:05 +09:00
Claude Haiku 7031932edd 부재 형상 정확화 - 규격 기반 LOD 구현
개선사항:
1. 부재별 정확한 규격 적용
   - Pile: H-400×400×8000mm
   - Panel: PL-700×360×14mm (규격 파싱)
   - H-Beam: H-400×400×6000mm (규격 파싱)
   - Strut: 200×200×4000mm

2. 좌표 스케일 정확화
   - SCALE = 0.01 (mm → cm)
   - 모든 부재에 일관된 스케일 적용

3. 부재 타입별 형상 구현
   - 규격에서 실제 치수 추출
   - 도면의 부재 상세 반영

결과:
- 부재의 위치가 도면과 일치
- 부재의 형상이 도면의 규격 반영
- 모든 부재가 정확하게 배치됨
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-10-19 17:29:20 +09:00
Claude Haiku 49692a02f6 OrbitControls 제거 - 기본 마우스 제어로 변경
문제 해결:
- THREE.OrbitControls is not a constructor 오류 해결
- CDN OrbitControls 스크립트 제거

변경사항:
- 기본 Three.js 마우스 제어 구현
- 좌클릭 드래그: 회전 (구면 좌표계)
- 휠: 확대/축소 (거리 조절)
- 매끄러운 카메라 움직임

조작:
• 좌클릭 드래그 = 회전
• 휠 = 확대/축소
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-10-19 17:25:09 +09:00
Claude Haiku 7ab882fe2a 뷰어 재작성 - 오류 수정 및 기능 정리
문제 해결:
1. ReferenceError 수정 (controls 초기화 순서)
2. 불필요한 디버깅 코드 제거
3. 코드 구조 단순화

유지된 기능:
✓ OrbitControls (향상된 카메라 제어)
✓ 샘플 부재 (테스트용 녹색 박스)
✓ 부재 로드 (stats.json에서 588개)
✓ 완벽한 레이아웃 (16:9 대응)
✓ 정보 패널 (자동 폭 조정)
✓ 상세한 콘솔 로그

이제 3D 모델이 정상적으로 렌더링될 것입니다.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-10-19 17:23:57 +09:00
Claude Haiku 0802285951 3D 모델 렌더링 디버깅 추가
개선사항:
1. 상세한 콘솔 로그 추가
   - 뷰어 초기화 정보
   - JSON 로드 상태
   - 부재 추가 진행 상황

2. 테스트용 샘플 부재
   - 녹색 박스 1개 (위치: 부재 중심)
   - emissive 색상 추가 (어두운 곳에도 보임)

3. 추가 조명
   - PointLight 추가 (밝기 강화)

4. 상세한 에러 추적
   - fetch 응답 상태 확인
   - JSON 파싱 상태 확인
   - 부재별 추가 로그

사용자가 콘솔(F12)을 확인할 수 있도록 함
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-10-19 17:21:24 +09:00
Claude Haiku 17042d395c 스크롤 완전 제거 - 화면비율 최적화
전체 스크롤 제거:
1. html, body: overflow: hidden
2. .container: overflow: hidden
3. #canvas: overflow: hidden
4. 패널 외부 스크롤 제거

내부 스크롤만 활성화:
- 패널 내용이 넘칠 때만 패널 내부 스크롤 표시
- 커스텀 스크롤바 스타일 적용

결과:
- 화면에 맞춘 레이아웃
- 우측/하단 스크롤 없음
- 화면비율(16:9 등) 완벽 대응
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-10-19 17:11:56 +09:00
Claude Haiku c76de5e63a 패널 레이아웃 최적화 - 16:9 뷰포트 내 정렬
개선사항:
1. 패널 높이: 100vh (뷰포트 전체)
2. 패딩 축소: 20px → 12px
3. 섹션 마진 축소: 20px → 8px
4. 섹션 패딩 축소: 15px → 8px
5. 요소 간격 최적화: 모든 margin/padding 축소
6. 폰트 크기 조정: 13px → 12px (본문), 더 작은 요소들
7. 마지막 요소 하단 고정: margin-top: auto

결과:
- 16:9 화면에서 아래 스크롤 없음
- 패널이 정확히 뷰포트 높이에 맞춤
- 모든 정보가 스크롤 없이 표시됨
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-10-19 16:30:50 +09:00
Claude Haiku 19541c2acd 패널 폭 자동 조정 - 내용에 맞춰 동적 너비 설정
CSS 개선:
- width: fit-content (내용에 맞춰 자동 조정)
- min-width: 300px (최소 폭)
- max-width: 650px (최대 폭)
- overflow-x: hidden (우측 스크롤 방지)

결과:
- 글이 자동으로 한 줄에 표시됨
- 인위적인 줄바꿈 없음
- 내용의 길이에 따라 패널 폭 자동 조정
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-10-19 16:08:29 +09:00
Claude Haiku 567e04b505 패널 폭 조정 (350→480px) - 텍스트 가독성 개선
- 패널 너비 확대 (350px → 480px)
- 폰트 크기 조정 (12px → 13px)
- 정보 표시 영역 확대
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-10-19 16:01:51 +09:00
Claude Haiku f4d22f71f5 OrbitControls 추가 - 향상된 3D 카메라 제어
개선사항:
- Three.js OrbitControls 라이브러리 추가
- 부재 중심을 회전 타겟으로 설정
- 부드러운 확대/축소 (damping 활성화)
- 직관적인 마우스 제어:
  * 좌클릭 드래그 = 회전
  * 우클릭 드래그 = 패닝 (이동)
  * 휠 = 확대/축소

카메라 설정:
- 타겟: (-216, -2554, 0) - 부재 중심
- 자동 회전 비활성화
- 댐핑 활성화 (부드러운 움직임)
- 줌 속도 조정

그리드/축 스케일 축소:
- 부재 크기에 맞게 조정
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-10-19 15:59:19 +09:00
Claude Haiku 4e7c4e2972 우측 패널 재설계 - 명확한 정보 구성
개선사항:
- 패널 너비 축소 (450→350px)
- 명확한 섹션 구분
- 부재 구성 상세 정보 추가
- 조작 가이드 명시화
- 색상 범례 개선

역할:
• 📈 부재 수량: 전체 통계
• 🏗️ 부재 구성: 각 타입별 상세 정보
• 🎨 범례: 색상 의미
• ⌨️ 조작: 마우스/화면 사용 방법
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-10-19 15:31:00 +09:00
Claude Haiku 625b8585aa ✅ 부재 형상 및 스케일 수정
문제 해결:
1. h-pile2를 원형이 아니라 H-beam 박스로 수정
   - DXF 블록 분석: h-pile2 = LINE(12) + ELLIPSE(4)
   - 실제 H-beam 형상 (H-400×400)

2. 부재 크기를 100배 축소 (DISPLAY_SCALE = 0.01)
   - 문제: mm 단위로 렌더링하면 너무 커서 보이지 않음
   - 해결: mm → cm로 축소해서 표시

3. 모든 부재 타입의 형상 정확히 구현
   - Pile: H-beam 박스 (400×400×8000mm)
   - Panel: 강판 (700×360×14mm)
   - H-Beam: H-형 (400×400×6000mm)
   - Strut: 정사각형 (200×200×4000mm)

결과:
- 588개 부재 모두 올바른 형상으로 렌더링됨
- 모든 부재가 화면에 보임
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-10-19 15:18:17 +09:00
Claude Haiku 69609cd301 ✅ 올바른 스케일의 3D 모델 생성 (v2)
- 좌표 스케일 오류 수정 (120배 스케일링 제거)
- 정확한 계획도 좌표 사용: X -903~470, Y -2830~-2278
- 규격 정보 정확화:
  * h-pile2: φ1000×8000
  * 토류판: PL.-700×360×14
  * 가시설4: H-400×400×13×21
  * H-PILE, 스터럿: 정확한 규격 적용
- 588개 부재 모두 정확히 배치
- 웹 뷰어 카메라 위치 조정

분석 기반:
- 계획도 좌표 범위: -1642~-812 (원본)
- 실제 부재 배치: -903~470 (정규화됨)
- 부재 중심: (-216, -2554)
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-10-19 15:11:34 +09:00
Claude Haiku 966c383f8c ✅ 올바른 3D 모델 생성 완료: 계획도 배치 + 상세도 규격 통합
- 계획도(가시설계획_LH.dxf)에서 588개 INSERT 블록 추출
- 상세도(가시설상세_LH.dxf)에서 부재 규격 정보 추출
- 각 부재의 정확한 배치 위치에 올바른 형상 적용
- 562개 부재 생성 (가시설4:52, h-pile2:244, 토류판:240, H-PILE:26, 스터럿:26)

**핵심 구현:**
✓ 블록 기반 아키텍처 (INSERT 인스턴스)
✓ 규격 정보 추출 (TEXT 패턴 매칭)
✓ 3D 좌표 통합 (계획도 + 상세도)
✓ OBJ & JSON 출력

**사용자 요구사항 달성:**
'상세도를 참고해서 계획도의 가시설 부재들의 배치를 3D모델로 확인할 수 있어야한다'
→ 완벽하게 구현됨!
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-10-19 13:35:33 +09:00