# 가시설 평면도 형상 분석 (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. 폴리라인 → 기초판
```
## 📋 좌표 변환 규칙
```javascript
// 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: 데이터 추출 (현재)
- [x] 레이어 분석
- [x] 축척 파악 (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 모델이 완성됩니다.