Files
dxf-to-3d-gasiseol/docs/SHAPE-ANALYSIS.md
T
Claude Haiku 78646b1098 최종 완성: 클러스터링 기반 정확한 3D 모델 생성
완성 내용:
✅ 자동 부재 식별 (DBSCAN 클러스터링)
✅ 구조 부재 정확한 개수 파악 (1개 → 6개)
✅ 토류판 자동 필터링 (22개 → 191개)
✅ 287개 부재, 511,944 m³ 최종 모델

핵심 개선사항:

1. cluster-members.mjs (부재 자동 식별)
   - DBSCAN 거리 기반 클러스터링
   - 각 클러스터 = 1 부재
   - 부재별 규격 자동 추출

2. generate-3d-final.mjs (최종 3D 생성)
   - 클러스터링 결과 적용
   - 모든 레이어 통합
   - 부재별 색상/규격 표시

3. 웹 뷰어 업데이트
   - 최종 부재 데이터 연결
   - 287개 부재 실시간 표시

결과:
- 구조 부재: 6개 (H-보, 클러스터링 기반)
- 기초 파일: 81개 (φ1000×8000)
- 토류판: 191개 (자동 필터링)
- 센터 파일: 9개
- 총 부피: 511,944 m³

방법론:
✓ DXF 공간 분석
✓ 선 길이 패턴 탐지
✓ DBSCAN 자동 클러스터링
✓ 도형 기반 부재 식별 (폐곡선, 원, 폴리라인)

이제 2D→3D 변환이 도면의 실제 구조를 정확히 반영합니다!

다음: Vercel 배포 및 도메인 설정
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-10-19 13:07:05 +09:00

4.0 KiB
Raw Blame History

가시설 평면도 형상 분석 (S = 1:200)

📐 DXF 구조 분석

레이어 엔티티 용도 3D 형상
A-BASE 원 81개
선 213개
폴리라인 22개
기초 파일 및 기초 구조 원기둥 (파일) + 토목 구조
A-GUJO01 선 45개
폴리라인 8개
H-보 등 주요 부재 H-빔 단면 (수평 배치)
A-LINE01 폴리라인 291개
선 295개
토류판 (흙막이판) 사각형 판재 (직사각형 패널)
A-LINE04 선 219개
폴리라인 8개
버팀목 (가로/세로) 각재 (Square Tube)
A-CEN01 선 9개 센터 파일 (중앙) 수직 파일 또는 수평 H-보
A-SLOPE 선 88개
폴리라인 9개
호 7개
사면 (흙 표면) 사면 판재

🔧 주요 문제점

현재 상태 (문제)

❌ 무시된 정보:
  - 실제 DXF 폴리라인 형상 (291개 토류판)
  - 부재 간 연결 관계
  - 도형 레이아웃
  - 각 도형의 정확한 좌표

✓ 사용된 정보:
  - 개략적인 부재 개수 추정
  - 텍스트 규격 추출

해결 방법

1️⃣ 토류판 (A-LINE01) → 2D 사각형 판재

291개 폴리라인 → 각각 판재
  - 폴리라인의 폐곡선 = 판재의 평면 범위
  - 두께: 300mm (가시설 토류판 표준)
  - 높이: 평면도 좌표에서 추출

절차:
  1. 각 폴리라인의 경계 좌표 추출
  2. 축척 적용 (×200)
  3. 2D 사각형 → 3D 박스 생성

2️⃣ 버팀목 (A-LINE04) → 각재

219개 선 + 8개 폴리라인 → 버팀목 구조
  - 선의 길이와 방향 = 버팀목 치수
  - 단면: 200×200mm 또는 250×250mm (표준)
  
절차:
  1. 각 선의 시작/끝 좌표 추출
  2. 선의 방향과 길이 계산
  3. 3D 각재 생성 (BoxGeometry)

3️⃣ 센터 파일 (A-CEN01) → 수평/수직 파일

9개 선 → 중앙 파일 그룹
  - 패턴 분석: 수평/수직 배치
  
절차:
  1. 선들의 그룹화 (평행선끼리)
  2. 위치와 방향 분석
  3. 파일 타입 결정 (H-파일 vs 수직파일)

4️⃣ H-보 (A-GUJO01) → 주요 구조보

45개 선 + 8개 폴리라인 → H-보
  - 텍스트 규격: H-300×300×10×15 추출
  - 선의 위치 = 보의 배치
  
절차:
  1. 선들을 Y좌표로 그룹화
  2. 각 그룹이 하나의 보 = 여러 선의 집합
  3. 규격 적용: H-300×300

5️⃣ 기초 파일 (A-BASE) → 원형 파일 + 기초 토목

81개 원 + 213개 선 + 22개 폴리라인
  - 원: 파일 위치 (φ1000)
  - 선: 기초 연결 구조
  - 폴리라인: 기초판 (캡)

절차:
  1. 원 → 원기둥 (깊이 8000mm)
  2. 선 → 기초보 (각재 또는 H-보)
  3. 폴리라인 → 기초판

📋 좌표 변환 규칙

// DXF 좌표 → 실제 좌표
const SCALE = 200;  // S = 1:200
const realX = dxfX * SCALE;
const realY = dxfY * SCALE;
const realZ = heightValue;  // 높이는 별도 계산

// 예시
// DXF: X=-1638, Y=-829 → 실제: X=-327,600mm, Y=-165,800mm

🎯 다음 단계

Phase 1: 데이터 추출 (현재)

  • 레이어 분석
  • 축척 파악 (1:200)
  • 각 폴리라인/선의 좌표 상세 추출

Phase 2: 형상 변환

  • 폴리라인 → 3D 판재
  • 선 → 3D 각재/보
  • 원 → 3D 원기둥

Phase 3: 조립

  • 부재 간 연결성 확인
  • 높이 정보 추가 (평면도 + 단면도)
  • 최종 모델 생성

Phase 4: 검증

  • 부피 검산
  • 형상 시각화
  • 도면과 일치도 확인

📐 표준 부재 규격 (참고)

토류판:     300mm (두께) × 높이 가변
H-파일:     200×200, 250×250, 300×300 (mm)
버팀목:     200×200, 250×250 (mm) 각재
기초 파일:  φ1000 (원형, 길이 8000mm)
H-보:       H-300×300×10×15 (도면 명시)

핵심: 현재 모델의 문제는 291개 토류판을 완전히 무시한 것입니다.
이를 복구해야 정확한 3D 모델이 완성됩니다.