웹 조작법, 부재 구성, 저장소 구조, 로컬 실행과 웹 반영 절차, 열린 가정을 정리한다. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
90 lines
3.2 KiB
Markdown
90 lines
3.2 KiB
Markdown
# DXF 가시설 도면 → 3D 통합모델 뷰어
|
||
|
||
가시설 도면(평면도·단면도)에서 부재 위치와 규격을 읽어 3D 통합모델을 만들고, 웹에서 검토하는 프로젝트입니다.
|
||
|
||
## 1. 웹에서 보기
|
||
|
||
https://itkim77.github.io/dxf-to-3d-gasiseol/
|
||
|
||
설치 없이 브라우저에서 바로 열 수 있습니다. 화면 왼쪽 패널이 조작 메뉴입니다.
|
||
|
||
## 2. 조작 방법
|
||
|
||
| 동작 | 방법 |
|
||
|---|---|
|
||
| 회전 | 왼쪽 버튼 드래그 |
|
||
| 이동 | 오른쪽 버튼 드래그 |
|
||
| 확대·축소 | 휠 (커서가 가리키는 곳을 중심으로 부드럽게 바뀜) |
|
||
| 보이는 부재 맞춤 | "줌핏 (보이는 부재)" 버튼 |
|
||
| 시점 전환 | 정면 · 평면 · 측면 · 등각 버튼 |
|
||
| 거리 측정 | "거리 측정" 켜기 → 부재 표면을 두 번 클릭 → 거리와 ΔX·ΔY·ΔZ 표시 |
|
||
| 측정 지우기 | "측정 지우기" 버튼 |
|
||
| 부재 표시/숨김 | 종류별 체크박스 (옆 숫자는 개수) |
|
||
| 투명도 | 종류별 투명도 슬라이더 (0.1 ~ 1) |
|
||
| 굴착면 표시 | "굴착면 표시" 체크박스 |
|
||
|
||
## 3. 부재 구성 (총 419개)
|
||
|
||
| 부재 | 개수 | 비고 |
|
||
|---|---|---|
|
||
| 엄지말뚝 | 122 | H400×400×13/21, 길이 8.5m |
|
||
| 토류판 | 120 | T=100, 말뚝 사이 충진 |
|
||
| 띠장 | 48 | H300×300×10/15, 2단 |
|
||
| 수직 PIECE | 52 | H300, 띠장 쌍 연결 |
|
||
| 버팀보 | 26 | H300, 2단 |
|
||
| 스크류잭 | 26 | 1000kN, 버팀보당 한쪽 |
|
||
| 채널 | 12 | ㄷ-380×100×10.5/16 |
|
||
| 중간말뚝 | 13 | H300×300×10/15 |
|
||
|
||
굴착면과 도로면은 별도 면으로 표시됩니다.
|
||
|
||
## 4. 저장소 구조
|
||
|
||
```
|
||
src/build/generate-v4.mjs 통합모델 데이터 생성 (도면 → out/gasiseol-v4-stats.json)
|
||
src/build/verify-v4.mjs 검증 (부재 수량, 간섭)
|
||
out/viewer-v4.html 뷰어 원본
|
||
out/gasiseol-v4-stats.json 통합모델 데이터
|
||
site/ 웹 배포용 파일 (gh-pages 브랜치로 배포)
|
||
PROGRESS.md 진행 기록과 열린 가정 목록
|
||
```
|
||
|
||
## 5. 직접 실행하기
|
||
|
||
**준비**
|
||
- Node.js 18 이상
|
||
- `npm install` (dxf-parser, three)
|
||
- 도면 원본 `RAG/LH/가시설계획_LH.dxf`, `RAG/LH/가시설상세_LH.dxf`. 이 폴더는 저장소에 포함되어 있지 않으므로 직접 준비해야 합니다.
|
||
|
||
**데이터 생성과 검증**
|
||
```
|
||
node src/build/generate-v4.mjs # 통합모델 데이터 생성
|
||
node src/build/verify-v4.mjs # 수량·간섭 검증 (실패 시 종료 코드 1)
|
||
```
|
||
|
||
**로컬에서 뷰어 열기**
|
||
```
|
||
cd out
|
||
python -m http.server 8000
|
||
```
|
||
브라우저에서 `http://localhost:8000/viewer-v4.html`을 엽니다. 파일을 더블클릭으로 열면 데이터를 읽지 못하므로 반드시 서버로 열어야 합니다.
|
||
|
||
**웹에 반영하기**
|
||
```
|
||
cp out/viewer-v4.html site/index.html
|
||
cp out/gasiseol-v4-stats.json site/
|
||
git add site && git commit -m "배포 갱신"
|
||
git subtree split --prefix site -b gh-pages-site
|
||
git push -f origin gh-pages-site:gh-pages
|
||
git branch -D gh-pages-site
|
||
```
|
||
|
||
## 6. 확인이 필요한 가정
|
||
|
||
도면에 없어서 추정한 값입니다. 자세한 내용은 `PROGRESS.md`를 봐 주세요.
|
||
- 도로면 폭 10m
|
||
- 토류판 높이 = 말뚝 길이 8.5m
|
||
- 스크류잭 폭 0.3m
|
||
- 채널 길이 = 중간말뚝 묶음 범위
|
||
- 버팀보 X 간격 = 도면 치수 "11@5.000" 기준 (13지점)
|