diff --git a/README.md b/README.md new file mode 100644 index 0000000..e7481dd --- /dev/null +++ b/README.md @@ -0,0 +1,63 @@ +# Pier_v1 — 교각 3D 형상 생성 웹 뷰어 + +엑셀 입력(교각 · IP · 받침)으로 T형 교각의 3D 형상을 만들고, 웹 브라우저에서 확인하는 프로젝트입니다. +형상 생성 → 형상계획 → 철근배근 → 재료표 순서로 진행합니다. + +## 주요 기능 + +- **① 형상 생성**: 엑셀 입력을 불러와 교각을 3D로 생성합니다. 기본은 **전체 보기**(교각 여러 기를 한 화면에 콘크리트만 표시)입니다. +- **② 형상계획**: 부재별(코핑, 기둥, 확대기초·말뚝, 지반, 교량받침) 입력을 고치고, 기준 교각의 값을 다른 교각에 **속성 복사**합니다. +- **③ 철근배근**: 부재별 철근을 3D로 표시하고 철근표를 만듭니다. +- **④ 재료표**: 철근 재료표를 교각별로 또는 **교량 전체 집계**로 보고, 엑셀로 내보냅니다. + +## 실행 방법 + +필요 환경: Node.js (LTS 권장), npm + +```bash +npm install +npm run dev # 개발 서버 (기본 http://localhost:5173) +``` + +WSL에서 호스트를 지정하려면: + +```bash +npm run dev -- --host 127.0.0.1 --port 5173 +``` + +## 명령어 + +| 명령 | 내용 | +| :--- | :--- | +| `npm run dev` | 개발 서버 실행 | +| `npm run typecheck` | TypeScript 타입 검사 | +| `npm test` | 단위 테스트 (vitest) | +| `npm run build` | 타입 검사 후 배포용 빌드 (`dist/`) | + +## 입력 파일 + +`public/samples/운곡교P1입력.xlsx`가 기본 예시입니다. 시트 구성은 다음과 같습니다. + +- **교각**: 교각명, 교각 형식, 두부보 EL, 기초 하단 EL, 지반고 EL, 말뚝 길이(mm), 두부보 폭·길이(mm), 기둥 개수 +- **IP**: 교각별 IP1–IP4 좌표와 코핑 꺾임각 +- **받침**: 교각별 받침 번호, 좌표, EL, 방위각, 위치(전열·후열) + +엑셀에서 **시트 1장 = 교각 1기**입니다. 오류가 있는 교각만 건너뛰고 나머지는 생성합니다. + +## 폴더 구조 + +``` +src/ + core/ 계산과 규칙 (형상, 철근, 재료표, 복사, 입력 검사) + view/ 3D 장면과 도면 뷰 (three.js) + main.ts 화면 동작과 상태 +tests/ 단위 테스트 +public/ 샘플 입력 파일 +scripts/ 검증·자동화 스크립트 +verify/ 검증 실행 기록 +``` + +## 참고 + +- 작업 규칙과 커밋 방식은 `CLAUDE.md`에 있습니다. +- 명세와 설계 기준은 프로젝트 외부 문서(RAG 폴더)를 따릅니다.