BLOCK8 중심선과 단면 근거로 3D 모델 생성
This commit is contained in:
1 parent
e7d025075e
commit
9d11b4ed62
13 files changed
+18693
-269
No files matched your search
File diff suppressed because it is too large.
Load diff
|
After Width: | Height: | Size: 537 KiB |
@@ -1,41 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 650" role="img" aria-labelledby="title desc">
|
||||
<title id="title">광터지하차도 BLOCK8 기준 모델 도식</title>
|
||||
<desc id="desc">STA. 0K+319.010부터 STA. 0K+338.990까지 19.980미터 기준 구간을 입체 기준선으로 표시. 구조물 단면 형상은 확인되지 않았음.</desc>
|
||||
<defs>
|
||||
<linearGradient id="bg" x2="0" y2="1"><stop stop-color="#f7faf6"/><stop offset="1" stop-color="#e9f0e9"/></linearGradient>
|
||||
<marker id="arrow" markerWidth="10" markerHeight="10" refX="5" refY="5" orient="auto-start-reverse"><path d="M0 0 10 5 0 10Z" fill="#788f7c"/></marker>
|
||||
<filter id="shadow" x="-30%" y="-100%" width="160%" height="300%"><feGaussianBlur stdDeviation="8"/></filter>
|
||||
</defs>
|
||||
<rect width="1200" height="650" rx="24" fill="url(#bg)"/>
|
||||
<text x="72" y="76" fill="#728579" font-family="sans-serif" font-size="16" font-weight="700" letter-spacing="2">광터지하차도 · BLOCK8</text>
|
||||
<text x="72" y="126" fill="#263a32" font-family="sans-serif" font-size="34" font-weight="700">확인된 종단 기준 구간</text>
|
||||
<rect x="914" y="54" width="214" height="42" rx="21" fill="#faf3e5" stroke="#e5d8bd"/>
|
||||
<circle cx="938" cy="75" r="5" fill="#b58d4c"/>
|
||||
<text x="954" y="80" fill="#927443" font-family="sans-serif" font-size="14">단면 형상 확인 필요</text>
|
||||
|
||||
<g stroke="#d8e2d9" stroke-width="1">
|
||||
<path d="M130 430 890 430 1070 520 310 520Z" fill="#eef3ed"/>
|
||||
<path d="M310 520V542M500 520V542M690 520V542M880 520V542M1070 520V542"/>
|
||||
<path d="M130 430V452M320 452V474M510 475V497M700 497V520"/>
|
||||
<path d="M130 430 310 520M320 430 500 520M510 430 690 520M700 430 880 520M890 430 1070 520"/>
|
||||
</g>
|
||||
|
||||
<path d="M220 348 850 348" stroke="#b7c7b8" stroke-width="28" stroke-linecap="round" opacity=".55" filter="url(#shadow)"/>
|
||||
<path d="M220 335 850 335" stroke="#547d62" stroke-width="9" stroke-linecap="round"/>
|
||||
<path d="M220 302V369M850 302V369" stroke="#829982" stroke-width="3"/>
|
||||
<circle cx="220" cy="335" r="13" fill="#fafcf8" stroke="#52785d" stroke-width="6"/>
|
||||
<circle cx="850" cy="335" r="13" fill="#fafcf8" stroke="#52785d" stroke-width="6"/>
|
||||
<path d="M238 260H832" stroke="#788f7c" stroke-width="2" marker-start="url(#arrow)" marker-end="url(#arrow)"/>
|
||||
<path d="M220 270V300M850 270V300" stroke="#a8b8aa" stroke-width="2"/>
|
||||
<rect x="482" y="224" width="108" height="50" rx="25" fill="#fff" stroke="#dbe4d7"/>
|
||||
<text x="536" y="255" text-anchor="middle" fill="#49694f" font-family="sans-serif" font-size="20" font-weight="700">19.980 m</text>
|
||||
<text x="220" y="402" text-anchor="middle" fill="#566e5c" font-family="sans-serif" font-size="17" font-weight="700">STA. 0K+319.010</text>
|
||||
<text x="850" y="402" text-anchor="middle" fill="#566e5c" font-family="sans-serif" font-size="17" font-weight="700">STA. 0K+338.990</text>
|
||||
|
||||
<g transform="translate(86 520)" font-family="sans-serif" font-size="13" fill="#788a7d" stroke="#849987" stroke-width="2">
|
||||
<path d="M0 0H70"/><path d="M0 0V-44"/><path d="M0 0 37 22"/>
|
||||
<text x="78" y="5" stroke="none">종단 구간</text><text x="-14" y="-52" stroke="none">EL 미연결</text><text x="43" y="42" stroke="none">평면 배치 미확정</text>
|
||||
</g>
|
||||
<rect x="72" y="580" width="1056" height="42" rx="8" fill="#f8f3e8" stroke="#e6dcc7"/>
|
||||
<text x="92" y="606" fill="#8d784e" font-family="sans-serif" font-size="14">이 도식은 측점 범위만 나타냅니다. 구조물 폭·높이·단면 윤곽은 근거 확인 전이라 모델에 포함하지 않았습니다.</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 3.5 KiB |
+64
-35
@@ -1,48 +1,77 @@
|
||||
# BLOCK8 도면 분석 기록
|
||||
# 광터지하차도 BLOCK8 도면 분석 및 모델링 기록
|
||||
|
||||
## 사용 자료
|
||||
## 사용 도면과 연결 근거
|
||||
|
||||
| 자료 | 파일 | 확인 범위 |
|
||||
|---|---|---|
|
||||
| 전체 일반도 DXF | `public/drawings/광터지하차도_BLOCK8.dxf` | 평면·상부평면·종단·단면과 치수/구조물 레이어 |
|
||||
| 설계도 원본 DWG 묶음 | `C0050201~C0059901` | 사용자 제공 폴더에 존재 확인. 이 환경에서 직접 열람/대조는 미완료 |
|
||||
| 도면 | 자료 위치 | 읽은 내용 | 상태 |
|
||||
|---|---|---|---|
|
||||
| 평면도 | `public/drawings/광터지하차도_BLOCK8.dxf`, `CS-CNTL` 원호와 `CS-CONC-MAJR` 끝 구조선 | BLOCK8 표기 평면 중심선 2개, 반경 1,700m 원호, 원호와 끝 구조선의 교점 | 직접 좌표·레이어 대조 |
|
||||
| 상부 평면 및 종단 검토 영역 | 같은 DXF, BLOCK8 주변 측점·EL 주석 | 모델 시종점 측점 319.010/338.990, 길이 19.980m | 측점은 도면값, 길이는 교점 간 계산값 |
|
||||
| 단면 A-A | 같은 DXF, `STA. 0K+319.000` 주석이 있는 단면 영역 | 단면 구조선 114개, EL 표기와 폭 분할 | 직접 추출 및 대조 |
|
||||
| 단면 B-B | 같은 DXF, `STA. 0K+339.000` 주석이 있는 단면 영역 | 단면 구조선 114개, 종점 EL·폭 분할 | 직접 추출 및 대조 |
|
||||
| 블록 내부 콘크리트 윤곽 | `A$C2017021411375356` 블록, 단면별 INSERT 4곳 | 내부 `CS-CONC-MAJR` 18선과 원호 2개를 확인해 좌우 삽입 형상으로 처리 | 블록 기준점·삽입 위치·좌우 반전 반영 |
|
||||
| 측구 상세 | 전체 일반도 DXF의 별도 상세 영역 | BLOCK8 본체 단면과 측구 세부의 연결 표기를 확인하지 못함 | 별도 모델 반영 보류 |
|
||||
| 제원·특기사항 및 구조도 | 사용자 제공 폴더의 DWG | 파일 존재 확인. DWG 직접 렌더링/교차검토는 이 실행 환경에서 수행하지 못함 | 후속 검증 필요 |
|
||||
|
||||
DXF 내부 표제 및 주석에서 `평면도`, `상부평면도`, `종단면도`, `(BLOCK8)`, `U-Type 구간`을 확인했다. 입력 도면은 여러 구간/도면을 포함하므로 BLOCK8 경계 표기로 자료를 선별했다.
|
||||
두 단면은 DXF의 동일 구조 윤곽 영역을 측점 주석(`319.000`, `339.000`)과 연결했다. 각 단면의 `CS-CNTL` 중심 표시 교차점 EL은 각각 102.094m와 101.517m이며, 같은 단면 영역의 EL 주석과 일치한다. 벽체 상단 EL 107.215m/107.857m도 종단 검토 영역에 반복 표기되어 각 단면과 맞는다. 각 측점 단면의 폭 분할은 양쪽 단부벽·중앙벽·두 통로 폭으로 이어지며, 평면의 두 `BLOCK8` 중심선과 함께 모델의 두 배치 객체로 구성했다. 두 평면 배치에 대표 단면을 공통 적용한 관계는 구조도 대조가 끝나지 않아 `확인 필요`로 표시한다.
|
||||
|
||||
## 도면 연결 및 기준값
|
||||
## 축척 및 좌표 단위 확인
|
||||
|
||||
| 항목 | 읽은 값 | 근거/위치 | 상태 |
|
||||
- 평면도 영역의 축척 표기: `S=1:100`.
|
||||
- 단면 영역의 축척 표기: `S=1:100`.
|
||||
- 종단 검토 영역의 축척 표기: `S=1:100`.
|
||||
- 상세 영역에는 `S=1:30`, `S=1:20`, `S=1:3500` 등 다른 표기도 있으므로 각 상세별 표기를 따로 적용해야 한다.
|
||||
- DXF HEADER는 `$INSUNITS=0`으로 단위를 지정하지 않았다. 다만 단면 구조선의 좌표 차 20,300이 표기 치수 20.300m와 맞고, 중심선 원호를 구조물 끝선에 교차시켜 계산한 길이가 19.980m로 측점 차와 일치한다. 이 교차 검산에 따라 모델 생성에 한해 좌표를 mm로 보고 m로 환산했다. 단위 판정은 계산 근거이며 HEADER 명시값은 아니다.
|
||||
|
||||
## 모델링 값과 근거
|
||||
|
||||
| 대상/값 | 모델 값 | 근거 위치 | 상태 |
|
||||
|---|---:|---|---|
|
||||
| BLOCK8 시점 측점 | STA. 0K+319.010 | 일반도 DXF, BLOCK8 경계 주석 | 도면 명시값 |
|
||||
| BLOCK8 종점 측점 | STA. 0K+338.990 | 일반도 DXF, BLOCK8 경계 주석 | 도면 명시값 |
|
||||
| 측점 차이 | 19.980 m | 위 두 측점 차 계산 | 계산으로 도출한 값 |
|
||||
| 인접 표기 측점 | STA. 0K+319.000, 0K+339.000 | 평면/구조 배치 주변 주석 | 도면 명시값; 경계 측점과 각각 0.010m 차이 |
|
||||
| 단면 기준 EL 후보(시점) | 101.777~107.215 | BLOCK8 시점 쪽 단면 주변 EL 주석 | 확인 필요: 각 표고가 바닥/벽체 상단인지 구조물선과 대조 필요 |
|
||||
| 단면 기준 EL 후보(종점) | 101.292~107.857 | BLOCK8 종점 쪽 단면 주변 EL 주석 | 확인 필요: 각 표고가 바닥/벽체 상단인지 구조물선과 대조 필요 |
|
||||
| 상부/평면 치수 후보 | 19.5, 20.099, 20.3, 8.75, 1.0 등 | BLOCK8 표기 주변의 치수 문자열 | 확인 필요: 중복 뷰/치수선과 구조물 외곽 연결 전 모델값으로 확정하지 않음 |
|
||||
| 도면 단위 설정 | `$INSUNITS=0` | DXF HEADER | 확인 필요: 미지정. 치수 표기와 좌표 변환으로 단위 검증 필요 |
|
||||
| 모델 시점 | STA. 0K+319.010 | 평면도 BLOCK8 구조 끝단과 중심선 교점 부근 주석 | 도면 명시값 |
|
||||
| 모델 종점 | STA. 0K+338.990 | 반대쪽 구조 끝단과 중심선 교점 부근 주석 | 도면 명시값 |
|
||||
| 중심선 반경 | 1,700m | 평면도 `CS-CNTL` ARC 반경 1,700,000 CAD 단위 | 좌표 단위 검산 후 환산값 |
|
||||
| 평면 중심선 길이 | 19.980m, 각 배치 | ARC와 `CS-CONC-MAJR` 양 끝선 교점 사이 원호 길이. 교점 각도 약 269.663303°~270.336697° | 계산으로 도출한 값; 측점 차와 일치 |
|
||||
| 두 평면 중심선 간 CAD 배치 차이 | 35.000m | 두 원호 중심 X 좌표 차 35,000 CAD 단위 | 계산으로 도출; 실제 독립 구조물 관계는 확인 필요 |
|
||||
| 단면 A-A 측점 | STA. 0K+319.000 | 단면 A 표기 | 도면 명시값 |
|
||||
| 단면 A-A 벽체 상단 EL | 107.215 | 상단 EL 주석 및 상단 구조선 | 도면 명시값 |
|
||||
| 단면 A-A 기초 하단 EL | 100.877 | 하단 EL 주석 및 기초 구조선 | 도면 명시값 |
|
||||
| 단면 A-A 기초 상단 EL | 101.777 | EL100.877 + 구조선상 기초 두께 0.900m | 계산으로 도출한 값 |
|
||||
| 단면 A-A 중심 기준 EL | 102.094 | `CS-CNTL` 중심 표시 교점과 단면 EL 주석 | 좌표 환산 계산, 표기값과 일치 |
|
||||
| 단면 B-B 측점 | STA. 0K+339.000 | 단면 B 표기 | 도면 명시값 |
|
||||
| 단면 B-B 벽체 상단 EL | 107.857 | 상단 EL 주석 및 상단 구조선 | 도면 명시값 |
|
||||
| 단면 B-B 기초 하단 EL | 100.392 | 하단 EL 주석 및 기초 구조선 | 도면 명시값 |
|
||||
| 단면 B-B 기초 상단 EL | 101.292 | EL100.392 + 구조선상 기초 두께 0.900m | 계산으로 도출한 값 |
|
||||
| 단면 B-B 중심 기준 EL | 101.517 | `CS-CNTL` 중심 표시 교점과 단면 EL 주석 | 좌표 환산 계산, 표기값과 일치 |
|
||||
| 단면 주 통로 폭 분할 | 0.900 + 8.750 + 1.000 + 8.750 + 0.900 = 20.300m | 단면 치수 표기와 `CS-CONC-MAJR/MINR` 좌표 간격 | 도면 명시값 및 좌표 대조 |
|
||||
| 구조선 최대 외곽 폭 | 20.500m | 단면 구조선 X 좌표 최댓값-최솟값 | 축척·좌표 측정값; 표기 폭과 별도 관리 |
|
||||
| 구조선 기초 두께 | 0.900m | 단면 상·하부 구조선 좌표 차 | 계산으로 도출한 값 |
|
||||
| 원시 구조선 수/단면 | MAJR 108 + MINR 6 = 114 | 각 단면의 두 구조 레이어 | 추출 개수 |
|
||||
| 블록 내부 구조선 | MAJR 18선 + 원호 2개; 단면당 좌우 INSERT 2개 | `A$C2017021411375356` 블록과 삽입 참조 | 내부 레이어·반전 변환 적용 |
|
||||
| 블록 연결 길이 | 19.980m | 단면 A/B 내부 블록 대응을 따라 선형 보간 | 계산으로 도출 |
|
||||
|
||||
## 레이어 및 형상 해석
|
||||
모델은 두 단면의 구조선을 대응시켜 각 구조선을 길이 방향 표면으로 연결했다. 평면 원호는 양 끝 구조선과의 교점에 맞춰 길이 19.980m로 잘랐다. 단면 도면은 STA 319.000/339.000에 있고 모델 경계는 각각 0.010m 안쪽의 STA 319.010/338.990이므로, 두 끝에서 0.010m씩 단면 형상을 선형 보간해 경계에 맞췄다.
|
||||
|
||||
- DXF 모델 공간에는 `CS-CONC-MAJR` 510개, `CS-CONC-MINR` 57개 엔티티가 있다. `CS-DIMT`/`CS-DIML`은 치수, `CS-TEXT`/`CS-NOTE`는 문자·주석으로 구분했다.
|
||||
- 구조 윤곽 추출은 `CS-CONC-MAJR`, `CS-CONC-MINR`만 대상으로 해야 한다. 단순히 도면 전체 선을 모델링하면 치수선과 보조선이 섞인다.
|
||||
- 주요 형상 중 일부가 INSERT 블록으로 저장되어 있어 블록 내부 변환(삽입점·축척·회전)을 풀어 원 좌표로 검증해야 한다. 현재 레이어별 원시 개수는 확인했으나, 모든 블록 내부 윤곽의 완전 추출은 아직 끝나지 않았다.
|
||||
- BLOCK8 표기와 측점에 인접한 CAD 좌표 구역에서는 `CS-CONC-MAJR` 직선 6개를 확인했으며, 그중 2개는 EL 주석 부근의 수직선이다. 같은 2D 창에서 `CS-CONC-MINR` 구조선은 확인되지 않았다. 따라서 이 구역만으로 단면 윤곽 전체를 구성할 근거가 부족하다.
|
||||
- 평면 중심선과 종단면, 시점·종점 단면, 측구 상세의 동일 부재 대응은 원본 DWG/블록 도형과의 위치 검토가 더 필요하다.
|
||||
## 오류 및 확인 필요 사항
|
||||
|
||||
## 축척
|
||||
1. 단면 외곽 구조선 폭은 20.500m인데 표기된 주 통로/본체 폭은 20.300m다. 좌우 0.100m씩 추가되는 외곽 선의 용도는 구조도 DWG와 확인해야 한다. 모델에는 두 값을 임의로 하나로 합치지 않고 원 구조선을 그대로 보존했다.
|
||||
2. 구조선 최저 외곽점은 표기된 기초 하단 EL보다 약 0.100m 낮게 계산된다(A: 100.777m, B: 100.292m). 기초 상세 또는 버림층 여부가 확인될 때까지 외곽 구조선 그대로 표시하고 차이를 남긴다.
|
||||
3. 평면도에서 동일 `(BLOCK8)` 표기가 있는 중심선 2개를 찾았고 중심 간 도면 좌표 차는 35.000m다. 두 중심선이 독립 구조물인지, 도면상 중복/배치 복제인지 구조도와 종평면도로 확인해야 한다. 웹 뷰어에서 서로 독립적으로 숨김 처리할 수 있게 했다.
|
||||
4. 종단면의 상단 벽체 EL과 두 단면 상단 EL은 현재 일반도 DXF의 구조선/EL 위치로 읽었으나, 제원 DWG와 별도 구조도에서 재확인하지 못했다.
|
||||
5. 측구 상세도 기호와 본체 구조선의 실제 접합 위치, 부재 두께/재료, 닫힌 체적 경계는 미검증이다.
|
||||
|
||||
DXF HEADER의 `$INSUNITS=0`으로 파일 단위는 지정되지 않았다. 도면 축척 문구를 모든 뷰에서 확인하고, 표기 치수(예: 19.980m)와 CAD 좌표 차이를 비교해 좌표 단위를 확정해야 한다. 이 확인 전에는 화면상 축척 측정값을 도면 명시 치수로 취급하지 않는다.
|
||||
## 모델 구성과 화면 기능
|
||||
|
||||
## 오류·누락·확인 항목
|
||||
- 생성 데이터: `src/model/block8.json`. 각 부재에 A/B 단면점, 원본 레이어와 HANDLE을 기록한다.
|
||||
- 추출 스크립트: `scripts/extract_block8_model.py`. 표준 Python만으로 DXF 단면 선, 원호, INSERT 내부 레이어를 재추출한다.
|
||||
- 화면: `src/ModelViewer.jsx`와 `src/App.jsx`. 끌어서 회전, 휠 확대/축소, Shift/오른쪽 끌기로 이동, 전체·평면·정면·측면·A-A·B-B 시점을 제공한다.
|
||||
- 객체는 2개 평면 중심선에 각각 154개씩 구성했다(단면 구조선 114개와 삽입 블록 윤곽 40개). 원본선 단위 선택·숨김과 MAJR/MINR/블록 윤곽 그룹 숨김을 지원한다.
|
||||
- 화면의 면은 검토용 열린 표면 모델이다. 구조선 사이를 연결했으며 모든 두께/접합을 확정한 닫힌 체적이나 실사 렌더링은 아니다.
|
||||
- 실행: `npm run dev`. 분석 파일과 작업 로그는 화면 상단 링크에서 연다.
|
||||
|
||||
1. 319.000/339.000 표기와 BLOCK8 경계 319.010/338.990 사이에 각각 0.010m 차이가 있다. 어떤 경계를 모델 끝으로 쓸지 구조 이음/상세에서 확인한다.
|
||||
2. 종단/단면 EL 후보를 벽체 상단 및 중심 기준 EL로 확정하려면 각 주석의 지시선과 CS-CONC 구조선을 연결해야 한다.
|
||||
3. 단면 전체 윤곽, 두께, 측구/공동구 상세 치수 및 부재 개수는 INSERT 내부 요소까지 추출해 확인해야 한다.
|
||||
4. 원본 DWG의 제원·특기사항 및 구조도와 교차 대조가 미완료다.
|
||||
## 검증 결과
|
||||
|
||||
따라서 현재 확정 가능한 모델 기준은 BLOCK8 경계 측점과 19.980m 길이뿐이다. 미확정 단면 윤곽과 높이는 임의로 만들어 넣지 않는다.
|
||||
|
||||
## 모델 생성 진행 상태
|
||||
|
||||
현재는 도면 원본 보존과 1차 분석까지 완료했다. 실제 3D 형상 생성은 보류 상태다. 이유는 BLOCK8 단면의 구조물선 전체와 A-A/B-B 대응을 확인하지 못했고, DXF 단위도 미지정이기 때문이다. 해당 구간이 포함된 구조도/단면 원본을 CAD에서 BLOCK8만 분리해 DXF로 내보내거나, 읽을 수 있는 PDF로 제공하면 치수·레이어·EL 연결을 재확인한 뒤 모델링을 이어갈 수 있다.
|
||||
- 추출 스크립트 실행 결과: 중심선 2개, 각 길이 19.980m, 단면 구조선 MAJR 108개와 MINR 6개, 내부 블록 객체를 양쪽 단면에서 대응했다.
|
||||
- `npm run build`: 통과.
|
||||
- `npm run lint`: 미사용 함수 경고를 제거한 뒤 최종 재실행 예정.
|
||||
- `npm run lint`: 통과, 경고 없음.
|
||||
- `git diff --check`: 통과.
|
||||
- 미검증: 원본 DWG에서 제원·특기사항, 구조 상세, 2개 중심선의 공간상 관계 및 측구 접합부를 CAD/PDF로 교차 대조하지 못했다.
|
||||
Reference in new issue
Block a user