Compare commits

..
196 Commits
Author SHA1 Message Date
ypshimandClaude Haiku 5.5 2cf82b248a docs(rebar): B9 행 엇갈림 방향을 L 방향으로 명시
삽도(9,350 기초)의 상면 200과 중앙 450 여유 차이 250 = 2s가 L 방향 엇갈림을 보여 줌. 계산은 그대로.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-27 12:35:11 +09:00
ypshim b6f942195e Revert "feat(rebar): 확대기초 단면 그림에서 B1–B4와 B10-1 제외"
This reverts commit 77ad63fcbf.
2026-10-27 11:21:07 +09:00
ypshimandClaude Haiku 5.5 77ad63fcbf feat(rebar): 확대기초 단면 그림에서 B1–B4와 B10-1 제외
- B1–B4 선, B2 다리선, B1–B4 풍선 제거 (그림에서만, 철근표·3D는 그대로)
- B10-1 점과 풍선 제거, 범례의 B1–B4·B10 항목 제거
- 테스트 갱신

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-27 11:19:36 +09:00
ypshimandClaude Haiku 5.5 61a8db916d feat(rebar): 확대기초 단면 풍선 지시선의 끝을 점철근 표시로 변경
- 각 풍선의 지시선 끝에 철근 계열 색의 점(점철근)을 찍어, 선 위가 아니라 점에 닿도록 함
- B1–B4 선 철근, B11 선 철근도 같은 방식으로 점 표시

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-27 09:59:18 +09:00
ypshimandClaude Haiku 5.5 71fdb75c71 Reapply "feat(rebar): B1–B4와 B5–B8 방향 교환 (B1–B4는 W 방향, B5–B8은 L 방향)"
사용자 요청으로 방향 교환을 다시 적용 (99db6a1 되돌림). 격자 키 sL/sW, 3D·단면·철근표 역할과 테스트 기대값이 교환 기준으로 돌아감.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-27 09:51:04 +09:00
ypshimandClaude Haiku 5.5 99db6a1f52 Revert "feat(rebar): B1–B4와 B5–B8 방향 교환 (B1–B4는 W 방향, B5–B8은 L 방향)"
이 교환은 9,350 방향이 L이라는 가정에서 적용됐으나, 단면 삽도(B5–B8 선, 교각축 직각 단면)와 재료표가 원래 배치(B1–B4 L 방향, B5–B8 W 방향)와 맞는 것으로 확인되어 되돌림.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-27 09:48:05 +09:00
ypshimandClaude Haiku 5.5 a026d52799 refactor(rebar): 확대기초 단면의 풍선 클릭 강조 기능 제거
- 풍선 클릭 리스너와 강조 함수 제거, 풍선은 라벨로만 표시
- 캡션에서 "풍선을 누르면" 문구 제거

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-27 09:44:08 +09:00
ypshimandClaude Haiku 5.5 752de2fd9d feat(rebar): B1–B4와 B5–B8 방향 교환 (B1–B4는 W 방향, B5–B8은 L 방향)
- 재료표(B5–B8 9150 = 9350 − 2c, B1–B4 7600 = 7800 − 2c)와 같은 방향 배정으로 맞춤
- 격자 키를 물리 방향으로 정리: sL = L 방향 간격, sW = W 방향 간격 (기존 sAxis → sL, sPerp → sW)
- B1–B4: L 격자로 개수, 길이 W − 2c. B5–B8: W 격자로 개수, 길이 L − 2c
- B9: 열(L)은 sL, 행(W)은 sW 격자 (물리 격자 일치), 개수 불변
- B11은 L 방향 간격(sL), B12는 W 방향 간격(sW)
- 3D 확대기초 철근과 단면 그림의 역할을 교환 (B1–B4 선, B5–B8 점)
- 철근표 간격과 규칙 값, 설정 라벨을 방향 기준으로 수정
- 테스트 기대값 갱신 (B1–B4 40, B5–B8 31, B6 13646 분할 경고)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-27 09:36:20 +09:00
ypshimandClaude Haiku 5.5 f2fa48913b feat(rebar): B10-2 최하단 단 삭제, 측면 B2 다리선 강조 (모서리 연결)
- B10-2 최하단(z = c_b)도 하면 1단 B2·B4와 같은 높이에서 간섭하므로 삭제 (승인 2026-10-26)
- B10-2: 18 → 16본 (8단 × 2면). 표와 3D가 같은 규칙
- 단면 그림의 측면 B2 다리선을 굵은 주황 실선으로 그려 모서리 연결을 드러냄
- 테스트 기대값 갱신 (B10-2 16)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 18:21:47 +09:00
ypshimandClaude Haiku 5.5 eb6c7bb4ad fix(rebar): 확대기초 단면 하단 지시선·격자 치수·우측 주석·상단 여백 정리
- 하단 풍선 B2·B4·B3를 각 철근 바로 아래(가운데 기준 좌·중앙·우)에 두고 수직 지시선으로 연결
- 격자 치수 글자를 우측 중앙으로 옮겨 지시선과 겹치지 않게 함
- 뷰박스를 600 × 430으로 넓히고 전체를 20 px 아래로 이동 (우측 주석과 상단 풍선이 잘리지 않음)
- 범례와 캡션을 아래로 이동

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 18:19:11 +09:00
ypshimandClaude Haiku 5.5 8860fb8231 feat(rebar): B10-1 최하단 단 삭제, 하면 1단 B2·B4가 모서리에서 대체
- B10-1 최하단(z = c_b)은 하면 1단 B2·B4와 같은 높이에서 모서리 간섭이 있어 삭제 (승인 2026-10-26)
- B10-1: 18 → 16본 (8단 × 2면), 길이는 그대로. B1–B4 개수·길이 불변, 새 철근 없음
- 표, 3D, 단면 그림이 같은 규칙을 씀
- 테스트 기대값 갱신 (B10-1 16)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 18:17:00 +09:00
ypshimandClaude Haiku 5.5 3fe94fa0e1 feat(rebar): 확대기초 단면 최외측 열에 B1–B4 연장선과 측면 피복 다리선 추가
- 최외측 두 열에 B1·B2·B3·B4 점을 모두 표시 (빠진 점은 'ext'로 추가, 표 개수 불변)
- 상단(B1)과 하단(B2·B4) 연장선을 측면 피복 c_s까지 이음
- 측면 피복선에 B2 다리선을 하면 1단에서 B1 높이까지 그림
- 테스트: 다리선 2개, 연장 표시 존재, 기존 개수 테스트 유지

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 18:12:59 +09:00
ypshimandClaude Haiku 5.5 f793a69d3f fix(rebar): 확대기초 단면 B6 다리 주석을 우측 여백으로, 격자 치수 글자를 치수선 위로
- B6 다리 주석 "B6 다리 → B5 / 높이 1723"을 우측 여백에 두고 B6 다리 끝까지 지시선을 그림
- 격자 치수 "61@125=7625"를 치수선 위로 옮겨 하단 지시선과 겹치지 않게 함

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 18:08:16 +09:00
ypshimandClaude Haiku 5.5 665b1c948a fix(rebar): 확대기초 단면 제목과 폭 치수 글자 겹침 해소
- 제목을 그림 위(y 20)로 옮겨 말뚝과 지시선과 겹치지 않게 함
- 양끝 피복은 치수선 바깥쪽에, 격자 여유(e)는 각각 안쪽 끝에 놓아 "16216"처럼 붙던 글자를 분리
- 치수선을 한 줄 내림 (Y0+40)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 18:04:36 +09:00
ypshimandClaude Haiku 5.5 6c7a7ff781 feat(rebar): 확대기초 단면 삽도 2단계 (범례·선 스타일·치수선·다리 주석·기둥·말뚝·실제 비율·탭 4개)
- 선 스타일을 삽도에 맞춤: B5–B8 청록 실선, B1–B4 주황 점, B9 보라 세로선, B10 녹색 점, B11 회색 파선, B12 회색 점
- 범례 5항목 (선 모양별)
- 하단 치수선(피복 · 격자 e · n@s=G · e)과 우측 높이 치수선(상면 피복 · B10 단 · 하면 피복), 화살 끝 표시
- B6 다리 주석 "B6 다리 → B5 높이 (값)"
- 기둥 블록(상부)과 말뚝 머리(하부)를 맥락 그림으로 표시
- 높이 방향을 실제 비율로 그림 (축소 없음)
- 탭 4개 중 "교각축 직각 단면 (폭 W)"만 작동, 나머지는 다음 단계 자리로 비활성

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 18:02:51 +09:00
ypshimandClaude Haiku 5.5 bad220d791 fix(rebar): 조립 철근 B11·B12를 짝수 격자에 배치 (B9 홀수 격자와 겹치지 않음)
- assemblyEvenStart: 짝수 시작칸 중 양끝 여유 차이가 가장 작은 값 선택
- B12(W 방향, n 61)는 시작칸이 1(홀수)이던 것을 2(짝수)로 바꿔 B9 행선과 겹치지 않게 함
- 개수(B11 30, B12 24)와 가운데 정렬(차이 ≤ 1칸)은 그대로, 엇갈림 2칸 유지
- 테스트: 조립 철근 인덱스가 모두 짝수

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 17:51:10 +09:00
ypshimandClaude Haiku 5.5 5fb2b9938f fix(rebar): 확대기초 단면 B5 풍선이 B1 풍선에 가려지는 문제 수정, 치수 글자 바탕 테두리
- B5 풍선을 B5 선 시작점 쪽(오른쪽)으로 옮김
- 치수 글자에 흰색 테두리(paint-order stroke)를 줘서 지시선이 지나가도 읽힘

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 17:48:48 +09:00
ypshimandClaude Haiku 5.5 de20b84c00 feat(rebar): 조립 철근(B11·B12)을 격자 가운데에 배치 (양끝 여유 차이 ≤ 1칸)
- assemblyGridIndices: 단마다 k칸 간격, 엇갈림 2칸 유지, 짝수 단 시작칸을 가운데 정렬
- 개수는 그대로 (B11 30, B12 24), 3D와 단면 삽도가 같은 위치를 씀
- 테스트: 양끝 여유 차이 ≤ 1칸, 엇갈림 2칸

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 17:47:21 +09:00
ypshimandClaude Haiku 5.5 20d8546b6f fix(rebar): 확대기초 단면 풍선 위치를 외곽 밖으로 펼치고 지시선 추가, 캡션을 아래로 이동
- 풍선을 외곽 위·아래에 넓게 배치하고, 각 철근 표시까지 지시선을 그림 (지시선도 같은 data-bar로 강조)
- B2·B4·B3가 겹치던 문제 해결 (풍선 간격 70 px)
- 뷰박스 높이 300, 캡션을 맨 아래로

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 17:43:53 +09:00
ypshimandClaude Haiku 5.5 c91fe74d9a feat(rebar): 확대기초 교각축 직각 단면(폭 W) 삽도 1단계
- view/footing-section-svg.ts: B5–B8 선, B1–B4 점, B9 행 선, B10-1 측면 점, B11 선, B12 점을 계산 함수 결과로 그림
- 치수: 폭 W, 격자(e · n@s=G · e), 피복, B10 단 수 @ s_v, 높이 방향 축소 표시
- 풍선(B1–B5, B11, B2–B4, B10-1)을 누르면 그 철근만 강조, 다시 누르면 해제
- 테스트: 점·선 개수가 철근표 개수와 같음 (B1·B2·B4, B9 행, B10-1, B11 단, B12)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 17:42:03 +09:00
ypshimandClaude Haiku 5.5 6957054f4c fix(rebar): 확대기초 n 라벨을 "B11·B12 연직간격 배수"로 변경 (FT02 메시지 포함)
- 변수 이름 n과 계산은 그대로 (조립 단 간격 = n·s_v)
- FT02 메시지도 같은 이름을 씀

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 17:39:23 +09:00
ypshimandClaude Haiku 5.5 0588ffe3f4 feat(rebar): B11·B12 수평간격을 배수 k 입력으로 (기본 k = 8, 방향은 문서 기준)
- 간격 = k·s: B11은 L 방향 격자(교각축 직각 s), B12는 W 방향 격자(교각축 s). 기본 k = 8 (1000 mm, s = 125)
- 개수는 격자 k칸마다, 조립 단 엇갈림 2칸 유지. 3D 철근도 같은 간격
- 기본 k = 8이므로 P1 기본값의 B11·B12 개수가 60 / 47 → 30 / 24로 바뀜 (k = 4이면 문서값 60 / 47을 재현, 테스트로 확인)
- 패널에 k 두 칸, 규칙 표시에 B11·B12 간격 (k·s)
- FT02를 n·kB11·kB12 정수 검사로 확장

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 17:34:51 +09:00
ypshimandClaude Haiku 5.5 48e6811600 feat(rebar): 확대기초 패널 규칙 값 표시 (상면·2단, B2·B6 디리, B9, 조립 단 수) 및 "규칙" 표기
- footingRuleValues: 패널 표시값을 계산 함수에서 직접 읽음 (새 공식 없음)
- B2·B6 디리 두 값, 조립 단 수(3단) 표시
- "(고정)"은 Δ₂ 100에만 사용, 4s·2s·상면 2s는 "(규칙)"으로 표기
- 테스트: 기본값 P1에서 250 · 100 · 1723 · 500·250 · 500·3단 @400

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 17:23:57 +09:00
ypshimandClaude Haiku 5.5 ddd6d55a72 feat(rebar): 격자 실간격을 교각축(B1–B4·B9)과 교각축 직각(B5–B8·B11·B12)으로 나눠 입력
- footing-settings: s → sAxis(교각축) · sPerp(교각축 직각), 범위는 동일 (100–150)
- grid·gridPositions가 방향 키를 받음. B1–B4 grid는 sAxis, B5–B8 grid는 sPerp, B9 행·열은 sAxis, B11·B12는 sPerp
- 철근표 간격·실간격과 근거가 방향별 값을 씀 (B12는 교각축 직각 값, 승인 2026-10-26)
- 3D 확대기초 그림의 위치도 방향별 값을 씀
- 패널 입력 두 칸으로 분리

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 17:10:31 +09:00
ypshimandClaude Haiku 5.5 c40c58d27f feat(rebar): 확대기초 철근표 간격·실간격을 격자 실간격 s와 s_v에 연동
- B1–B8: 간격 2s, 실간격 s (cycle 2·4·6·8), 실간격 2s (B1·B3·B5·B7)
- B9: 간격 4s, 실간격 2s (엇갈림) · B11·B12: 간격 4s
- B10-1·B10-2: 간격·실간격 = s_v
- 근거: s 또는 s_v가 기본값과 다르면 '입력', 같으면 '기본값'

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 17:01:14 +09:00
ypshimandClaude Haiku 5.5 5a20a18185 feat(rebar): 확대기초 배근 입력 8개 (피복 3·여유·격자 s·s_v·e_top·n), FT01·FT02 검사
- core/rebar/footing-settings.ts: 입력 정의, 기본값(확대기초철근 (1).md), 범위(제안), 검사 (FT01 범위, FT02 n 정수)
- 확대기초 계산 함수가 설정을 인자로 받음 (기본값 = 기존 값, 기존 호출은 그대로)
- 3D 확대기초 그림의 125·100 하드코딩 제거, 철근표·3D·기둥 층 높이가 같은 설정을 씀
- 패널: 상면·측면·하면 피복을 칸 분리, s_v와 e_top 분리. 고정 규칙(k=2, Δ₂=100, 전단 4s·엇갈림 2s, cycle 교대)과
  B2·B6 디리는 읽기 전용으로 표시
- 기본값에서 P1 결과 불변 (기존 테스트 통과)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 16:59:08 +09:00
ypshimandClaude Haiku 5.5 550b508e7a feat(rebar): 단면 삽도 순서 P3·P4·P5, 치수선·규격 표기·커플러 지시선
- 단면 순서와 문자를 삽도에 맞춤: A 일반(P3), B 확대기초 안(P4, 반원 2·커플러 2), C 단부(P5, 커플러 1)
- 각 단면에 지름 2000과 125 · 875 치수선 표시 (D, c, r1에서 계산)
- 규격과 간격 표기: P1·P2 S32 Div.46, P3·P4·P5 H19 @ 입력값
- 커플러는 띠철근 위 점에서 지시선을 따라 원 밖의 작은 원으로 표시
- P4 형상과 기본 간격은 문서 값 유지 (입력으로 삽도 값 @100 입력 가능)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 16:54:27 +09:00
ypshimandClaude Haiku 5.5 caadc2fe77 fix(rebar): 단면 A·B·C를 한 행에 배치
- 기둥 패널의 단면 세 그림을 flex 한 행(nowrap)으로 두고, 좁은 화면에서는 가로 스크롤

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 16:44:05 +09:00
ypshimandClaude Haiku 5.5 baaec9d7e2 feat(rebar): 기둥 단면 A·B·C (각 그룹 첫 단, 커플러 θ+Δθ/2, P6 현 4본)
- view/column-section-svg.ts: A 일반(P3, 커플러 없음), B 단부(P5, 커플러 1), C 확대기초 안(P4, 반원 2·커플러 2)
- P1·P2는 같은 각도에 r 875·843.2로 배치, 띠철근 둘레·겹침·반원 길이 표시
- P6은 P6 단이 그 높이에 있을 때만 중심을 지나는 현 4본 (0 · 46.96 · 90 · 133.04°)
- 기둥 패널에서 정면 ↔ 단면 A·B·C 전환 (단면 높이는 각 그룹의 첫 단, 새 계산 없음)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 16:42:50 +09:00
ypshimandClaude Haiku 5.5 c82aff3713 feat(rebar): 기둥 정면 삽도 (P 번호, 단부 배치구간·기초 안 깊이 계산값 표시)
- view/column-elevation-svg.ts: 기둥 정면 SVG. 띠철근 P3·P5·P4·P6, 주철근 P1·P2, 커플러를 계산 결과 그대로 그림
- 번호는 P1–P6 (승인), 간섭(B11–P4)은 표시하지 않음 (검토 제외)
- 단부 배치구간 l_e = max(l_e,min, n·s + s/2)와 기초 안 깊이(0.5·H_f → m4·s)는 기존 계산값을 그림과 캡션에 표시
- 기둥 입력 라벨 K → P 번호

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 16:37:36 +09:00
ypshimandClaude Haiku 5.5 f619b9ea20 feat(rebar): 기둥 배근 입력 8개 (피복·띠철근 K3/K5/K4·K6·커플러·Δz·n_div), CL01·CL02 검사
- core/rebar/column-settings.ts: 입력 정의, 기본값(기둥철근 (1).md), 범위(제안), 검사 (CL01 범위, CL02 n_div 홀수)
- 주철근 하단 갈고리는 고정 (입력 없음)
- 기둥 탭 패널: 적용 버튼으로 반영, 계산 결과(K2 내측 r, 주철근·커플러 수량) 표시
- P1·P2 등분 수, P3·P5·P4·P6 간격, 커플러 간격·상승을 철근표 간격·비고와 근거(기본값/입력)에 연동
- 3D 주철근 개수도 n_div 입력을 사용 (COLUMN_P1 하드코딩 제거)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 16:22:47 +09:00
ypshimandClaude Haiku 5.5 496e0ea4e5 feat(rebar): 상면 주철근(C1–C6) 이음 무시/반영, 위치 기둥 중심/단부
- 기본 '이음 무시' (사양 결정). '반영'이면 정척(12000) 초과 철근을 l_s 겹침 2조각으로 나눔
- 위치: 기둥 중심 = 전체의 절반, 단부 = 정척 안에서 가장 끝 쪽 (짧은 조각 = 전체 + l_s − 12000, 긴 조각 = 12000)
- 철근표 조각 목록과 비고, 3D 두 조각(l_s 겹침)에 반영
- STANDARD_BAR를 common.ts로 옮겨 순환 import 방지

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 16:14:23 +09:00
ypshimandClaude Haiku 5.5 72053be420 feat(rebar): C15·C16 폭 간격을 2 × 주철근 기본간격에 연동
- stairBars가 pitch를 받는다 (기본 2 × 기본간격 = 250, P1 그대로)
- 3D와 철근표가 같은 pitch를 쓴다
- 철근표 간격·실간격: 2 × 기본간격, 근거는 기본값/입력

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 16:04:31 +09:00
ypshimandClaude Haiku 5.5 3cfbdf62f6 feat(rebar): 철근표 간격·실간격을 입력과 연동, 근거는 기본값/입력
- C1–C8: 간격 2 × 주철근 기본간격, 실간격 기본간격
- C9·C11 · C10 · C12·C13 · C14: 전단·측면·C14 간격 입력
- S1·S2: 블록 철근 간격 입력
- 근거: 관련 입력이 모두 기본값이면 '기본값', 하나라도 바뀌면 '입력'
- 입력이 없는 행(C15·C16, P3~P5, 커플러)은 기존 고정값 유지

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 15:54:47 +09:00
ypshimandClaude Haiku 5.5 1e6b8db7e9 feat(rebar): 주철근 기본간격·끝단 여유를 입력과 연동, CP04 홀수 개수 경고
- widthLayout이 코핑 배근 입력(mainSpacing, mainEndGap)을 받는다. 결과에 spacing 필드 추가
- 3D 주철근 위치의 125 하드코딩 제거 (철근표와 3D가 같은 간격을 씀)
- CP04: 주철근 개수 n+3이 홀수면 cycle-1·cycle-2 분할 불가 경고 (적용은 막지 않음)
- P1 기본값(125 · 80)에서는 결과와 경고 없음 (테스트로 확인)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 15:51:26 +09:00
ypshimandClaude Haiku 5.5 d2c5f90092 fix(rebar): 상면 단 가로 간격을 d(H29, 28.6 mm)로 수정
- 단마다 양끝이 안으로 들어가는 양을 2d에서 d로 변경
- 상면 단 길이 12744 / 12686.8 / 12629.6 (기존 12744 / 12629.6 / 12515.2)
- 3D 상면 주철근의 굽힘 시작점도 같은 값을 쓴다

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 15:45:51 +09:00
ypshimandClaude Haiku 5.5 2acb427bab feat(rebar): 상면 주철근 단 간격(세로) 입력 100 mm, 가로는 2d 고정
- 세로 단 간격은 입력(기본 100, 범위 80–120)으로 상면 C1–C6, C14 상면, 기둥 C3 높이에 쓴다
- 가로 단 간격은 2d(H29, 57.2 mm)로 고정 (코핑철근.md의 s_lay 하나를 둘로 나눔)
- P1 기준 값 갱신: 상면 높이 43.284 / 43.184 / 43.084, C14 상면 43.208 / 43.108, P1 위 끝 zTop1 14776

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 15:42:40 +09:00
ypshimandClaude Haiku 5.5 9c93a6aa01 feat(rebar): 코핑 배근 입력 12개 · CP01·CP02 검사 · 적용 버튼
- core/rebar/coping-settings.ts: 입력 정의, 기본값(코핑철근.md), 범위(코핑_입력범위_제안.md), 검사 함수
- 다리 수는 4·6·8 목록으로 두고 홀수는 CP02로 막음
- 값은 적용 버튼을 누를 때만 draft에 쓰고 다시 생성 (범위 밖이면 반영하지 않음)
- PierInput.copingRebar, 모델 copingRebar, 변경 추적 키 추가

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 15:26:20 +09:00
ypshimandClaude Haiku 5.5 ec402e22d7 feat(rebar): 단면·폐합 at two fixed stations side by side (단부 0.3 m, first column centre)
- The station input is removed. The section shows the 단부 (first shear
  station, from the 3D bar records) and the first column centre, side by side.
- The 상면 간격 label is removed.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 15:15:47 +09:00
ypshimandClaude Haiku 5.5 64539c63d6 feat(rebar): 단면·폐합 section shows only C1–C8 and C12·C13, with the top spacing labelled
- Other bars (C9–C11, C14–C16) are left out of the section; bubbles only for C1–6, C7·8, C12·13.
- The top-row chain carries the label 상면 간격.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 15:09:38 +09:00
ypshimandClaude Haiku 5.5 d5bf02e36b feat(rebar): 단면·폐합 section with the top-row and side-row chains and bar-group bubbles
- Top row (C1–C8) spacing along the 교축 from chainDims, between the coping's
  two long edges (±B/2).
- Side rows (C12·C13) along the EL, from the coping top EL down to the lowest
  side bar.
- One bubble per bar group cut at the station, with a leader to its bars.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 15:05:37 +09:00
ypshimandClaude Haiku 5.5 41c1ecd340 fix(rebar): draw the lower 정면 chain and the 기둥 중심 tick at the column position
- The chain is computed from the column centre (0) and is now drawn at the
  column's position on the coping (x = column s), so the 0 sits on the column.
- P1: the 10@1000 span runs from 1000 to 11000 mm, centred on the column at 6000 mm.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 15:01:08 +09:00
ypshimandClaude Haiku 5.5 a4ae6de485 fix(rebar): 정면 dimension labels larger and the lines spaced clear of the 코핑 길이 text
- The two chains are raised and their labels enlarged (220 mm).
- 코핑 길이 sits above both chains; 기둥 중심 has its own line between them.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 14:57:53 +09:00
ypshimandClaude Haiku 5.5 a18a15db7b feat(rebar): 정면 dimension chains computed from the 3D bar positions (기둥 중심 = 0)
- chainDims groups the repeated gaps (n@pitch = total) and writes a single gap as its length.
- Top chain: the 전단·띠 stations (C9 @250, C10 @300) from the coping ends.
- Lower chain: the upper C14 bars measured from the column centre (0), so
  the 10@1000 span starts at the column centre.
- Stations are the lowest s of their pieces; pieces within 160 mm are one station.
- P1 gives the 시안 values: 300 · 18@250=4500 · 8@300=2400 · 18@250=4500 · 300 and
  900 · 10@1000=10000 · 900.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 14:54:45 +09:00
ypshimandClaude Haiku 5.5 c0d46220fd feat(rebar): second dimension line and legend on the coping 정면 (시안 ③)
- The column-centre line 900 · 10@1000=10000 (기둥 중심부터) · 900, from the
  design values, under the first dimension.
- A legend of the bar groups and their colours under the drawing.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 14:46:38 +09:00
ypshimandClaude Haiku 5.5 a509d00532 feat(rebar): bar-group bubbles and the length dimension on the coping 정면 (시안 ③)
- Nine bubbles (C1–6, C12·13, C9, C10, C11, C7·8, C14, C15, C16), each with a
  leader to the middle of its bars.
- The top dimension 300 · 18@250=4500 · 8@300=2400 · 18@250=4500 · 300, drawn
  only when it adds up to the coping length.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 14:45:16 +09:00
ypshimandClaude Haiku 5.5 32cf01a29f fix(rebar): section labels once per bar and spots once
- The coping section listed every piece of a bar as its own crossing, so the
  same spot and name were drawn many times. Each spot is drawn once and each
  bar name is written once.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 14:28:33 +09:00
ypshimandClaude Haiku 5.5 57f7c148ec feat(rebar): coping front view and 단면·폐합 section from the 3D bar records (승인 2026-10-26)
- rebar3d records every bar (name, stretch, local points, diameter) next to its
  mesh, so the 2D drawings use the same data as the 3D view.
- view/coping-rebar-svg.ts: the 정면 (along the coping length, EL vertical) and
  the 단면·폐합 at a chosen station (the bars crossing it, C9–C11 loops included).
- ③ coping tab: 정면 / 단면·폐합 toggle and the station input.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 14:27:03 +09:00
ypshimandClaude Haiku 5.5 32e8dad7dc fix(rebar): S1 layout dimensions on the outer side of each block in the plan
- The front block's S1 layout goes on the left and the back block's on the right,
  so the text no longer falls into the gap between the two blocks.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 14:22:00 +09:00
ypshimandClaude Haiku 5.5 f1b2a0241d fix(rebar): turn the S1 layout dimension to run along the 교각축 beside the block
- The S1 layout runs along the 교각축 (vertical in the plan), so its text sits
  beside the block, turned to match, instead of across the gap between blocks.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 14:21:02 +09:00
ypshimandClaude Haiku 5.5 fa1ec3e864 feat(rebar): dimensions on the block rebar plan
- The S2 layout along the 교축 (below the block), the S1 layout along the 교각축
  (beside it), and the block width, in the same form as the C–C section.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 14:19:52 +09:00
ypshimandClaude Haiku 5.5 dd590b899c feat(rebar): plan view of the block rebar with the 단면/평면 switch (승인 2026-10-26)
- view/block-rebar-plan-svg.ts: the selected pair from above — S2 lines along the
  교각축 (spaced at S2 across the 교축), S1 lines along the 교축 (spaced at S1),
  each end a dot (leg); the bar sets carry the row numbers only (S1, S2).
- The ③ card switches between the C–C section and the plan.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 14:18:37 +09:00
ypshimandClaude Haiku 5.5 521979b437 fix(rebar): cut the C–C section through the selected pair only
- The section was drawing every bearing on the same 교축 line, so the blocks and
  dimension text stacked on top of each other. It now cuts through the selected
  pair (①·⑥ …), which the ③ card also shows as chips, shared with ②.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 14:14:31 +09:00
ypshimandClaude Haiku 5.5 38bb26eda5 feat(rebar): block rebar settings card and C–C section on the ③ bearing tab
- Six inputs with their ranges and P1 defaults; a change regenerates the pier.
- The 적용 블럭 line shows the blocks (분리 n개 or 일체 n쌍, 전체).
- view/block-rebar-svg.ts: the section C–C along the 교축 with the S2 dots, the
  S1 lines and legs, and the dimensions (block widths, the S2 layout).
- 받침블럭 철근 설정 is tracked for changes (defaults vs the current draft).

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 14:12:36 +09:00
ypshimandClaude Haiku 5.5 a6f362df56 feat(rebar): range checks for the block rebar settings (승인 2026-10-26)
- RB01 a setting outside its range (cover 50–100, side cover 50–100, first gap
  0–150, spacing S1/S2 100–200, leg 500–1000); RB02 S1 depth at or above the
  block height; RB03 the legs do not reach into the coping.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 14:10:49 +09:00
ypshimandClaude Haiku 5.5 e1497176ea feat(rebar): block rebar settings as input (S1·S2 spacing separate, S1 depth from the cover and bar diameters)
- PierInput.blockRebar (partial): cover top, side cover, first gap, spacing S1
  and S2 (separate), leg length. Defaults are the P1 values, so P1 is unchanged.
- S2 depth = top cover; S1 depth = top cover + S1/2 + S2/2 (H19: 69.1 at the default).
- The model carries the settings; the bearing-block rebar, the 3D bars, and the
  summary use them.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 14:08:58 +09:00
ypshimandClaude Haiku 5.5 c4d4957dd2 feat(bearing): show each bearing's 방위 in the plan and turn the overlays with it
- Blocks, solplates, and the dashed drawing outlines are turned by the bearing's
  방위 (rowSkewDeg), the same turn as the 3D block; each bearing is labelled
  with its 방위 in degrees.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 13:24:20 +09:00
ypshimandClaude Haiku 5.5 9b3b465bfa fix(bearing): show the offset between the two bearings as it is in the plan
- Blocks, solplates, and bearing centres sit at their real 교각축 positions;
  the pair's offset is not aligned away. The 편심 is written on the figure.
- C4 and C5 dimensions run from the block edges to the bearings.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 13:22:11 +09:00
ypshimandClaude Haiku 5.5 2f67efd449 fix(bearing): C4 and C5 are the 교각축 distances from the bearing to the block edges (승인 2026-10-26)
- bearingEdgeDistances measures along the 교각축: 분리 600 / 600; 일체 from the
  pair block centred on the mean 교각축 position (P1 outer margins 557).
- Table headings updated; C1 · C2 · C3 on the plan are measured on the 교축 from the drawn positions.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 13:17:50 +09:00
ypshimandClaude Haiku 5.5 29acfba1e1 feat(bearing): C4 and C5 as vertical dimensions on the left, as in the 시안
- C4 runs from the block top edge to the bearing row, C5 from the bearing row
  to the bottom edge. The values are the model's C4 and C5.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 13:16:31 +09:00
ypshimandClaude Haiku 5.5 da58fbfdbe feat(bearing): plan with the blocks on one row, axis arrows, and C1·C2·C3 dimensions
- Blocks and solplates are drawn on one line across the 교축; the 교각축 offset
  of the bearings is written as text.
- Arrows for the 교축 (horizontal) and the 교각축 방향 (vertical).
- Dimensions along the bottom: C1 (bearing to block edge), C2 (between the
  bearings), C1, and C3 (block span).

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 13:14:12 +09:00
ypshimandClaude Haiku 5.5 0b847e7547 feat(bearing): section and solplate detail drawings with the drawing values overlaid (승인 2026-10-26)
- view/bearing-section-svg.ts: the pair's elevation — blocks (일체: one stepped
  outline), mortar, bearing body and solplate per bearing from the model; the
  drawing heights overlaid dashed. EL.X at the mortar top, E = h1 + h2 + h3 + h4.
- view/solplate-svg.ts: per bearing, the plan L × W and the taper T1 · T2
  (S %), with the drawing values dashed.
- ② bearing card: section figure and the two solplate figures under the plan.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 12:33:05 +09:00
ypshimandClaude Haiku 5.5 0708aa1354 fix(bearing): show only the outer block margins as C4 and C5
- A 일체 pair's inner sides face the other bearing, so they are not C4 or C5:
  they are null and shown as "—" in the 배치 규칙 table.
- The table headings now describe the 교축 margins (bearing to the outer block edge).

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 12:30:21 +09:00
ypshimandClaude Haiku 5.5 9b79083d50 fix(bearing): C4·C5 are the 교축 distances from the bearing to the block edges (승인 2026-10-26)
- bearingEdgeDistances now reads the block geometry: 분리 1200 blocks are
  centred on the bearing (600 / 600); 일체 uses the pair's 2500 block (outer
  margins 601, within the 5 mm tolerance of 600).
- The plan labels C4 and C5 from these values; the coping-edge definition is removed.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 12:25:15 +09:00
ypshimandClaude Haiku 5.5 b3a62850ab feat(bearing): plan of a pair with block outline and overlaid drawing values (승인 2026-10-26)
- C4·C5 measured across the coping width (교각축 직각): the two coping edges
  at ±B/2 to the bearing centre. The former along-the-axis definition is replaced.
- view/bearing-plan-svg.ts: the plan of one pair with the model's solplates
  and the block outline(s) (일체: one 2500 × 1200; 분리: two 1200 × 1200), and
  the drawing A/B overlaid as dashed outlines.
- ② bearing card: 상세 보기 pair chips (①·⑥ …) and the overlay toggle.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 12:19:14 +09:00
ypshimandClaude Haiku 5.5 43a18182f3 feat(bearing): 일체 block as one stepped block per pair, with its rebar (승인 2026-10-26)
- integrated-block.ts: per pair (전열 k · 후열 k) one block centred on the
  pair midpoint, 2500 across the 교축 and 1200 along the 교각축, with a
  stepped top (each half to its own bearing row top). Only when 일체 is chosen
  and every pair is within 100 mm; otherwise 분리 is kept (B02).
- Rebar: S2 19 bars at 125 across the 2500 (10 front half, 9 back half), each
  leg from its half's top; S1 8 bars across the 1200, 3800 long, depth from
  the lower top. Totals per pier: S1 40, S2 95 (분리: 80 / 80).
- Scene and 3D rebar draw the stepped blocks instead of the per-bearing blocks.
- The per-bearing blocks stay for the solplate, the pads, and the body.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 12:02:33 +09:00
ypshimandClaude Haiku 5.5 2af5cfb144 feat(bearing): 일체 choice gated by the pair eccentricity rule (승인 2026-10-26)
- PierInput.bearingLayout: 분리 (default) or 일체, tracked for changes.
- 일체 is selectable only when there is at least one pair and every pair is
  within 100 mm; otherwise the chip is disabled with the reason.
- Validation: B01 (info) when 일체 is chosen and allowed, the block shape is
  still the 분리 shape; B02 (warning) when it is not allowed and the model
  falls back to 분리.
- The 일체 block shape (2500 × 1200) is not modelled yet.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 11:56:26 +09:00
ypshimandClaude Haiku 5.5 cd18665d6a feat(bearing): model C4/C5 and the front–back pair eccentricity (승인 2026-10-26)
- C4/C5 = distance from the coping edge to the bearing centre along the
  coping length, from the model; the drawing value is for comparison only.
- A pair is a front and back bearing of the same order within their row. A
  pair with an eccentricity above 100 mm forbids 일체 (분리 first).
- ② bearing card: read-only table of C4/C5 and the pair eccentricities.
- The 일체 block model is not built yet.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 11:49:27 +09:00
ypshimandClaude Haiku 5.5 d77f2bfd17 feat(bearing): 받침 종류·용량 as a text input (default 탄성받침)
- PierInput.bearingType: text, absent = 탄성받침. Tracked for changes, so it
  can be reverted. Saved in the project; no rule yet, so it does not change the model.
- Shown on the ② bearing card above the 공통 규칙.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 11:39:28 +09:00
ypshimandClaude Haiku 5.5 b6e7f36091 feat(ground): 해상 selectable with MSL levels, 고조위·저조위, and checks
- Rules confirmed (승인 2026-10-26): datum MSL; 고조위 HWL and 저조위 LWL as
  two levels; 세굴 깊이 as for 하상; 파랑과 선박 하중 excluded from this scope.
- Checks: G13 levels missing, G10 해저면 not below 고조위, G11 저조위 not
  below 고조위, G14 pile wall at or below the corrosion allowance reference.
- CORROSION_ALLOWANCE_MM = 1 is a PLACEHOLDER reference (not in the RAG
  documents); the card and G14 mark it as to be confirmed.
- Card: the 해상 inputs; the section draws 고조위 (solid), 저조위 (dashed),
  and labels the ground line 해저면 EL.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 11:11:31 +09:00
ypshimandClaude Haiku 5.5 26a5aff517 feat(ground): 하상 selectable; 설계홍수위 and 세굴 깊이 for 하상
- shape-options: a per-option "confirmed" flag; 하상 is confirmed, 해상 is not.
- The 위치 chips store the choice in the pier's draft; 선택 shows it.
- 하상: the groundwater inputs give way to 설계홍수위 DHWL (floodLevelEl) and
  세굴 깊이 (scourDepthM). The groundwater value is kept (남겨두기).
- Checks: G07 DHWL missing, G08 DHWL below the 지반고, G09 scour negative or
  the scour line below the footing bottom. The groundwater check is skipped for 하상.
- Section: the DHWL as a solid line and the 세굴선 dashed.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 11:06:10 +09:00
ypshimandClaude Haiku 5.5 7b5517e312 feat(ground): N value per layer row (text, blow count or 타수/관입량 mm)
- StrataRow.nValue: text. "23" is a blow count (0–100), "50/5" a refusal
  (50 blows for 5 mm, 1–300 mm). Empty means not known yet.
- G06 (warning): a malformed N value. Strict, because the values will feed the
  bearing-capacity and liquefaction checks.
- The layer table has an N값 column; the project file checks that the rows
  are well formed.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 10:48:37 +09:00
ypshimandClaude Haiku 5.5 7dd59dfc6c fix(ground): one 위치 control on the card and clearer layer labels
- The 위치 buttons duplicated the 형상 옵션 chips above the card. The chips
  stay the one place for 위치 (only the default is selectable until Q6).
- The water-level row lays out as a flex row, so its label and input do not
  overlap.
- The 연암 상면 caption sits just under the line instead of over the band label.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 10:41:21 +09:00
ypshimandClaude Haiku 5.5 325c841733 feat(ground): pile-tip embedment check and soil layers from the ground model
- ground.ts: G04 when a pile tip is above the 연암 상면 minus 1.0 × D; G05
  (info) when layers are entered but there is no 연암 row. No message while
  no layers are entered at all.
- ground-model.ts: reads the Python soil.layers as strata rows; the project
  file keeps and checks them.
- ② card: a button fills the layer rows from the ground model for the pier.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 10:35:41 +09:00
ypshimandClaude Haiku 5.5 16ab317094 feat(ground): 지반·지층 card inputs, layer rows, water level, section drawing
- types/ground.ts: 위치 (육상·하상·해상), 지하수위 고려 and EL, 지층 행
  (name and 하단 EL, from the top down). Checks G01 (layer order), G02 (water
  level range), G03 (layer name).
- The 지반고 still feeds the soil cover check; the layer rows and water level
  are inputs and do not change the 3D model.
- view/ground-svg.ts: the 삽도 drawn from the inputs and the generated
  footings and piles on one EL scale.
- 일괄 적용 copies 위치 and 지하수위 to the checked piers (속성 복사 item,
  off by default). Changes list shows arrays and booleans as text.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-26 10:11:42 +09:00
ypshimandClaude Haiku 5.5 0e70cfb969 refactor(ground): remove the unversioned-file fallback
- A file without a schema number is refused again; the example output in
  RAG/pierzainer_ground now has schema 2, so the temporary path is not needed.
- The legacy fixture is removed; tests cover the missing and null schema
  numbers and a pier without a ground object.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 18:09:50 +09:00
ypshimandClaude Haiku 5.5 bfd41d7c8d feat(ground): draw the terrain grid around the piers in the 3D view
- ground-model.ts: read schema 2 terrain_grid (origin, step, nx, ny, z),
  checked the same way as the stored project form; schema 1 is still read.
- view/terrain.ts: the grid as a mesh in pier-scene coordinates
  (x = E − pivot E, z = −(N − pivot N), y = EL), same as the pier frame.
  Cells with a missing corner are not drawn.
- scene.ts: draws the terrain in place of the 60 m plane when the model has a
  grid; the camera fits the members, not the terrain.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 17:57:30 +09:00
ypshimandClaude Haiku 5.5 be76425c8f feat(ground): accept ground_model.json written before the schema number
- A file with no `schema` key is read as schema 1, but every pier must have a
  `ground` object, so a renamed field is refused instead of loading as empty.
- `schema` null or any other number is still refused.
- The project file keeps the normalised model and checks it with its own
  check (checkStoredGroundModel), so a saved model reopens.
- Temporary: remove the no-schema branch once examples/out is regenerated.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 17:41:24 +09:00
ypshimandClaude Haiku 5.5 c3606011b5 feat(ground): load ground_model.json and apply the pier-centre ground EL
- ground-model.ts: read and check schema 1 of the Python ground model.
- ② 지반·지층 card: import the json, show the DTM value beside the excel
  value, and apply it only when the user presses the button (tracked as an
  override, revertible).
- groundEl becomes an editable, tracked input; the project file keeps the
  imported model and checks it on open.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 16:48:27 +09:00
ypshim 304b350481 Revert "fix(rebar): warn when the pile spacing along a 열 is above the 2250 mm maximum"
This reverts commit d61e5d082f.
2026-10-23 16:20:44 +09:00
ypshimandClaude Haiku 5.5 d61e5d082f fix(rebar): warn when the pile spacing along a 열 is above the 2250 mm maximum
The card only checked the minimum spacing. A 12000 mm footing with 5 piles per 열 gives 2650 mm, above the maximum. The card
now marks such a row ("최대 2250 mm를 넘습니다. 본수를 늘리세요") and the alert list gets a warning (P02). Tests check 5 and 6
piles on a 12000 mm footing.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 16:20:37 +09:00
ypshimandClaude Haiku 5.5 65f8ca2279 test(rebar): the footing rebar follows the footing inputs (L, W, H); P1 unchanged
The B-bar counts are computed from the footing dimensions already, so no formula change was needed. Tests check the P1
values, that a wider and longer footing adds B1–B8 bars, and that a 2200 mm height builds rebar and 3D.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 16:16:47 +09:00
ypshimandClaude Haiku 5.5 174a026cc1 feat(view): dimension lines on the plan — overall length and width, and the pile chains (끝단 거리 700, 간격 2250)
The plan has overall dimension lines (length along the top, width at the right) and two chains: along the length, the
distances from the footing edge to the first pile and between piles; across the width, the same for the pile rows. The
chains are read from the pile positions, so they follow the layout.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 16:15:39 +09:00
ypshimandClaude Haiku 5.5 6050435af1 feat(view): dimension lines on the 정면 — footing length above, h1 at the right, the visible pile length at the left
The side view has dimension lines with 45° ticks: the footing length (mm) above the footing, the footing height h1 at its right,
and the visible pile length (끊음) at its left. The margins are wider (1.5 m) for the labels; the plan uses the same margin so the
two views stay aligned. The old h1 label is replaced by the dimension label.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 16:14:08 +09:00
ypshimandClaude Haiku 5.5 f76bfc9d5a fix(view): footing labels read at about 11 px (0.5 m in the 22 px/m drawing)
The dimension labels were 0.28 m, about 6 px on screen. They are 0.5 m now, so the mm values can be read.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 16:12:12 +09:00
ypshimandClaude Haiku 5.5 c0a4ce57ad fix(view): the 끊음 marks are short "//" breaks, and the pile label sits clear below them
The break lines ran across the members at a slant. They are now two short slanted strokes on the column stub and across the
pile group, and the pile label is moved below the break.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 16:11:21 +09:00
ypshimandClaude Haiku 5.5 a2e4648f7b feat(view): side view (정면) to the right of the footing plan on one scale; 본수 card, plan and side in one row
Plan and side use the same scale (22 px per m) and share their horizontal extent, so the footing lines up. The side view breaks
the column (3 m above the footing) and the piles (4 m below it) so its height stays near the plan's. The row is three columns
from 1100 px, the side view drops to its own row between 800 and 1100 px, and it stacks below 800 px.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 16:10:14 +09:00
ypshimandClaude Haiku 5.5 4477bbe52c feat(view): the 열별 본수 card sits beside the footing plan on ② (grid, stacks on narrow screens)
The pile-count card (−/+ and the 20본 total) is on the left and the plan on the right, in one row; the side view is below.
Changing a count is now seen on the plan next to it. The layout stacks below 800 px.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 16:07:52 +09:00
ypshimandClaude Haiku 5.5 675f8124ca feat(view): 확대기초·말뚝 plan and side drawings on ② (2단계), drawn from the model
The footing card shows a plan (footing rectangle, pile circles, column, pier axis, mm labels) and an elevation (footing,
piles to their tips, column, h1 and pile length). The drawings are SVG strings built from the model, so they follow the
inputs. θ is noted as not yet applied. Tests check the pile count, the mm labels and the width input.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 16:02:37 +09:00
ypshimandClaude Haiku 5.5 df19cc47e9 feat(view): 확대기초·말뚝 inputs on ② (입력만): footing L, W, h1, blinding margin and thickness, steel and PHC pile lists
The footing card takes L, W, h1 (default 2000), the blinding margin on each side (100) and thickness (100). The pile is picked
from the 강관 or PHC list by outer diameter and wall; the inner diameter, area and weight are read from the list. Defaults are
the 1단계 constants, so P1 is unchanged. The model reads them (footing width, height, blinding, pile diameter; the footing
length for grouping). 복합 말뚝 and the rule-pending items stay disabled; the footing rebar is not yet tied to these
inputs (1·2단계 후).

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 16:01:02 +09:00
ypshimandClaude Haiku 5.5 e580677887 fix(view): round the lengths shown in the 재료표 and in the Excel rows to 0.1 mm
Single-piece lengths such as the B9 and C7 pieces showed long unrounded decimals (2128.1174619702915). They are rounded to
0.1 mm for display and in the Excel rows; the totals are unchanged.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 15:54:17 +09:00
ypshimandClaude Haiku 5.5 65c53f2b5d feat(view,rebar): column diameter D as a free input on ② (1200–3000 mm, 50 mm steps), with three checks
D is an input on the column card (default 2000 mm). The 3D column, the piles of a cast-in pier and the column rebar follow it;
n_div stays 46. Three checks run on each regenerate and appear in 알림: D below the Level width (2100), D + 2c within the
coping width, and the 주철근 arc spacing ≥ max(1.5·d_b, 40). Spec §5.2 records the rule (approved 2026-10-23).

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 15:50:52 +09:00
ypshimandClaude Haiku 5.5 a6b92ae341 fix(view): pick the solplate table's header by its row (L, W, T, T1, T2), not by the first "S(%)" label
The drawing has two "S(%)" labels; the first one in the file belonged to another table, so the solplate header was missing.
The header is now the S(%) label with the most solplate column names on its row. The full 운곡교 교각도(2) DXF reads all ten
solplate rows; a test adds a stray label.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 14:58:12 +09:00
ypshimandClaude Haiku 5.5 22fd1dc5f4 feat(view): solplate taper across the 교각축 직각 (thick T1 at the (−) side); 교량받침 본체 as a box
The solplate's L (A + margin) runs across the 교각축 직각 and its W (B + margin) along the 교축; the top tapers across L with
T1 at the (−) side (T1 = T + L·|S|/200). The 교량받침 본체 is one box per bearing: the solplate plan less 100 mm on each
side, from the mortar top (EL.X) up h3 = 181 mm, turned with the bearing row. It is shown with the bearing group.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 14:56:26 +09:00
ypshimandClaude Haiku 5.5 a108a76707 fix(view): the reference fill also sets A, B and S, so the solplate appears; warn for bearings without solplate values
"도면값 채우기" set only EL.X, h1 and h2, so no solplate was drawn. It now also sets A, B and the solplate slope S from the
reference values. The bearing card warns how many bearings lack A, B or S.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 14:49:50 +09:00
ypshimandClaude Haiku 5.5 a50f4f5ee5 feat(view): solplate in the 3D model (2단계): wedges from the drawing's A, B, S; read the solplate table from DXF
Each bearing gets a solplate wedge: tapered along the 교축 with T1 on the 시점 side, underside at the bearing top (block
top + h3). A, B come from the drawing's ELEVATION table, S and T1/T2 from the SOLPLATE table (NO, S(%), L, W, T, T1, T2),
read by position. The 공통 규칙 (T 30, margin 100, h3 181) feed the plan; changing them regenerates the piers. A new
"솔플레이트" part can be shown or hidden. A solplate table is read only when its S values are found; a missing S is reported.
Also commits the option-1 test change (drawing EL.X minus Excel z).

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 14:46:53 +09:00
ypshimandClaude Haiku 5.5 1d8746d533 feat(rebar): solplate geometry (pure) — tapered along the 교축, thick end T1 on the 시점 side
Per bearing: L = A + margin along the 교축 (s), W = B + margin across it; the underside is the bearing top (block top
EL.X + h3); the top tapers from T1 = T + L·|S|/200 at the 시점 side (−s) to T2 = T − L·|S|/200 at the 종점 side, so
T1 + T2 = 2T and the volume is L·W·T. Corners follow the bearing row (rowSkew). Tests cover L, W, T1, T2, the underside,
the volume and the centring. The model and the 3D do not use it yet.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 14:42:31 +09:00
ypshimandClaude Haiku 5.5 55abc4be13 fix(view): find the table's header and No column by their place on the table row, not by the first label in the file
The drawing has other "EL.X" and "NO" labels. The header is now the EL.X label with the most table column names to its right
on the same row; the No header is the NO label on that row. The full 운곡교 교각도(2) DXF reads all ten bearings (EL.X, h1, h2)
without errors. Tests add the distractor labels.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 14:36:50 +09:00
ypshimandClaude Haiku 5.5 4048c326e3 feat(view): read the bearing ELEVATION TABLE from a DXF drawing (교각도(2) P1) by position
The reader takes TEXT and MTEXT entities (x, y, text). The EL.X header row names the columns; the No column holds the
bearing numbers; each value is the nearest entry under its header on the same row. On the 운곡교 교각도(2) drawing all ten
bearings read back the reference values (EL.X, h1, h2). The 도면 불러오기 button accepts .dxf as well as sheets. The test
fixture holds only the table's text entries.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 14:34:33 +09:00
ypshimandClaude Haiku 5.5 6f32bd96c4 feat(view): 도면 불러오기 — read the bearing drawing values from an xlsx or csv sheet on ②
The sheet needs the header names No, EL.X, h1 and h2 (case, spaces, dots and units in parentheses are ignored). Rows are
checked: No must be a unique positive integer, EL.X must be in metres (30–100), h1 and h2 must be positive mm up to 1000.
Any error stops the import with the first messages; a valid sheet fills this pier's drawing values and regenerates the
pier. The parser is pure and tested.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 14:28:06 +09:00
ypshimandClaude Haiku 5.5 e4e141c801 feat(rebar,view): 받침 기준 — project-wide choice between Excel z (default) and drawing EL.X, with per-bearing drawing input on ②
The project has one basis: 엑셀 z (default) or 도면 EL.X. On ②, the bearing card lists EL.X, h1 and h2 for each bearing
(per pier), with a button to fill the reference values. With the drawing basis the model takes the drawing EL.X as the
bearing height; the coping tops stay within the 5 mm tolerance, the front block is 164 mm and the back 139 mm (excluding the
pad). The check compares EL.X − h1 − h2 with the Excel-basis coping top. The basis and the drawing values are saved in the
project file (optional fields). Changes regenerate every pier at once.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 14:25:44 +09:00
ypshimandClaude Haiku 5.5 802a1eab97 fix(view): EL.X = block top including the 50 mm mortar; coping top = EL.X − h1 − h2 (matches the model)
With this definition the drawing's coping top matches the model's coping top to within 1 mm on all ten bearings. The earlier
0.211 m offset came from reading EL.X as the solplate top, which was wrong. The reference table now uses EL.X − h1 − h2,
and the check tests the match.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 14:17:12 +09:00
ypshimandClaude Haiku 5.5 553c696638 feat(view): bearing 공통 규칙 inputs (mortar h2, bearing h3, solplate T, margin) and recalculated E, L, W, T1, T2
On the bearing card, four inputs drive E = h1 + h2 + h3 + h4, L = A + margin, W = B + margin and T1/T2 = T ± L·|S|/2. The
defaults are the drawing values, so every row gives back the drawing values; changed rows are marked. The values are screen
state for now and do not change the model or the project file (Q16 stays open).

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 14:12:36 +09:00
ypshimandClaude Haiku 5.5 64795e0a19 fix(view): solplate reference shows centre T = 30 with the (−) and (+) side thicknesses (taper along the axis)
The solplate tapers along the bridge axis. T is the centre thickness (30), T1 the thickness on the 교각축 직각 (−) side
(38) and T2 on the (+) side (22); T1 + T2 = 2T. The table's T column had shown the (−) side value, so T is now 30 on every
row. A test checks T1 + T2 = 2T.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 14:10:23 +09:00
ypshimandClaude Haiku 5.5 ee6848c418 feat(view): bearing reference tables on ② (drawing values, read-only, not used in the model)
The P1 상세도 ELEVATION TABLE and 솔플레이트 TABLE are shown on the bearing card. The model does not use them (Q16). The
ELEVATION table compares the drawing's coping top (EL.X − E) with the model's coping top; the difference is a constant
0.211 m on all ten bearings. The solplate table checks T1 and T2 against T ± L·|S|/2 with the 공통 규칙 T = 30 mm; all
rows match. Tests check E = h1+h2+h3+h4, L and W, the T1/T2 rule, and the constant offset.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 14:02:27 +09:00
ypshimandClaude Haiku 5.5 4d5e3cc04e feat(rebar): P3 and P6 end at the coping middle level; e_top computed from it
The coping middle level is (Level underside + step top)/2. P3's top and P6's upper limit are this level, and e_top is the
step top minus it (P1: 1322, replacing the 1623 reverse-engineered value). On P1 P3 goes from 38 to 39 ties and P6 stays at
8 levels. With taper h2 = 3000 the middle level is 13275: P3 37 ties, P6 8 levels (32 bars), e_top 2072.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 13:30:28 +09:00
ypshimandClaude Haiku 5.5 f989315e02 feat(rebar): P1 top = C3 − 100 with e_P1 computed; coupler rule keeps 2.5 m below the P1 top
e_P1 is no longer an input: P1 top = C3 (lowest coping top − 127 − 2·57.2 = 43.170) − 100 = 43.070, so e_P1 = step top −
43.070 = 485 mm. The P1 top moves from 15147 to 14862 mm; the top piece shortens by 285 mm. Couplers are placed at k·3000
with at least 2500 mm below the P1 top (a value to confirm). On P1 the coupler count stays at four (3, 6, 9, 12 m). P2 and
the tie top do not change.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 13:19:09 +09:00
ypshimandClaude Haiku 5.5 f37a0bf9ce fix(rebar): column heights Hc and h_cop from the model (Level underside, step top) instead of P1 constants
Hc = Level underside − footing top, and h_cop = step top at the column centre − Level underside. P1 gives 12703 and 2644,
unchanged. With taper h2 = 3000 the Level underside moves down, so Hc = 11203 and the P2 top (Level underside + l_d)
moves to 13039, while the P1 top stays at the step top (15147). The 3D and the 철근표 use the same heights.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 13:10:51 +09:00
ypshimandClaude Haiku 5.5 df6aeb5c46 fix(rebar): side rows on the 250 grid up to the 400 mm top margin, not a fixed count of seven
C12 and C13 come from one grid from the Level underside + 127 at 250 mm, up to top − 400 mm (상면 여유). The fixed count of
seven rows is kept only for callers that give no top. P1 is unchanged (C12 5, C13 2); a taper of 3000 mm now gives C12 11
and C13 2, and the C13 first row is always the last C12 row plus 250.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 12:31:58 +09:00
ypshimandClaude Haiku 5.5 7ff2f7b53f docs(rebar): note on the C12 row that the drawing's bottom 6th row is C7·C8 (no added bars)
The 250 grid runs from the Level underside + 127 for C12 and C13 together. The drawing's sixth C12 row at the bottom is the
bottom bar C7·C8 (코핑철근.md §6.1), so no bars are added and the counts stay the same.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 12:16:48 +09:00
ypshimandClaude Haiku 5.5 355bf4ea75 feat(rebar): C12 in the taper band (h2) and C13 in the end band (h1), from the coping geometry
The split between C12 and C13 follows the end underside, not a fixed level: C12 rows lie between the Level underside and
the end underside (taper height h2), C13 rows between the end underside and the top (end height h1). The break is the end
underside + 127 mm, the taper line's start at the end face. P1 is unchanged (C12 41.288–42.288, C13 42.538–42.788). Tests
check the band rule for h1 and h2 changes.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 12:03:24 +09:00
ypshimandClaude Haiku 5.5 ecaa45306c docs(rebar): record that the side-row levels follow 코핑철근.md §6.1 (z_0 = Level underside + 127)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 11:52:49 +09:00
ypshimandClaude Haiku 5.5 0a5edfb152 feat(rebar,view): coping end height h1, taper h2 and Level width as inputs on ② (1단계)
The three values are inputs on the coping card, with the P1 values (1000 · 1500 · 2100) when absent, and they are tracked
like the other shape inputs. The geometry and the coping rebar read them from one CopingGeom: the U heights follow the
closed form (h1 − 2c) + h2·min(x_s, x_L0)/x_L0, which reproduces the P1 values. The side rows are assumed to keep their
position relative to the Level underside (명세 확인 필요). P1 results are unchanged; the full suite passes.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 11:44:44 +09:00
ypshimandClaude Haiku 5.5 5b5db60657 feat(view): ② coping card shows d_IP2 and the 계단 구간 표 (read-only, from the model)
The coping card lists d_IP2 and a table of the step segments: range, front and back coping tops, the lateral step, and
the block heights including the 50 mm pad (150 / 200 as in the 삽도). The table is read from the model; nothing new is
computed or entered. Tests check the P1 values against the 삽도.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 11:40:09 +09:00
ypshimandClaude Haiku 5.5 b5eb0d68c0 feat(view): move all 3D info panels to the right stack (부재 표시, 시점, 색 기준, 원점)
The four panels are in one stack on the right of the 3D view, 180 px wide, with the ⓘ origin note opening to its left.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 11:33:45 +09:00
ypshimandClaude Haiku 5.5 0889ebfc34 feat(view): move all 3D info panels to the left stack (부재 표시, 시점, 색 기준, 원점)
The right stack is gone. 색 기준 and the ⓘ origin note now sit under 시점 in the left stack, so every 3D info panel is on the
left. The stack is 180 px wide; the origin note opens to the right of its button.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 11:33:06 +09:00
ypshimandClaude Haiku 5.5 86a4b2fd80 feat(view): drop the 3D title band; pier name in 교각 목록; view menu under 부재 표시, origin under 색 기준
On wide screens the pier name moves to the 교각 목록 (name · type), the band is gone and the 3D view takes the full height.
A left stack holds 부재 표시 and then 시점; a right stack holds 색 기준 and then the ⓘ origin note. The active pier is scrolled
into view when it changes. Below 600 px the title is kept above the model and the stacks sit below it.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 11:31:46 +09:00
ypshimandClaude Haiku 5.5 e66c259d1e feat(view): collapsible 시점 menu, origin toggle, and remembered panel states on the 3D band
The title stays. The view buttons become a menu that shows the current view and closes on a choice, Esc or an outside
click. The origin note is an ⓘ toggle. 부재 표시 and 색 기준 are collapsed by default and show their state in the summary
(e.g. 부재 표시 7/7 ▾, 색 기준: 역할 ▾); their open state is remembered per viewer, with guarded storage access.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 11:24:43 +09:00
ypshimandClaude Haiku 5.5 678215267c feat(view): on narrow windows only, the 시점 buttons move to the right of the 3D title band
Between 601 and 1100 px the title stays on the left and the view buttons and origin note sit on the right. Wider windows
keep the current order; below 600 px the band wraps as before.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 11:19:32 +09:00
ypshimandClaude Haiku 5.5 2902404061 feat(view): 3D area with a thin title band and collapsible info panels left and right
The title, view buttons and origin sit in one 44 px band on the model. 부재 표시 is a collapsible panel on the left and
색 기준 (③ only) a collapsible panel on the right, both over the canvas, about 170 px wide, with 44 px touch targets.
Below 600 px the band wraps and the panels fall below the model.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 11:14:34 +09:00
ypshimandClaude Haiku 5.5 65e751e4bb feat(view): fixed frame with its own scroll for the side panels, the table and the model
On wide screens the page is one fixed-height frame: the left list, the centre (model band on top, table below) and the
right results each scroll on their own. The model band is 280–560 px (48vh) and the 3D view follows its container
through a ResizeObserver. The table header stays on top. Below 1100 px the panels stack with a 60vh height limit.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 11:08:20 +09:00
ypshimandClaude Haiku 5.5 61260413c6 feat(view): turn the bearing blocks, pads and block rebar to the bearing row (삽도)
Each block takes the skew of its bearing row against the perpendicular of its stretch axis (rowSkewDeg, from the bearing
azimuth). The blocks and pads are turned to that skew, and the S1/S2 bars are drawn in the block frame and turned with
it, so their lengths and embedments do not change. ② shows the row skew (P1: front −4.42°, back −3.11°). Approved
2026-10-23 with the drawing as reference.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 11:01:19 +09:00
ypshimandClaude Haiku 5.5 e8541b29cb feat(view): one top row for the status and backup, transient results as toasts
The status line and the backup banner share one row (the banner appears only when a backup exists). Results and notices
show as toasts that close after 4 s; problems stay until closed. The status line keeps only the empty-state hint.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 10:51:12 +09:00
ypshimandClaude Haiku 5.5 e999b11a21 feat(rebar): piece lengths for C9–C13 and P1·P2 so the 재료표 has no missing bars
A row can now carry pieces (length, count). C9, C10, C11 and C9·C11 사이 have U and 삿갓 pieces per position (3 loops each);
C12 and C13 have 일자 and ㄷ pieces per bar; P1 and P2 have their splice pieces, each counting all the bars. The
재료표 totals from the pieces, so no bar is left out. 개수 stays the 철근표 count; the piece count is kept beside it. The
삿갓 length h − 100 is an assumption (Q-K5) and is noted on the ④ screen.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 10:27:17 +09:00
ypshimandClaude Haiku 5.5 99c71b7277 feat(view): ④ 재료표 as its own result stage, with pier selection, Excel per pier and print
The 철근재료표 moves from ③ to a new stage ④ in the header. It shows the checked piers (or the current one), one table
per pier with 강종 → 직경 → 번호 and subtotals, and a total across piers. The Excel export has one sheet per pier and a
합계 sheet. Print uses A4 landscape without the header and buttons. ③ keeps a summary line and a link to ④.
Spec §5, §6.9 and §7 record the stage (approved 2026-10-23).

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 10:22:11 +09:00
ypshimandClaude Haiku 5.5 b6bf087334 feat(rebar): 철근재료표 by 강종 → 직경 → 번호 with unit weights, 할증 and Excel export
The quantity table sits below the 철근표 for the whole pier. Lines group by grade and nominal diameter, with
subtotals, unit weight 0.00617·d² (kg/m), the total in kg and ton, and a 할증 total. 할증 is an input in 공통 설정,
default 0 as an assumption. Couplers are counted, not weighed. Bars with no length yet (C9, C10, C11, C12, P1, P2) are
listed as missing and kept out of the totals. The table exports to Excel with SheetJS.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 10:16:56 +09:00
ypshimandClaude Haiku 5.5 30e5e75c22 feat(view): round bar bends at the centre-line radius; bend factors as inputs on ③
Bars drawn through several points are one tube each, with every bend rounded by R·tan(φ/2) at the centre-line radius
(inner factor × d + d/2). The inside-radius factors (D16 and below, D19–D25, D29–D35, D38 and above) are inputs in 공통
설정, with KDS-based defaults 2 / 3 / 4 / 5. The size-class limits sit in one place (SIZE_CLASS), which also fixes
D25 (25.4) being read as the D29–D35 class in hookLength. The helper bendDeduction gives the centre-line deduction for
the length option, which is not yet applied to the 철근표 lengths.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 10:13:16 +09:00
ypshimandClaude Haiku 5.5 03bb1f9929 fix(rebar): stack the three C9·C10·C11 폐합 to the right so they do not overlap
The three 폐합 of one position were drawn at the same x, so their U bars overlapped. Loop i now sits at x + i·2d and its
삿갓 one bar (d) beside its U, so no U meets another loop's U or 삿갓. The 철근표 counts and lengths are unchanged.
The rule is geometry only; the spec (§4.3) needs the stacking note.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 10:04:36 +09:00
ypshimandClaude Haiku 5.5 f398b4341f feat(rebar): select several bars on ③ and show only the selected ones (선택만 보기)
The 철근표 has a selection checkbox per row. Select-all / clear and 선택만 보기 sit above the table. In 선택만 보기 the other
bars are hidden in 3D and the members stay at 50% for context. A 3D click or an alert [보기] selects one bar; the
selection clears when the member tab or the pier changes. The selection is screen state and is not saved to the project.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 09:57:04 +09:00
ypshimandClaude Haiku 5.5 b3533b69df feat(rebar): rebar strength per 규격 prefix as inputs on ③ (D SD300, H SD400, S SD500)
fyH and fyS become a grade per prefix (D · H · S), chosen from SD300 · SD400 · SD500. The defaults are the P1 values, so
the P1 results do not change. Each bar takes its grade from its 규격 (fyOf). The 철근표 has a 강도 column. Older files
that stored fyH / fyS are read into the grade map. Only fck is still an assumed value (I02). Approved 2026-10-23.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 09:51:36 +09:00
ypshimandClaude Haiku 5.5 398fa997e2 feat(view): ③ rebar view at 50% for members, ground and blinding; deeper rebar colour
On ③ the members, the ground and the blinding concrete are drawn at half opacity without depth writes, so the bars show
through. Outside ③ each part returns to its own opacity. Rebar colours are shaded to 0.8 and slightly glossier so they
read through the members. Approved 2026-10-23.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 09:24:53 +09:00
ypshimandClaude Haiku 5.5 e0e220f35c fix(view): put the ③ colour control in the 3D title row, centred
The colour basis control sits in the 교각 3D 뷰 title row between the 시점 buttons and the origin note.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 09:15:48 +09:00
ypshimandClaude Haiku 5.5 4140699007 fix(view): move the ③ colour control into the 3D viewer window
The colour basis control and legend sit below the 3D canvas and show only on ③, so they belong to the model window.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 09:12:31 +09:00
ypshimandClaude Haiku 5.5 d35e27e7de feat(view): colour the ③ 3D rebar by diameter or by member, with a legend
Role colours stay the default (spec §6.7). A control on ③ switches to diameter (nominal size, H and S of one size
share a colour, Okabe–Ito palette) or member (받침블럭 · 코핑 · 기둥 · 확대기초). The legend lists only the items
the model has. Highlighting and the state colours are unchanged. Approved 2026-10-23.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 09:10:20 +09:00
ypshimandClaude Haiku 5.5 5d5ad7e997 fix(view): show the per-member fck as a rebar-only change, not an orange pending change
The fck row on ② no longer uses the orange changed style, since fck does not change the shape and is not counted in 변경 n건.
The row says 배근에만 반영 instead.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 09:04:07 +09:00
ypshimandClaude Haiku 5.5 7cf5835689 feat(rebar): per-member fck on ② for column, coping and footing
Each member can take its own fck on its ② card. A member without one uses the ③ 공통 fck, and fy stays common.
The rebar table and the 3D model both read the resolved value. The I02 note stays until every fck member has its
own value. The project file stores the values as optional fckByMember and refuses a bad value on open.
Changing the fck is not a shape change, so it is not counted in the pending changes.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 08:53:39 +09:00
ypshimandClaude Haiku 5.5 d8fd6adcf0 fix(rebar): pass the ③ material to C15/C16, coping bottom and column bars
The stair bars in the 철근표 and the 3D model, and the 3D bottom and column bars, were built with the default fck,
so a changed fck did not reach them. buildRebar3D now takes the material, and a material change rebuilds the scene.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-23 08:52:13 +09:00
ypshim b35f5ff0ed feat(rebar): add 3D coupler modeling for P1/P2 (368) and P4/P5 (35) with separate summary table rows 2026-10-22 18:00:28 +09:00
ypshim 9900aa6d8e feat(rebar): apply 4-bar symmetric vertical stacking offset (±1.5 db, ±0.5 db) to P6 crossties to resolve centre intersection interference 2026-10-22 17:50:57 +09:00
ypshim a2317caf6c feat(rebar): add downward 90° hooks (135 mm) to P6 crossties in 3D rebar model 2026-10-22 17:45:22 +09:00
ypshimandClaude Haiku 5.5 4aa8dbb3cb fix(view): ② and ③ use the ① layout — model above the table in the centre column
The model sits at the top of the centre column and the table or member card
below it, between the pier list on the left and the results on the right, as in
the ① screen and the 시안.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 12:33:36 +09:00
ypshimandClaude Haiku 5.5 a692f1f507 feat(view): 철근표 and the 3D rebar model point at each other (③)
- The 3D model of ③ draws each bar family from the rebar modules (coping top and
  bottom bars, shear loops, side bars, column bars and ties, footing B1–B8, bearing
  S1/S2) and names every bar as its 철근표 number.
- A table row click highlights the bar in 3D (the others dim); a click on a 3D bar
  selects its row in the table and sets the member tab. Drags still rotate.
- The rebar is shown only on ③. Not drawn yet: C14, C15/C16, B9–B12, the couplers,
  and the bars of a bent coping.
- Tests: family names and counts (P1 46), highlight behaviour.
- Not verified in a browser.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 12:31:26 +09:00
ypshimandClaude Haiku 5.5 8c96ab76f5 feat(view): show the 3D model on the 형상계획 and 철근배근 screens
The 3D viewer (views, canvas, part toggles) moves into a slot at the top of ②
and ③ while those screens are shown, and back to ① otherwise. Moving the
element keeps the WebGL context; the viewer is measured after its screen is
visible.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 12:28:02 +09:00
ypshimandClaude Haiku 5.5 e7f57f0a8a feat(view): 교각 목록 and bulk line in the ③ left column (시안 ③)
The ③ screen had no pier list. The left column now has the 교각 목록 with
checkboxes and a 배근 status (계산됨 / 오류), the 선택 n기 line with 속성 복사…,
then 부재 · 배근 타입. The checks are shared with ① and ②.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 12:25:32 +09:00
ypshimandClaude Haiku 5.5 1074fdf428 feat(view): shear-segment table for 2·3주형 on the ③ coping tab
The segment table lists each column's Level and the segments between columns
(추천안, Q-K2), so a 2주형 shows 좌 경사 3, Level 1 9, Level 2 9, 기둥 사이 1 18,
우 경사 3. One column is unchanged.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 12:22:04 +09:00
ypshimandClaude Haiku 5.5 13318e9393 feat(core): rebar for 2·3주형 — shear bars per column, column bars per column (plan)
- Coping §9: C10 at each column centre (@300, k_max as for one column), C9 / C11
  outside, and the gaps between columns filled @250 from both C10 groups with the
  remaining length shared evenly (추천안, Q-K2). One column gives the T형 result.
- Column bars and couplers repeat per column (P1 230 × 2 for 2주형, × 3 for 3주형).
- Footings: each footing's bars are summed per name; the longest length governs.
- C14 is kept as the T형 layout with an RB-M01 note (per-column rule open, Q-K11).
- Tests: counts for 2주형 and 3주형; T형 unchanged; too-close columns refused.
- Not yet: the ③ shear-segment table for multi columns (still single column), the
  C14 per column, and a drawing for multi columns. Not verified in a browser.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 12:20:49 +09:00
ypshimandClaude Haiku 5.5 8ac5d2973c feat(view): 전단철근 구간 표 on the ③ coping tab (시안 ③)
- Segments of C9 (좌 경사), C10 (Level), C11 (우 경사): first and last bar in
  metres, spacing, count, and bar number. From the bar positions (코핑철근.md §3).
- Test: 0.300–4.550 (18 @250), 4.800–7.200 (9 @300), 7.450–11.700 (18 @250).
- Not verified in a browser.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 12:17:12 +09:00
ypshimandClaude Haiku 5.5 488b65af31 fix(view): alert [보기] highlights the bar it is about (시안 ③, spec §6.1)
[보기] only switched the member tab. The alert now names its bar (RB-F08 → B2),
and [보기] switches to the member, highlights that row, and scrolls to it.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 12:13:03 +09:00
ypshimandClaude Haiku 5.5 140d34a844 fix(view): ③ rebar table reads left to right and scrolls inside its panel
The text columns were right-aligned and the table pushed the 비고 column out of
view. Text columns are now left-aligned, numbers (길이, 개수) right-aligned, and
the table scrolls sideways inside its panel.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 12:09:47 +09:00
ypshimandClaude Haiku 5.5 cdc0e5ac9c feat(view): ③ screen follows the 시안 — table columns, basis badges, alert buttons
- 철근표 columns as in the 시안: 구분 · 번호 · 규격 · 간격 · 실간격 · 위치 · 방향 ·
  형상 · 길이 · 개수 · 근거 · 비고. Metadata per bar from the rebar documents.
- 근거 badges: 입력 / 기본값 / 계산 / 가정 (the 가정 badge is italic amber).
- 번호 click highlights that row.
- 알림: [보기] opens the member tab; I02 [입력] focuses the fck input.
- Member tabs show the warning count.
- 공통 설정 moved to the right column (알림 → 검토 필요 → 공통 설정), as in the 시안.
- The 시안's "fck를 입력해야 생성" blocker is not used: the defaults are assumed
  values (I02), as decided on 2026-10-22.
- Not in this step: the drawings and the 정면·단면 연동 (시안 도면 뷰어).
- Not verified in a browser.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 12:08:21 +09:00
ypshimandClaude Haiku 5.5 9ba7b55eab feat(core,view): ③ 공통 설정 — fck and fy as inputs (spec §6.2)
- Material {fck, fyH, fyS}, defaults 27 / 400 / 500 as assumed values (I02).
  The rebar calculations take the material: the C7/C8 splice, the P2 development
  length, the P3 lap, and the B2 split use it instead of fixed numbers.
- ③ screen: 공통 설정 inputs with a note that the defaults are assumed (I02).
- Project file stores the material as an optional field; older files open with
  the defaults.
- Tests: fck 27 → 35 shortens the laps by √(27/35); the C7 piece follows fck;
  a non-default fy drops I02; the file round trip.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 12:06:11 +09:00
ypshimandClaude Haiku 5.5 64d415f891 fix(view): stage navigation highlights the active stage
The highlight is the 'current' class, but the stage switch only changed
aria-current, so ① stayed highlighted while ③ was shown. The switch now moves
the class with aria-current.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 12:04:44 +09:00
ypshimandClaude Haiku 5.5 5cc166c2e1 feat(core): RB-C07 — delete P4 ties that interfere with the footing top bars
- A P4 is deleted when |z_P4 − z_bar| < (d_P4 + d_bar)/2 against B5 and B1
  (the 확대기초 top layer, from the 상면). B11/B12 are not checked (Q-C9 무시).
- The P6 crossties start from the first kept P4.
- Tests: the document's example keeps all 8; B5 moved to −70 deletes the P4 at
  −60; a P4 just outside the limit is kept.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 11:49:16 +09:00
ypshimandClaude Haiku 5.5 02d740d8ca fix(view): left-align the rebar table text and clarify the C14 note
- The 번호·규격 and 비고 columns of the ③ table read left to right; the note
  wraps instead of stretching the table.
- C14 note: "위 2줄 11본씩, 아래 5 · 6 · 3 · 2 (합 38)".

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 11:48:18 +09:00
ypshimandClaude Haiku 5.5 33d5edef35 fix(view): enable the import apply button after the sample names are filled
Setting the project name programmatically does not fire 'input', so the apply
button stayed disabled after 샘플 P1 사용 even with P1 checked. The button is
now refreshed after the names are filled.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 11:47:23 +09:00
ypshimandClaude Haiku 5.5 12239c6652 feat(view): standing input and names for the P1 project (운곡교P1 · 운곡교)
- The sample button and ?sample=1 fill the project name 운곡교P1 and the bridge
  name 운곡교. The sample is RAG/운곡교P1입력.xlsx.
- Test: the app's copy stays byte-identical to the RAG file (skipped when the
  RAG folder is absent) and reads one pier, P1, T형, 말뚝기초, 10 bearings.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 11:42:56 +09:00
ypshimandClaude Haiku 5.5 4d8bbf7f6e test(core): footing drawing-reproduction checks from the document's test table
- Leg offsets (B1 +25.4, B3 +22.25, B5 +28.6, B7 +23.85) and B11 / B12 heights
  (550 / 950 / 1350; 569.1 / 969.1 / 1369.1).
- Reproduction counts: W 7800 → B4 30 / B2 29; L 9350 → B8 36 / B6 35.
- Variables: W 8000 with s 150 → 50 steps, e 150; W 12000 → 92 steps.
- Splice cases: L 8700 → B2 11946 (no splice), L 12400 → B4 12200,
  W 8800 → B6 12046.
- Not covered: the 배근도 H 2200 case for B10 (the document's count is unclear).

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 11:39:42 +09:00
ypshimandClaude Haiku 5.5 1c6194cd48 feat(core): cap bars of C9–C11 and piece count (추천안 for Q-K5)
- Recommended l_cap = h − 100 (top cover), so l_cap stays below h (RB-K04).
  Cap length = 1740 + 2·l_cap. The shear rows show U and cap ranges.
- Piece count 6 per position (3 closed stirrups × U + cap): C9 + C10 + C11 gives
  270 pieces, as in the document.
- P1/P2 per-line pieces are shown from the document (기둥철근.md §3.2).
- Tests: cap length and the 270 check.
- Not verified in a browser.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 11:38:28 +09:00
ypshimandClaude Haiku 5.5 5641bbe265 feat(core): lengths for coping, column and the B2 split (추천안)
- Coping: C9/C10 lower U = 1740 + 2h with h linear along the slope and 2300 on
  the Level (3522 / 6098 / 6249 / 6340 from the document); C12 (3717–10183),
  C13 11746, C14 3447.5, C15 3852, C16 4070.
- Column: P3 = C_t + 1.3·l_d(H19) lap (추천안 for Q-C6, lap 1146.6), P5 = C_t.
- Footing: B2 13646 is split into two pieces at a splice with 1.3·l_d(S25,
  SD500) (추천안 for Q-B6), piece ≈ 7776 each.
- Not done: C9/C11 cap (삿갓) lengths (Q-K5 open), P1/P2 per-line pieces.
- Tests against the document values; P1 summary updated.
- Not verified in a browser.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 11:37:08 +09:00
ypshimandClaude Haiku 5.5 73bff19aba feat(core): B9 shear bars of the footing (plan C5)
- B9 (확대기초철근 (1).md §9): H16 with the 135° stirrup hook, on the odd grid
  (i_W = 1, 5, …), 16 rows, 20 per row (even rows start at i_L 1, odd at 3),
  320 bars, length l_v 1750 + 2 × 189 ≈ 2128.
- The rebar summary now lists B9; the alert about B9 is gone. Positions and
  hooks are the document's proposed rules (Q-B18, Q-B19), noted on the row.
- Tests: the document's B9 values; P1 summary has 320 and only the splice alert.
- Not verified in a browser.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 11:34:56 +09:00
ypshimandClaude Haiku 5.5 3af8729e9f feat(core,view): footing rebar B1–B12 (plan C5) and the ③ rebar screen v1
- Footing (확대기초철근 (1).md): grid counts from W and L, layer heights,
  B1–B4 and B5–B8 counts and lengths (B2 13646, B6 11396), B10-1/B10-2,
  B11 (60) and B12 (47) with their lengths. B9 is not computed yet.
- rebarSummary: one 철근표 per pier from the model (bearing, coping, column,
  footing), with alerts: RB-F08 (B2 needs a splice, Q-B6), RB-F09 (B9 not
  computed).
- ③ screen v1: stage nav button, member tabs (받침블럭 · 코핑 · 기둥 · 확대기초),
  rebar table with 번호 · 규격 · 개수 · 길이 · 비고, alert list, and the open
  questions (Q-B5, Q-B6, Q-C9). Drawings and the 강조 연동 are not in v1.
- Tests: footing values from the document; P1 summary totals; warnings.
- Not verified in a browser.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 11:33:47 +09:00
ypshimandClaude Haiku 5.5 a403ab9641 feat(core): coping main bars C1–C8 (plan C3) and column rebar C4
- Nominal bar diameters (H29 28.6, S32 31.8, …) as used by the documents. With
  them, C7/C8 l_s = 1.3·l_d(28.6, fck 27) = 1717.6, which is the document's 1717.
- C1–C8 (코핑철근.md §5): width layout 127 · 110.5 · 21@125 · 110.5 · 127 with 24
  bars (12 + 12); heights 43.284 / 43.227 / 43.170; top bar lengths 12744 /
  12629.6 / 12515.2; bottom pieces ≈ 7448.
- C4 (기둥철근.md): P1 r 875 and P2 r 843.2; couplers P1 +3/6/9/12 m, P2 +150;
  230 + 230 main pieces and 368 couplers; tie radius 900.45; P3 38 at @300 from
  2.340; P5 19 at @120; P4 8 at @120 from −0.060; P6 8 levels × 4 = 32, length
  ≈ 2071.
- Not yet: C4 interference checks (P4 vs B11, Q-C9), bar lengths of P3/P5/P4
  and coupler shapes, the coping/column drawing checks, and the ③ screen.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 11:28:03 +09:00
ypshimandClaude Haiku 5.5 b962cf1a1c feat(core): bearing-block drawing check and coping rebar C3 (plan C2·C3)
- Drawing check (spec §6.3): an integrated 2500 × 1200 block gives 18@125 = 2250
  along (ends 50 + 75) and 7@125 = 875 across (ends 162.5).
- C3 coping rebar, from RAG/코핑철근.md (2026-10-22 final):
  - C10: 9 bars @300 at 4800–7200 (k_max 4, beyond the Level edge).
  - C9 / C11: 18 bars each @250 outward, ends at 300 and 11700 (end gap 300).
  - Refuses a coping too short for C9 (RB-K01).
  - Side bars C12 5 rows / C13 2 rows at the 42.538 break; C14 38 bars;
    C15 11 bars, C16 22 bars.
- spec §6.4 is older than 코핑철근.md (C10/C9/C11 layout, C12 row count, C14
  dimensions). This follows the final document; spec §6.4 needs an update.
- Not yet: C1–C8 main bars (shape and lengths), the C12/C13 bar lengths and
  shapes, the drawing check of the coping sheet, and the ③ screen.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 11:08:27 +09:00
ypshimandClaude Haiku 5.5 daf78d0586 feat(core): rebar common rules (plan C1) and bearing-block bars (plan C2)
- C1: development length l_d = 0.6·d_b·fy/(λ√fck), splice 1.3·l_d, standard
  hooks (main 90°, tie 90°, stirrup 135° as written in the spec). fck 27 and
  fy 400/500 are marked as assumed values (I02).
- C2: bearing-block bars, one block per bearing (배치 분리). Bars S1 and S2 at
  @125 with 8 bars per 1200 mm side (7 gaps = 875, ends 162.5), 2500 mm long,
  coping embedment from the block height (pad included, Q16 결정).
- Tests: development and splice lengths; hook table limits; embedment 600 /
  550 / 619.1 / 569.1; P1 has 80 bars each of S1 and S2 over 10 blocks.
- Not yet: the ③ screen and the drawing check against the bearing-block drawing.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 11:05:27 +09:00
ypshimandClaude Haiku 5.5 e297db1251 fix(core): replace abolished E04 with I02 in the unimplemented list
E04 (fck 미입력 차단) was abolished on 2026-10-22; fck and fy are now inputs
with assumed defaults, reported as I02 in the rebar stage (spec §10, §13 Q8).

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 11:03:14 +09:00
ypshimandClaude Haiku 5.5 17b5b24682 feat(core,view): per-row pile counts 열별 본수 (plan C4)
- A 열 is one row across the footing width; each has its own count along the
  length. Default floor((L − 1400) / 2250) + 1 per 열, as in spec §4.6.
- Counts are validated: one per 열, whole numbers 2–30. Spacing below the
  2250 mm minimum is shown as a warning, not refused (the plan's 6본 → 5@1800
  example).
- PierInput gains an optional pileRows; absent means the defaults, so existing
  files and the P1 results are unchanged.
- Change tracking compares arrays by value; 열별 본수 can be reverted and
  copied (copy item off by default).
- The footing card has −/+ per 열 with spacing, total, and the display string.
- Tests: defaults 4열 × 5본 = 20 and the 1단계 text; 6본 → 5@1800; limits;
  model-level 21 piles.
- Not verified in a browser.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 10:34:39 +09:00
ypshimandClaude Haiku 5.5 5b162c2441 feat(core,view): shape-option rules (plan C5) and pier selection rules (plan C6)
- C5: each member's options come from one table. Only the defaults (the 1단계
  model) are selectable. The others show as disabled chips with 규칙 미정 (Q6).
  The member summary is built from the defaults.
- C6: 전체 선택 acts only on visible, buildable piers; it reads 선택 해제 only
  when all of those are checked. A check survives a change of the type filter.
  The pier list scrolls past 300 px, for 20 piers.
- Tests: defaults are the only choices; unknown options refused; the 20-pier
  mixed list with two failed piers; filter and check persistence.
- Not verified in a browser.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 10:15:03 +09:00
ypshimandClaude Haiku 5.5 56362570ec feat(view): 형상계획 ② screen skeleton with five members (plan.md C1)
- ① and ② are switched from the stage nav. ② shows the pier list with change
  counts, the five members (교량받침, 코핑, 기둥, 확대기초·말뚝, 지반·지층) with
  a change count each, a member card, and a change list with per-item revert.
- The member card shows 기본 and 선택 summaries separately. Only members with
  existing inputs get fields (코핑 폭·길이, 말뚝 길이); the others show values
  and a note that their inputs come in a later step. Unselected members' inputs
  are not shown.
- The field rows are shared between ① and ②.
- Added a global [hidden] rule so hidden screens stay hidden.
- Not verified in a browser.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 10:07:34 +09:00
ypshimandClaude Haiku 5.5 f75431d898 feat(view): attribute-copy dialog (시안 ⑥, plan C8)
- 속성 복사… opens the four-step dialog: source (current inputs), items,
  targets (same-type filter on by default), and a preview with changed values
  and skipped items per target. Apply changes only the visible, ticked targets.
- Items that the model does not have yet (기둥, 받침, 배근, 기초 형상) are shown
  as 예정 and disabled. Coping length and pile length are off by default.
- Option: regenerate the targets right after applying (default on); otherwise
  they show as 재생성 필요 through the normal change tracking.
- Not verified in a browser.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 10:01:18 +09:00
ypshimandClaude Haiku 5.5 4accf1f3be feat(core): attribute-copy engine (plan C7)
- planCopy previews the changes and the skipped items for one target; applyCopy
  applies exactly the planned changes.
- Default selection copies only the coping width; coping length and pile length
  are off by default (spec §9). Pile items are skipped when the foundation type
  differs. Coordinates, IPs, bearings and elevations are not in any item.
- Equal values are not counted, so the preview count equals the applied count.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 09:59:48 +09:00
ypshimandClaude Haiku 5.5 fae8d7b9b8 feat(view): reflect 시안 ① main screen and ⑤ save dialog
- Header follows the mockup: dark bar, project line, stage chips (② shows the
  pending change count), save status, 저장 / 엑셀 불러오기 / 프로젝트 열기 and
  the primary 선택 교각 다시 생성 · 변경 n button.
- Left column: pier list with header row, 선택 n기 bulk bar, 입력값 and the
  2단계 input card. The bottom input panel is gone.
- First save opens 시안 ⑤ (project name, bridge, client, author, 좌표계, memo);
  later Ctrl+S / 저장 write the same file, as the spec's B5 requires.
- Project info (client, author, 좌표계, memo) is kept in the project file.
- Style layer uses the mockup's tokens (#18212B header, #1F5FA8 primary,
  #D5DBE2 borders, #E3EDF8 selected row, JetBrains Mono for numbers).
- Not reflected: ② and ③ screens (not built yet), and the mockup's static
  front preview (the app draws the model in 3D). Not verified in a browser.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 09:57:02 +09:00
ypshimandClaude Haiku 5.5 0b62f694c5 feat(core,view): input cards with change tracking (plan B1 · C2)
- Three values per pier: defaults (as imported), input (generated), draft
  (current cards). Overrides = draft vs defaults; pending = draft vs input.
- Editable now: 코핑 폭, 코핑 길이, 말뚝 길이. Changing a card does not touch the
  3D view until 다시 생성; the header and the card show 변경 n.
- Revert puts a field back to its imported default.
- Project files store defaults and draft (optional; v1 files still open).
- Tests: 코핑 폭 3100 → 3300 gives one override and one pending change;
  regenerating clears pending but keeps the override; revert; file round trip.
- Not verified in a browser (no debuggable Chrome in this session).

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 09:48:47 +09:00
ypshimandClaude Haiku 5.5 f5303e4c2b feat(view): project save/open, Ctrl+S, save status, IndexedDB auto-backup (plan B2–B5)
- 저장 (Ctrl+S) downloads <교량명>_교각설계.pzr.json; 프로젝트 열기 reads it
  back and regenerates every pier without the source workbook.
- Save status in the header: 저장 전 / 변경 있음 · 미저장 / 저장됨. The
  snapshot excludes the history so a save is not counted as a change.
- Auto-backup to IndexedDB 0.8 s after changes while unsaved; on start a banner
  offers recovery or discard. Storage failures are reported, not fatal.
- beforeunload warns while there are unsaved changes.
- B1 (default-vs-changed tracking) is not added yet: inputs are not editable
  until the 2단계 input cards exist.
- Not verified in a browser (no debuggable Chrome in this session).

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 09:44:49 +09:00
ypshimandClaude Haiku 5.5 5ce6d0e2f1 feat(core): project file save/open with schema check (plan B3)
- serializeProject / parseProject for the .pzr.json format (spec §8,
  schemaVersion 1). Parsing refuses other versions and damaged piers, and
  names the first broken pier.
- The 3D model is not stored; it is regenerated on open.
- Tests: save → open equality without the source workbook; regenerated
  models equal for 20 piers; version and damage refusals.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 09:39:44 +09:00
ypshimandClaude Haiku 5.5 9e1e25f8fe feat(core,view): bent coping stage 3 — footings and piles in stretch frames
- Footings, blindings and piles on a bent axis are placed in their stretch's
  frame; 일체기초 is grouped per stretch, so a combined footing never crosses
  the kink (separate footings, each aligned with its stretch).
- Footings, blindings and piles are trimmed at the mitre plane like the coping.
- The stage-2 refusal for bent foundations is removed; the Level-half-width
  refusal for columns at the kink remains.
- Tests: T형 footing crossing the kink stays in stretch 0; 2주형 with columns
  on both sides gives one footing per stretch, with mitre clipping in the scene.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 09:38:01 +09:00
ypshimandClaude Haiku 5.5 c9dae4ff9b fix(core): refuse bends that double back; use a valid synthetic bend in tests
The earlier synthetic bend (IP3 at (6, 2)) put IP4 ahead of IP3 on the turned
line, so the axis folded back on itself. buildPier now refuses a kink behind
IP1 along IP1→IP2 or an IP3 behind the kink along the turned direction. Tests
use IP3 (9, −3.464), a valid 60° right turn with kink (7, 0).

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 09:33:09 +09:00
ypshimandClaude Haiku 5.5 5371932cca feat(core,view): bent coping stage 2 — mitred coping, stretch-local bearings, blocks and columns
- buildPier builds on buildAxis: each object carries its stretch k and a local
  s from that stretch's base; coping parts are per stretch with the mitre plane
  trimming the overlap in the scene (renderer.localClippingEnabled).
- Straight P1 output is unchanged (regression tests pass).
- Bent coping is supported for 현장타설말뚝 only; footings and piles on a bent
  axis remain 미실시 until stage 3. Kink outside the coping and columns within
  the Level half-width of the kink are refused.
- W03/W04 use coping coordinates (g).
- Tests: constructed 60° bend — world coordinates of bearings, blocks and the
  column survive the stretch frames; mitre sides; scene mesh count; refusals.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 09:22:57 +09:00
ypshimandClaude Haiku 5.5 46709be532 feat(core): polyline coping axis with per-stretch frames (bent coping stage 1)
- buildAxis: IP1 → IP4 → IP3 as stretches with their own frames; arc length s
  from IP1; mitre normal u1 + u2 at the kink.
- toAxis / fromAxis: world ↔ (k, s, n) round trip; stretch chosen by the mitre plane.
- copingSpan (centred on L_IP/2) and nearKink (columns within the Level half-width).
- Straight P1 regression against spec §12 bearing values; bent round trip and continuity.
- Not wired into buildPier yet; the model still refuses bent coping (미실시).

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 09:18:31 +09:00
ypshimandClaude Haiku 5.5 d8944e9023 fix(core): clockwise-positive bend angle for IP4 (right turn when travelling IP1→IP2)
Sign convention approved: a right (clockwise) deflection is positive.
solveIp4 now rotates the IP1→IP2 direction by −θ. Test covers a +10°
right turn with IP4 at (5, 0).

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 09:13:54 +09:00
ypshimandClaude Haiku 5.5 d0fa9b94eb feat(core): lateral coping step (Q1·Q2) and IP4 bend-point solve (spec §4.1)
- Front and back coping tops that differ by 5 mm or more in any segment are
  drawn as two coping parts split at the midline between the bearing rows.
  Tolerance 5 mm and midline position are the draft assumptions (Q1·Q2).
- Scene extrudes each coping part across its own width.
- solveIp4 computes IP4 as the intersection of the IP1→IP2 line with the
  line through IP3 turned by the bend angle (positive = counter-clockwise,
  sign convention to be confirmed). Bent coping geometry remains 미실시.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 09:04:12 +09:00
ypshimandClaude Haiku 5.5 ad59c0c74d feat(core): 일체기초 footings for 2·3주형 with per-footing pile grid
- Columns closer than one footing length (10400) share a 일체기초 whose
  length is the outer-column distance + 10400, centred between them (spec §4.6).
- Pile grid is computed from each footing's length (rows across 8150,
  pile count along the length from (length − 1400) / 2250 + 1).
- Blinding concrete follows each combined footing.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 09:01:40 +09:00
ypshimandClaude Haiku 5.5 5466b3522e feat(core): haunch-and-Level-300 coping underside, steel pile 609.6, W03/W04 checks
- Multi-column coping (2·3주형): underside between columns drops 300 below
  Level with 300 × 300 haunches (spec §4.5, Q3 추천안).
- Steel pipe pile diameter 609.6 mm (spec §4.5, Q5 추천안).
- Direct foundation keeps the 100 mm blinding concrete (Q4 추천안, test added).
- W03: bearing centre closer than half a block width to a step boundary.
- W04: block footprint outside the coping plan.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-22 08:58:57 +09:00
ypshimandClaude Haiku 5.5 112f460f1f test(ui): keep verification run logs as evidence (force-add, *.log is ignored)
- rag-input-run-2026-10-21.log: RAG input uploaded directly
- console-run-2026-10-21.log: V10 3 console check

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-21 18:19:33 +09:00
ypshimandClaude Haiku 5.5 68e56d1037 feat(input): use RAG/운곡교P1입력.xlsx as the P1 input
- public/samples/운곡교P1입력.xlsx is a byte copy of RAG/운곡교P1입력.xlsx
- loadP1 and the sample loader read the three-sheet input
- spec workbook (intent.PR) stays for the single-sheet regression tests
- test: input file has sheets 교각 · IP · 받침 and parses to P1 with no issues

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-21 18:18:51 +09:00
ypshimandClaude Haiku 5.5 def1e1b9fc test(ui): verify the template download button saves the file in Chrome
- scripts/verify-template-download.cjs clicks 입력 템플릿 다운로드 and reports the saved file
- result: 교각입력템플릿.xlsx (19,391 bytes), sheets 교각 · IP · 받침
- verify/template-download-2026-10-21.xlsx keeps the saved copy as evidence

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-21 18:17:27 +09:00
ypshimandClaude Haiku 5.5 6319cccb8e feat(import): input template download with three sheets (spec 2.3 step 4)
- buildTemplateWorkbook: 교각 · IP · 받침 sheets with the headers the parser
  reads; value cells left empty so no blank-name rows raise E05
- dialog button 입력 템플릿 다운로드 (.xlsx)
- tests: sheet order, parser recognition, write-and-read round trip

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-21 18:14:33 +09:00
ypshimandClaude Haiku 5.5 0b7ae1ef3f test(ui): capture console errors and exceptions during the UI check (V10 3)
- verify-ui.cjs collects console error/warning, uncaught exceptions, and log
  entries over the whole run; prints CONSOLE_EVENTS
- run with the user's three-sheet workbook: 0 events

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-21 18:11:57 +09:00
ypshimandClaude Haiku 5.5 353931c767 test(ui): CDP verification of the import dialog and four views
- scripts/verify-ui.cjs drives Chrome over DevTools (run with Windows Node,
  same machine as Chrome): loads the user's three-sheet workbook, reads the
  sheet report, applies P1, and captures the four view presets
- verify/shots-2026-10-21: screenshots used as evidence for V10 2 and V11

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-21 18:09:55 +09:00
ypshimandClaude Haiku 5.5 727cd3b2e2 feat(parse): join pier, IP, and bearing tables across sheets by 교각명
- one workbook may hold the three tables on separate sheets (user decision,
  recorded in DOC/03_설계); spec 2.2 one-sheet-per-pier is superseded
- E05 for rows whose 교각명 has no matching 교각 정보 row, or a pier missing IP/받침
- helper sheets (IP only, 받침 only) are shown as 보조 표 시트, not selectable
- test: three-sheet workbook built from the P1 sheet

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-21 17:59:26 +09:00
ypshimandClaude Haiku 5.5 4f21bd63bf fix(parse): reject split pier tables and block sheets that fail to build
- E05: a sheet whose pier, IP, or bearing table is not on the same sheet is
  not selectable (spec 2.2: one sheet per pier)
- a sheet is selectable only if every pier in it builds; the reason is shown
  next to the sheet instead of a selectable sheet with an unchecked pier

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-21 17:55:46 +09:00
ypshimandClaude Haiku 5.5 69922cfa35 feat(ui): align stage-1 screens with the design mockup
- main screen follows 시안 ①: header steps, pier list with type filter and
  multi-select, viewer with 아이소/정면/측면/평면, part toggles in mockup order,
  input panel and result sections
- import moved to a modal dialog following 시안 ④: project name (required),
  file drop and pick, per-sheet recognition with selectable piers, preview of
  pier and bearing tables, glossary of Excel column names
- Esc closes the dialog and focus stays inside it (native dialog)
- 44px touch targets and 2px focus rings; colours from the mockup tokens

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-21 17:49:04 +09:00
ypshimandClaude Haiku 5.5 01d2bf4958 feat(parse): report per-sheet recognition and block error sheets
- parseWorkbook returns a report per sheet (table counts, issues, ok)
- sheets with E-level issues cannot be selected (spec section 2.3)
- pier input carries its source sheet name

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-21 17:43:36 +09:00
ypshimandClaude Haiku 5.5 35d89dc4e2 chore(verify): store headless capture script used as verification evidence
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-21 17:31:43 +09:00
ypshimandClaude Haiku 5.5 71a77608f8 feat(view): load bundled sample from ?sample=1 deep link
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-21 17:31:24 +09:00
ypshimandClaude Haiku 5.5 ad8e437c99 feat(view): add 3D pier viewer and P1 sample page
- three.js scene in the pier frame (pivot at first column centre)
- coping as extruded elevation outline; columns, footings, piles, blinding, bearing blocks and pads
- four view presets, per-part visibility toggles
- workbook load (sample or file), result table, issue list and undetermined defaults
- frame orientation test and bounding-box test

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-21 17:28:02 +09:00
ypshimandClaude Haiku 5.5 d963d8ed3c feat(core): parse P1 workbook and build T-type pier shape
- parse Excel input by header strings (pier, IP, bearing tables)
- DMS azimuth parser (E03), input validation (E01, E02)
- pure geometry: axis, bearings, stepped coping, column, footing, piles, blinding
- warnings W01, W02, W05, W07, I01
- regression tests against spec.md section 12 (P1)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-21 17:26:16 +09:00
3100 changed files with 2315 additions and 4969988 deletions

No files matched your search

+1 -15
View File
@@ -1,17 +1,3 @@
node_modules/ node_modules/
dist/ dist/
*.log *.log
.venv/
.backup/
.verify/
**/.venv/
**/.backup/
**/.verify/
*.pyc
__pycache__/
*.zip
pierzainer_ground/data/cache/
pierzainer_ground/data/output/**/cache/
backup/
verify/
도면추출/output/
-63
View File
@@ -1,63 +0,0 @@
# PIERZAINER · PIER & ABUT
교각·교대 Excel을 읽어 형상과 철근배근을 생성하고 원도면 기반 지반면·위성사진·2D 지도를 함께 표시하는 프로젝트입니다.
## 현재 작업 상태 (2026-11-05 확인)
- 현재 로컬 작업 브랜치는 `master`이며 제품 코드 기준 커밋은 `91c4a4a`입니다. 아래 11월 2일 복구 기록은 당시 이력입니다.
- 교대 ② 형상계획 카드 6개와 ③ 철근배근 6개 부재(받침블럭·벽체·흉벽/브라켓·확대기초·날개벽·접속슬래브)가 구현되어 있습니다.
- A1 표본으로 ③ 입력 재계산·삽도/3D 표시·철근 선택·파일 다운로드·새 페이지 저장 복원을 검증했습니다. 설계 미결 사항과 다른 입력의 동작은 별도 확인 대상입니다.
- 최신 진행 기록은 `../../context-migration/컨텍스트_2026-11-03_교각_교대_진행상황.md`, 남은 항목은 `../../context-migration/OPEN_미해결목록.md`에서 관리합니다.
- 로컬 `origin/master` 추적 정보 대비 89커밋 앞선 상태였습니다. 실제 원격은 조회하지 않았습니다. 브랜치 전환이나 이력 변경 전에 현재 상태를 확인하세요.
## 실행
```powershell
npm ci
npm run dev -- --host 127.0.0.1 --port 5173
```
브라우저에서 http://127.0.0.1:5173/ 을 엽니다. 랜딩페이지의 Excel 가져오기와 실제 교량 샘플 선택을 사용합니다.
랜딩페이지의 **도면 불러오기**를 누르면 프로그램 내부의 도면추출 팝업이 열립니다. DWG 폴더를 선택하고 자동 추출을 시작하면 진행 로그와 결과가 팝업에 표시됩니다. 결과의 **교각 불러오기**로 바로 Excel 인식·형상 생성 단계에 연결하거나 **Excel 저장**으로 파일을 받을 수 있습니다. 원래 추출 엔진은 화면 없이 실행하며 미확정 값은 검토 대상으로 유지합니다.
결과는 프로젝트의 `도면추출/output/작업ID/`에 저장합니다. 선택한 원본 도면 폴더는 수정하지 않습니다. 팝업을 닫아도 추출은 계속되며 다시 열어 결과를 확인할 수 있습니다.
배포 빌드를 로컬에서 실행하려면 `npm run build` 후 `npm run preview -- --host 127.0.0.1`을 사용합니다. 도면추출은 이 PC의 Windows 로컬 서버와 포함된 `도면추출/app` 엔진을 사용하므로, `dist`만 올린 정적 웹사이트에서는 추출을 실행할 수 없습니다.
## 유지하는 폴더
- `src/`, `index.html`: 실제 교각 프로그램
- `랜딩페이지/`: 랜딩 화면과 지도 포함 통합 샘플 12개
- `pierzainer_ground/`: 지반 생성 프로그램, 원본 자료, 최종 지반 JSON 및 재현에 필요한 데이터
- `도면추출/`: 도면 추출 프로그램과 교각 샘플 Excel (기본 P1 샘플 포함)
- `tests/`, `scripts/`, `verify/`: 현재 교각·Excel·지도 기능의 자동 검사와 유지보수 도구
`node_modules/`, `dist/`, `.verify/`, 지반 `cache/`는 실행·검증 중 재생성되는 파일이며 Git에 추가하지 않습니다.
## 검증
```bash
npm test -- --maxWorkers=2
npm run build
```
A1 화면 검증 스크립트는 `scripts/verify-abut-workflow.cjs`입니다. 개발 서버와 별도 프로필 Chrome의 로컬 CDP 포트(기본 9444)가 필요합니다.
현장타설 실배근의 현행 UI 검증은 `node scripts/verify-cast-rebar.cjs`를 사용합니다. Windows Chrome 사용 시 Windows Node로 실행합니다. 샘플 Excel에서 9개 교각·기초 조합을 생성하고 실제 주철근/횡철근/커플러 행·삽도·입력 재생성·불일치 경고·재료표·파일 저장/새 페이지 복원·헤더 3개 폭을 검사합니다. 결과는 `.verify/cast-rebar-20261106/`에 저장합니다. `verify-unified-input.cjs`는 실배근 연결 전 통합 입력 단계의 검증이고, `verify-cast-input.cjs`와 `verify-cast-detail.cjs`는 통합 전 분리 카드 선택자를 사용한 과거 검증 스크립트입니다.
```text
node scripts/verify-abut-workflow.cjs <input.xlsx> <output-directory> <download-directory>
```
Windows Chrome을 쓰면 Windows Node로 실행하고 입력·출력 경로도 Windows 경로 또는 WSL UNC 경로로 전달합니다. 결과 JSON·화면 캡처·SVG·프로젝트 표본은 `.verify/abut-workflow-20261105/`에 보관했습니다. `report.json`의 실행 결과와 범위를 확인하세요. 단순 재열기 검사는 같은 인자 뒤에 `--resume`을 붙일 수 있습니다.
## 2026-11-02 혼합 파일 복구 (당시 기록)
혼합 전 Pierzainer 커밋 `d6735a6`에서 로컬 브랜치 `recovery/pierzainer-20261102`를 만들었습니다. π형 Excel 인식, 전·후열 받침 수 불일치 허용, 랜딩페이지 샘플 연결을 포함합니다. 기존 ITAM 브랜치와 원격 기록은 변경하지 않았습니다.
당시 복구 기록에는 분리 파일을 상위 `_recovery/20261102_mixed_projects/`에 보관하고, 당시 `master`가 ITAM 코드였다고 적혀 있습니다. 2026-11-05 현재 로컬 `master`는 Pierzainer 코드(`91c4a4a`)이므로 과거 안내에 따라 복구 브랜치로 전환하지 마세요. 당시 복구 보관 경로의 현존 여부는 이번 작업에서 재확인하지 않았습니다. 이번 검증·기록 정리에서도 원격 push와 브랜치 전환은 수행하지 않았습니다.
## 정리 기준
실행에 필요한 코드·원본 도면·샘플 Excel·최종 지반 JSON은 유지합니다. 과거 개발용 도구와 옛 좌표 기준의 검증 파일은 정리했으며 백업 목록은 상위 `_recovery/20261103_cleanup/`에 있습니다.
+100 -198
View File
@@ -4,34 +4,27 @@
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Pierzainer — 형상 생성</title> <title>Pierzainer — 형상 생성</title>
<link rel="stylesheet" href="/랜딩페이지/landing-page.css" />
</head> </head>
<body> <body>
<div class="app"> <div class="app">
<header class="top"> <header class="top">
<div class="brand"> <div class="brand">
<strong>Pierzainer</strong> <strong>Pierzainer</strong>
<span>교각 설계</span>
<span id="project-line" class="proj">프로젝트 미지정</span> <span id="project-line" class="proj">프로젝트 미지정</span>
</div> </div>
<nav class="steps" aria-label="단계"> <nav class="steps" aria-label="단계">
<button id="nav-shape" class="step current" data-label="① 형상 생성" aria-label="① 형상 생성" type="button" aria-current="step">① 형상 <em id="step1-status"></em></button> <button id="nav-shape" class="step current" type="button" aria-current="step">① 형상 생성 <em id="step1-status">미생성</em></button>
<button id="nav-plan" class="step" data-label="② 형상계획" aria-label="② 형상계획" type="button">② 계획 <em id="step2-status"></em></button> <button id="nav-plan" class="step" type="button">② 형상계획 <em id="step2-status">예정</em></button>
<button id="nav-rebar" class="step" data-label="③ 철근배근" aria-label="③ 철근배근" type="button">③ 배근 <em id="step3-status"></em></button> <button id="nav-rebar" class="step" type="button">③ 철근배근 <em id="step3-status">예정</em></button>
<button id="nav-drawing" class="step" data-label="④ 도면작성" aria-label="④ 도면작성" type="button">④ 도면 <em id="step-drawing-status"></em></button> <button id="nav-quantity" class="step" type="button">④ 재료표 <em id="step4-status">예정</em></button>
<button id="nav-quantity" class="step" aria-label="⑤ 재료표·수량산출" type="button">⑤ 재료표·수량</button>
</nav> </nav>
<div class="actions"> <div class="actions">
<span id="save-status" class="savest">저장 전</span> <span id="save-status" class="savest">저장 전</span>
<button id="home-from-app" class="btn-s" type="button" hidden>홈</button>
<button id="save-project" class="btn-s" type="button" disabled title="프로젝트 파일 저장 (Ctrl+S)">저장</button> <button id="save-project" class="btn-s" type="button" disabled title="프로젝트 파일 저장 (Ctrl+S)">저장</button>
<details id="file-menu" class="file-menu"> <button id="open-import" class="btn-s" type="button">엑셀 불러오기</button>
<summary class="btn-s">불러오기</summary> <button id="open-project" class="btn-s" type="button">프로젝트 열기</button>
<div class="file-menu-items"> <button id="regen" class="btn-p" type="button" disabled>선택 교각 형상 생성</button>
<button id="open-import" class="btn small" type="button">엑셀 불러오기</button>
<button id="open-project" class="btn small" type="button">프로젝트 열기</button>
</div>
</details>
<button id="regen" class="btn-p" type="button" disabled>생성</button>
<input id="project-file" type="file" accept=".json" hidden /> <input id="project-file" type="file" accept=".json" hidden />
</div> </div>
</header> </header>
@@ -48,28 +41,26 @@
<main class="grid" id="view-shape"> <main class="grid" id="view-shape">
<aside class="panel piers" aria-labelledby="pier-title"> <aside class="panel piers" aria-labelledby="pier-title">
<button id="project-ground-open" class="btn-o" type="button">프로젝트 지반모델</button> <p id="pier-title" class="lbl">교각 목록</p>
<p id="project-ground-status" class="pnote">모델 없음</p>
<p id="pier-title" class="lbl">교각·교대 목록</p>
<div class="pier-tools"> <div class="pier-tools">
<label>형식 <label>형식
<select id="type-filter"></select> <select id="type-filter"></select>
</label> </label>
<button id="select-all" class="lnk" type="button">전체 선택</button>
</div> </div>
<div class="phead" aria-hidden="true"><span>교각</span><span>상태</span></div> <div class="phead" aria-hidden="true"><span></span><span>교각</span><span>상태</span></div>
<ul id="pier-items" class="pier-items"></ul> <ul id="pier-items" class="pier-items"></ul>
<p id="pier-empty" class="muted">불러온 교각이 없습니다.</p> <p id="pier-empty" class="muted">불러온 교각이 없습니다.</p>
<p class="pnote">시트 1장 = 교각 1기입니다. 오류가 난 교각만 건너뛰고 나머지는 생성합니다.</p> <p class="pnote">시트 1장 = 교각 1기입니다. 오류가 난 교각만 건너뛰고 나머지는 생성합니다.</p>
<div class="bulk">
<section id="pier-info" class="pier-input" aria-labelledby="input-title"> <b id="bulk-count">선택 0기</b>
<p id="input-title" class="lbl">입력값</p> <span class="grow"></span>
<div class="pier-table-wrap"> <button id="bulk-copy" class="btn-o" type="button" disabled title="2단계에서 구현">속성 복사…</button>
<table id="inputs-all" class="grid-table compact"> <button id="bulk-regen" class="btn-o" type="button" disabled>선택 교각 다시 생성</button>
<thead><tr><th>교각</th><th>코핑 상면</th><th>기초 하단</th><th>지반고</th><th>말뚝 (mm)</th><th>코핑 폭×길이</th><th>받침</th></tr></thead>
<tbody></tbody>
</table>
</div> </div>
<p class="lbl small" id="inputs-active"></p>
<section class="pier-input" aria-labelledby="input-title">
<p id="input-title" class="lbl">입력값</p>
<dl id="inputs" class="kv wide"></dl> <dl id="inputs" class="kv wide"></dl>
<section class="edit-card" aria-labelledby="edit-title"> <section class="edit-card" aria-labelledby="edit-title">
<h3 id="edit-title">코핑·말뚝 입력 수정</h3> <h3 id="edit-title">코핑·말뚝 입력 수정</h3>
@@ -78,67 +69,18 @@
<button id="edit-regen" class="btn primary" type="button" disabled>다시 생성 · 변경 0</button> <button id="edit-regen" class="btn primary" type="button" disabled>다시 생성 · 변경 0</button>
</section> </section>
</section> </section>
<section id="abut-panel" class="pier-input" hidden aria-labelledby="abut-panel-title">
<p id="abut-panel-title" class="lbl"><span id="abut-panel-name"></span> 입력값 <span class="badge">입력</span>
<button id="abut-panel-edit-toggle" class="btn small" type="button" aria-expanded="false">편집</button></p>
<dl id="abut-panel-input" class="kv wide"></dl>
<div id="abut-panel-editor" hidden>
<div id="abut-panel-basic" class="edit-row"></div>
<details class="abut-group">
<summary>받침 값</summary>
<div id="abut-panel-bearings" class="edit-row"></div>
</details>
<details class="abut-group">
<summary>형상 (벽체·흉벽, 저판, 말뚝)</summary>
<div id="abut-panel-shape" class="edit-row"></div>
</details>
<p id="abut-panel-msg" class="muted" aria-live="polite"></p>
</div>
<details class="abut-group">
<summary>상세 (계산값)</summary>
<dl id="abut-panel-summary" class="kv wide"></dl>
</details>
</section>
</aside> </aside>
<section class="panel viewer" id="viewer-block" aria-labelledby="viewer-title"> <section class="panel viewer" id="viewer-block" aria-labelledby="viewer-title">
<div class="viewer-head"> <div class="viewer-head">
<h2 id="viewer-title">교각 3D 뷰</h2> <h2 id="viewer-title">교각 3D 뷰</h2>
</div> </div>
<div id="canvas" class="canvas" aria-label="교각 3D 뷰"> <div id="canvas" class="canvas" aria-label="교각 3D 뷰"></div>
<div class="coordinate-axis" id="coordinate-axis" aria-label="좌표축: 동쪽 E (+X), 북쪽 N (-Z), 높이 EL (+Y)">
<svg id="coordinate-axis-svg" viewBox="0 0 150 150" role="img">
<defs>
<marker id="axis-arrow-x" markerWidth="8" markerHeight="8" refX="6" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8 Z" class="axis-e"></path></marker>
<marker id="axis-arrow-y" markerWidth="8" markerHeight="8" refX="6" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8 Z" class="axis-el"></path></marker>
<marker id="axis-arrow-z" markerWidth="8" markerHeight="8" refX="6" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8 Z" class="axis-n"></path></marker>
</defs>
<line id="axis-e-line" class="axis-e" x1="75" y1="75" x2="75" y2="75" marker-end="url(#axis-arrow-x)"></line>
<line id="axis-n-line" class="axis-n" x1="75" y1="75" x2="75" y2="75" marker-end="url(#axis-arrow-z)"></line>
<line id="axis-el-line" class="axis-el" x1="75" y1="75" x2="75" y2="75" marker-end="url(#axis-arrow-y)"></line>
<circle cx="75" cy="75" r="3" class="axis-origin"></circle>
<text id="axis-e-label" class="axis-e" x="75" y="75" text-anchor="middle">E</text>
<text id="axis-n-label" class="axis-n" x="75" y="75" text-anchor="middle">N</text>
<text id="axis-el-label" class="axis-el" x="75" y="75" text-anchor="middle">EL</text>
</svg>
<span class="coordinate-axis-title">E 동 · N 북 · EL 높이</span>
</div>
</div>
<div class="viewer-stack viewer-stack-right"> <div class="viewer-stack viewer-stack-right">
<details class="info-panel parts-info" id="parts-info"> <details class="info-panel parts-info" id="parts-info">
<summary>부재 표시 <span id="parts-count" class="panel-state"></span></summary> <summary>부재 표시 <span id="parts-count" class="panel-state"></span></summary>
<div id="parts"></div> <div id="parts"></div>
</details> </details>
<details class="info-panel ground-map-info" id="ground-map-info" hidden>
<summary>3D 지도 배경</summary>
<div class="ground-map-options" role="group" aria-label="3D 지도 배경 선택">
<label><input type="radio" name="ground-map-mode" value="satellite" checked /> 위성사진</label>
<label><input type="radio" name="ground-map-mode" value="ground" /> 2D 지도</label>
<label><input type="radio" name="ground-map-mode" value="none" /> 숨김</label>
</div>
<p class="muted small">지도는 지반면 아래에 놓여 위치 확인에만 사용합니다.</p>
</details>
<button id="all-toggle" class="btn" type="button" aria-pressed="false" title="6기를 콘크리트만 한 화면에 (① 형상 생성)">전체 보기</button>
<div class="views-menu" id="views-menu"> <div class="views-menu" id="views-menu">
<button id="views-toggle" class="btn views-toggle" type="button" aria-haspopup="true" aria-expanded="false" aria-controls="views">시점</button> <button id="views-toggle" class="btn views-toggle" type="button" aria-haspopup="true" aria-expanded="false" aria-controls="views">시점</button>
<div id="views" class="views views-list" role="group" aria-label="시점" hidden></div> <div id="views" class="views views-list" role="group" aria-label="시점" hidden></div>
@@ -187,44 +129,15 @@
<main class="grid plan" id="view-plan" hidden> <main class="grid plan" id="view-plan" hidden>
<aside class="panel piers" aria-labelledby="plan-pier-title"> <aside class="panel piers" aria-labelledby="plan-pier-title">
<p id="plan-pier-title" class="lbl">교각·교대 목록</p> <p id="plan-pier-title" class="lbl">교각 목록</p>
<div class="phead" aria-hidden="true"><span>교각</span><span>변경</span></div> <div class="phead" aria-hidden="true"><span></span><span>교각</span><span>변경</span></div>
<ul id="plan-pier-items" class="pier-items"></ul> <ul id="plan-pier-items" class="pier-items"></ul>
<p class="lbl abut-members-title">부재 · 교대</p>
<ul id="abut-members" class="members abut-members" aria-label="교대 부재"></ul>
<p class="lbl members-title">부재 · 5개</p> <p class="lbl members-title">부재 · 5개</p>
<ul id="members" class="members"></ul> <ul id="members" class="members"></ul>
</aside> </aside>
<div class="center-col workspace" id="plan-workspace" data-stage="plan"> <div class="center-col">
<div class="workspace-tools" aria-label="계획 화면 배치 조절">
<div class="layout-switch" role="group" aria-label="모델과 입력창 배치">
<button type="button" class="btn small" data-layout="stack" aria-pressed="true">상하</button>
<button type="button" class="btn small" data-layout="side" aria-pressed="false">좌우</button>
</div>
<label class="model-height-control" for="plan-model-height"><span data-size-label>모델 높이</span>
<input id="plan-model-height" type="range" min="180" max="560" step="20" value="400" />
<output id="plan-model-height-value" for="plan-model-height">400 px</output>
</label>
<button id="plan-model-toggle" class="btn small" type="button" aria-expanded="true" aria-controls="slot-plan">모델 접기</button>
<span class="layout-note muted small" aria-live="polite"></span>
</div>
<div class="viewer-slot" id="slot-plan"></div> <div class="viewer-slot" id="slot-plan"></div>
<div class="workspace-splitter" role="separator" tabindex="0" aria-controls="slot-plan" aria-label="모델 크기 조절"></div>
<div class="workspace-pane">
<!-- ② 교대 부재 카드 (시안, 2026-11-03): the card of the row picked in 부재 · 교대, under the 3D view. -->
<section id="abut-panel-plan" class="panel viewer abut-card" hidden aria-labelledby="abut-panel-plan-title">
<div class="viewer-head">
<h2 id="abut-panel-plan-title"><span id="abut-panel-plan-member">교량받침 · 받침블럭 · 솔플레이트</span> <span class="muted small" id="abut-panel-plan-name"></span></h2>
</div>
<div id="abut-panel-plan-bearings" class="edit-row"></div>
<div id="abut-panel-plan-wing" class="edit-row"></div>
<div id="abut-panel-plan-slab" class="edit-row"></div>
<div id="abut-panel-plan-ground" class="edit-row"></div>
<div id="abut-panel-plan-shape" class="edit-row abut-shape-view"></div>
<div id="abut-panel-plan-footing" class="edit-row abut-shape-view"></div>
<p id="abut-panel-plan-msg" class="muted" aria-live="polite"></p>
</section>
<section class="panel viewer" aria-labelledby="member-title"> <section class="panel viewer" aria-labelledby="member-title">
<div class="viewer-head"> <div class="viewer-head">
<h2 id="member-title">코핑</h2> <h2 id="member-title">코핑</h2>
@@ -234,47 +147,7 @@
<div id="member-fields"></div> <div id="member-fields"></div>
<p id="member-note" class="muted small"></p> <p id="member-note" class="muted small"></p>
<button id="member-regen" class="btn primary" type="button" disabled>다시 생성 · 변경 0</button> <button id="member-regen" class="btn primary" type="button" disabled>다시 생성 · 변경 0</button>
<section id="copy-panel" class="copy-panel" aria-labelledby="cp-title">
<header class="copy-head">
<h3 id="cp-title">속성 복사</h3>
<p class="num" id="cp-source"></p>
<p class="muted small">기준 교각의 설정을 고른 교각에만 적용합니다 · 현재 입력값 기준 (미반영 변경 포함)</p>
</header>
<div class="dlg-body">
<div class="dlg-col">
<section>
<h3>1 · 대상 교각</h3>
<div class="cp-tools">
<button id="cp-clear" class="btn-o small" type="button">선택 해제</button>
</div>
<div id="cp-targets" class="cp-chips"></div>
<p class="muted small">고른 교각에만 적용합니다. 고르지 않은 교각은 바뀌지 않습니다. 모델이 없는 교각은 고를 수 없습니다.</p>
</section> </section>
<section>
<h3>2 · 복사할 항목</h3>
<div class="cp-tools">
<button id="cp-items-reset" class="btn-o small" type="button">변경 항목으로 선택</button>
</div>
<div id="cp-items" class="cp-chips"></div>
<p class="muted small">복사하지 않는 값: 좌표 · IP · 받침 EL · 코핑 상면 EL · 기초 하단 EL · 지반고 · 기둥 높이 · 말뚝 선단 EL · 계단 구간</p>
</section>
</div>
<div class="dlg-col">
<section>
<h3>3 · 변경 요약 (고른 교각만)</h3>
<div id="cp-preview" class="cp-lines"></div>
<label class="chk"><input id="cp-regen" type="checkbox" checked />적용 후 고른 교각만 바로 다시 생성</label>
<p class="muted small">적용하면 대상 교각마다 "변경 n건"이 표시되고, 입력 수정 카드에서 항목별로 되돌릴 수 있습니다.</p>
</section>
</div>
</div>
<footer class="copy-foot">
<span id="cp-summary" class="muted"></span>
<button id="cp-apply" class="btn-p" type="button" disabled>대상을 고르세요</button>
</footer>
</section>
</section>
</div>
</div> </div>
<aside class="panel results" aria-labelledby="changes-title"> <aside class="panel results" aria-labelledby="changes-title">
@@ -285,18 +158,14 @@
</aside> </aside>
</main> </main>
<main id="view-drawing" hidden aria-label="교각 일반도 작성"></main>
<main class="grid quantity" id="view-quantity" hidden> <main class="grid quantity" id="view-quantity" hidden>
<aside class="panel piers" aria-labelledby="quantity-pier-title"> <aside class="panel piers" aria-labelledby="quantity-pier-title">
<p id="quantity-pier-title" class="lbl">교각 목록</p> <p id="quantity-pier-title" class="lbl">교각 목록</p>
<button id="quantity-all" class="pier-name" type="button" aria-pressed="true">전체</button>
<ul id="quantity-pier-items" class="pier-items"></ul> <ul id="quantity-pier-items" class="pier-items"></ul>
<p class="pnote" id="quantity-note"></p> <p class="pnote" id="quantity-note"></p>
</aside> </aside>
<section class="panel viewer" aria-labelledby="quantity-title"> <section class="panel viewer" aria-labelledby="quantity-title">
<div class="viewer-head"> <div class="viewer-head">
<button id="quantity-back" class="btn-o" type="button">← ③ 철근배근</button>
<h2 id="quantity-title">철근재료표</h2> <h2 id="quantity-title">철근재료표</h2>
<button id="quantity-export" class="btn-o" type="button">엑셀로 내보내기</button> <button id="quantity-export" class="btn-o" type="button">엑셀로 내보내기</button>
<button id="quantity-print" class="btn-o" type="button">인쇄</button> <button id="quantity-print" class="btn-o" type="button">인쇄</button>
@@ -307,60 +176,46 @@
<main class="grid rebar" id="view-rebar" hidden> <main class="grid rebar" id="view-rebar" hidden>
<aside class="panel piers" aria-labelledby="rebar-pier-title"> <aside class="panel piers" aria-labelledby="rebar-pier-title">
<p id="rebar-pier-title" class="lbl">교각 목록</p> <p id="rebar-pier-title" class="lbl">교각 목록</p>
<div class="phead" aria-hidden="true"><span>교각</span><span>배근</span></div> <div class="phead" aria-hidden="true"><span></span><span>교각</span><span>배근</span></div>
<ul id="rebar-pier-items" class="pier-items"></ul> <ul id="rebar-pier-items" class="pier-items"></ul>
<div class="bulk">
<b id="rebar-bulk-count">선택 0기</b>
<span class="grow"></span>
<button id="rebar-bulk-copy" class="btn-o" type="button" disabled>속성 복사…</button>
</div>
<p id="rebar-member-title" class="lbl members-title">부재 · 배근 타입</p> <p id="rebar-member-title" class="lbl members-title">부재 · 배근 타입</p>
<ul id="rebar-tabs" class="members"></ul> <ul id="rebar-tabs" class="members"></ul>
<p class="pnote">형상은 ② 형상계획 기준입니다. 형상이 바뀌면 "형상 바뀜"으로 표시합니다.</p> <p class="pnote">형상은 ② 형상계획 기준입니다. 형상이 바뀌면 "형상 바뀜"으로 표시합니다.</p>
</aside> </aside>
<div class="center-col workspace review-workspace" id="review-workspace" data-stage="rebar"> <div class="center-col">
<div class="workspace-tools" aria-label="검토 공간 조절">
<div class="layout-switch" role="group" aria-label="모델과 철근표 배치">
<button type="button" class="btn small" data-layout="stack" aria-pressed="true">상하</button>
<button type="button" class="btn small" data-layout="side" aria-pressed="false">좌우</button>
</div>
<label class="model-height-control" for="review-model-height"><span data-size-label>모델 높이</span>
<input id="review-model-height" type="range" min="180" max="560" step="20" value="240" />
<output id="review-model-height-value" for="review-model-height">240 px</output>
</label>
<button id="review-model-toggle" class="btn small" type="button" aria-expanded="true" aria-controls="slot-rebar">모델 접기</button>
<button id="review-inputs" class="btn small" type="button">입력 보기</button>
<button id="review-table" class="btn small" type="button">철근표 보기</button>
<span class="layout-note muted small" aria-live="polite"></span>
</div>
<div class="viewer-slot" id="slot-rebar"></div> <div class="viewer-slot" id="slot-rebar"></div>
<div class="workspace-splitter" role="separator" tabindex="0" aria-controls="slot-rebar" aria-label="모델 크기 조절"></div>
<div class="workspace-pane">
<section class="panel viewer" aria-labelledby="rebar-title"> <section class="panel viewer" aria-labelledby="rebar-title">
<div class="viewer-head"><h2 id="rebar-title">철근표</h2><button id="rebar-materials" class="btn-o" type="button">재료표·수량산출 보기</button></div> <div class="viewer-head"><h2 id="rebar-title">철근표</h2></div>
<p id="rebar-note" class="num"></p> <p id="rebar-note" class="num"></p>
<div id="rebar-table"></div> <div id="rebar-table"></div>
</section> </section>
</div> </div>
</div>
<aside class="panel results" aria-labelledby="rebar-issues-title"> <aside class="panel results" aria-labelledby="rebar-issues-title">
<h2 id="rebar-issues-title">알림</h2> <h2 id="rebar-issues-title">알림</h2>
<ul id="rebar-issues" class="issues"></ul> <ul id="rebar-issues" class="issues"></ul>
<h2>부재 검토</h2> <h2>검토 필요 (결정 대기)</h2>
<p id="review-summary" class="muted small" aria-live="polite"></p> <ul class="issues">
<ul id="review-tasks" class="issues review-tasks"></ul> <li>Q-B5 B1·B3·B5·B7 다리 길이 (제안값 사용)</li>
<li>Q-B6 B2·B6 이음 위치와 길이</li>
<li>Q-C9 P4–B11 간섭: 무시로 결정, 문서 반영 필요</li>
</ul>
<section class="common" aria-labelledby="common-title"> <section class="common" aria-labelledby="common-title">
<h3 id="common-title">공통 설정</h3> <p id="common-title" class="lbl">공통 설정</p>
<fieldset class="material-fields">
<legend>재료</legend>
<label class="mat">fck (MPa) <input id="mat-fck" type="number" step="any" /></label> <label class="mat">fck (MPa) <input id="mat-fck" type="number" step="any" /></label>
<label class="mat">D 규격 강도 <select id="mat-grade-d"><option value="300" selected>SD300</option><option value="400">SD400</option><option value="500">SD500</option></select></label> <label class="mat">D 규격 강도 <select id="mat-grade-d"><option value="300" selected>SD300</option><option value="400">SD400</option><option value="500">SD500</option></select></label>
<label class="mat">H 규격 강도 <select id="mat-grade-h"><option value="300">SD300</option><option value="400" selected>SD400</option><option value="500">SD500</option></select></label> <label class="mat">H 규격 강도 <select id="mat-grade-h"><option value="300">SD300</option><option value="400" selected>SD400</option><option value="500">SD500</option></select></label>
<label class="mat">S 규격 강도 <select id="mat-grade-s"><option value="300">SD300</option><option value="400">SD400</option><option value="500" selected>SD500</option></select></label> <label class="mat">S 규격 강도 <select id="mat-grade-s"><option value="300">SD300</option><option value="400">SD400</option><option value="500" selected>SD500</option></select></label>
<label class="mat">재료표 할증 (%) · 기본 0 가정 <input id="mat-waste" type="number" step="0.5" min="0" /></label> <label class="mat">재료표 할증 (%) · 기본 0 가정 <input id="mat-waste" type="number" step="0.5" min="0" /></label>
</fieldset> <p class="lbl">굽힘 내면반경 (× 철근 지름)</p>
<fieldset class="material-fields">
<legend>굽힘 내면반경 (× 철근 지름)</legend>
<label class="mat">D16 이하 <input id="bend-small16" type="number" step="0.5" min="0.5" /></label> <label class="mat">D16 이하 <input id="bend-small16" type="number" step="0.5" min="0.5" /></label>
<label class="mat">D19–D25 <input id="bend-main25" type="number" step="0.5" min="0.5" /></label> <label class="mat">D19–D25 <input id="bend-main25" type="number" step="0.5" min="0.5" /></label>
<label class="mat">D29–D35 <input id="bend-main35" type="number" step="0.5" min="0.5" /></label> <label class="mat">D29–D35 <input id="bend-main35" type="number" step="0.5" min="0.5" /></label>
<label class="mat">D38 이상 <input id="bend-main51" type="number" step="0.5" min="0.5" /></label> <label class="mat">D38 이상 <input id="bend-main51" type="number" step="0.5" min="0.5" /></label>
</fieldset>
<p id="mat-note" class="muted small"></p> <p id="mat-note" class="muted small"></p>
</section> </section>
</aside> </aside>
@@ -433,33 +288,27 @@
<div class="dlg-col"> <div class="dlg-col">
<section> <section>
<h3>미리보기</h3> <h3>미리보기</h3>
<p id="preview-title" class="muted" aria-live="polite"></p> <p id="preview-title" class="muted"></p>
<h4>교각 정보</h4> <h4>교각 정보</h4>
<div class="pv-scroll"><table id="pv-pier" class="grid-table"></table></div> <table id="pv-pier" class="grid-table"><tbody></tbody></table>
<h4>교대 정보</h4>
<div class="pv-scroll"><table id="pv-abuts" class="grid-table"></table></div>
<h4>받침</h4> <h4>받침</h4>
<div class="pv-scroll">
<table id="pv-bearings" class="grid-table"> <table id="pv-bearings" class="grid-table">
<thead><tr><th>구조물</th><th>번호</th><th>x (m)</th><th>y (m)</th><th>z (m)</th><th>방위각</th><th>위치</th></tr></thead> <thead><tr><th>번호</th><th>x (m)</th><th>y (m)</th><th>z (m)</th><th>방위각</th><th>위치</th></tr></thead>
<tbody></tbody> <tbody></tbody>
</table> </table>
</div>
<h4>IP</h4> <h4>IP</h4>
<div class="pv-scroll">
<table id="pv-ips" class="grid-table"> <table id="pv-ips" class="grid-table">
<thead><tr><th>구조물</th><th>점</th><th>x (m)</th><th>y (m)</th><th>꺾임각</th></tr></thead> <thead><tr><th>점</th><th>x (m)</th><th>y (m)</th><th>꺾임각</th></tr></thead>
<tbody></tbody> <tbody></tbody>
</table> </table>
</div>
</section> </section>
</div> </div>
</div> </div>
<footer class="dlg-foot"> <footer class="dlg-foot">
<span id="dlg-selected" class="muted" aria-live="polite"></span> <span id="dlg-selected" class="muted"></span>
<button id="dlg-cancel" class="btn" type="button">취소</button> <button id="dlg-cancel" class="btn" type="button">취소</button>
<button id="dlg-apply" class="btn primary" type="button" disabled>불러올 구조물을 선택하세요</button> <button id="dlg-apply" class="btn primary" type="button" disabled>선택한 교각 0기 형상 생성</button>
</footer> </footer>
</dialog> </dialog>
@@ -512,9 +361,62 @@
</footer> </footer>
</dialog> </dialog>
<dialog id="copy-dialog" aria-labelledby="cp-title">
<header class="dlg-head">
<h2 id="cp-title">속성 복사</h2>
<p class="muted small">한 교각의 설정을 여러 교각에 한 번에 적용합니다</p>
<button id="cp-close" class="btn small" type="button">닫기</button>
</header>
<div class="dlg-body">
<div class="dlg-col">
<section>
<h3>1 · 원본 교각</h3>
<p id="cp-source" class="num"></p>
<p class="muted small">현재 입력값 기준 (미반영 변경 포함)</p>
</section>
<section>
<h3>2 · 복사할 항목</h3>
<ul class="cp-items">
<li><span class="cp-group">코핑</span>
<label class="chk"><input type="checkbox" data-item="coping-width" />폭 B</label>
<label class="chk"><input type="checkbox" data-item="coping-length" />길이 L <span class="muted small">교각마다 다름 · 기본 해제</span></label>
</li>
<li><span class="cp-group">확대기초 · 말뚝</span>
<label class="chk"><input type="checkbox" data-item="pile-length" />말뚝 길이 <span class="muted small">지반마다 다름 · 기본 해제</span></label>
<label class="chk"><input type="checkbox" data-item="pile-rows" />열별 본수 <span class="muted small">기초 크기마다 다름 · 기본 해제</span></label>
<label class="chk disabled"><input type="checkbox" disabled />기초 형상 · 치수 · 버림 <span class="muted small">예정</span></label>
</li>
<li><span class="cp-group">기둥 · 받침 · 철근배근</span>
<label class="chk disabled"><input type="checkbox" disabled />기둥 단면 · 지름 D, 받침·받침블럭, 배근 <span class="muted small">예정</span></label>
</li>
</ul>
<p class="muted small">복사하지 않는 값: 좌표 · IP · 받침 EL · 코핑 상면 EL · 기초 하단 EL · 지반고 · 기둥 높이 · 말뚝 선단 EL · 계단 구간</p>
</section>
<section>
<h3>3 · 대상 교각</h3>
<label class="chk"><input id="cp-same-type" type="checkbox" checked />원본과 같은 형식만 보기</label>
<ul id="cp-targets" class="cp-targets"></ul>
</section>
</div>
<div class="dlg-col">
<section>
<h3>4 · 적용 미리보기</h3>
<table id="cp-preview" class="grid-table">
<thead><tr><th>대상</th><th>형식</th><th>바뀌는 값</th><th>건너뜀</th><th>내용</th></tr></thead>
<tbody></tbody>
</table>
<label class="chk"><input id="cp-regen" type="checkbox" checked />적용 후 대상 교각 형상까지 바로 다시 생성</label>
<p class="muted small">적용하면 대상 교각마다 "변경 n건"이 표시되고, 입력 수정 카드에서 항목별로 되돌릴 수 있습니다.</p>
</section>
</div>
</div>
<footer class="dlg-foot">
<span id="cp-summary" class="muted"></span>
<button id="cp-cancel" class="btn" type="button">취소</button>
<button id="cp-apply" class="btn-p" type="button" disabled>대상 0기에 적용</button>
</footer>
</dialog>
<script type="module" src="/src/main.ts"></script> <script type="module" src="/src/main.ts"></script>
<script type="module" src="/랜딩페이지/landing-page.ts"></script>
</body> </body>
</html> </html>
-1
View File
@@ -4,7 +4,6 @@
"description": "교각 3D 형상 생성 웹앱 (1단계: 형상 생성)", "description": "교각 3D 형상 생성 웹앱 (1단계: 형상 생성)",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
"preview": "vite preview",
"build": "tsc --noEmit && vite build", "build": "tsc --noEmit && vite build",
"typecheck": "tsc --noEmit", "typecheck": "tsc --noEmit",
"test": "vitest run" "test": "vitest run"
-102
View File
@@ -1,102 +0,0 @@
# Pierzainer Ground
AI 연결 없이 종평면도와 교각 Excel에서 지반면 JSON을 생성합니다.
운곡교는 첫 번째 자료, 산외교는 두 번째 자료이며 기존 최종 결과를 유지합니다.
## 일반 실행 — 두 파일만 선택
1. **`지반모델링 프로그램 실행.bat`** 실행
2. **종평면도 DXF/DWG** 선택
3. **교각 Excel** 선택
4. **지반 모델 자동 생성** 클릭
새 화면 제목은 **`도면 + Excel 자동 생성 v2`** 입니다. 이전 화면이 열려 있으면 닫고 다시 실행하세요.
EPSG·블록명·축 방향·레이어·설정 파일을 사용자가 입력할 필요가 없습니다.
결과는 `data/output/drawing_도면명/`에 자동 저장됩니다.
- `ground_model.json`: 실제 지반면·교각·출처·지도 처리 상태 (지도 취득 실패 시)
- `ground_model_3d_with_maps.json`: 실제 위성사진·2D 지도까지 포함됐을 때 생성
- `generation_settings.json`: 프로그램이 자동 결정한 처리 조건 기록 (입력할 필요 없음)
- `cache/`: 원본 DWG 변환본과 실제 지도 이미지. 같은 입력의 반복 처리에 사용
이전에 지도 없는 `ground_model.json`이 생성되어 있으면, 같은 두 입력의 지도 생성 성공 후
그 파일도 지도 포함 결과로 갱신합니다. 이전 파일명을 열어서 오래된 지도 없는 결과를 보는 일을 방지합니다.
## 자동 처리 과정
```text
종평면도 + 교각 Excel
→ Excel IP1/IP3 중점으로 교각 중심 계산
→ 도면의 지형 블록과 CAD 축 후보 비교
→ 각 교각 위치에서 실측 표고점·등고선 TIN이 유효한지 확인
→ 일치하는 지형으로 고저차가 있는 지반 격자 생성
→ 원본 좌표계 / 동일 원본의 기존 처리 이력 확인
→ 정보 없음: 프로젝트 기본 EPSG:5186 적용 및 가정 상태 기록
→ 실제 위성사진/2D 지도 취득·결합
```
교각 문자 삽입점을 교각 중심으로 사용하거나 좌표를 임의 평행이동하지 않습니다.
표고 0의 단순 CAD 선과 구조용 3D 선을 지형으로 자동 채택하지 않습니다.
자료가 없는 영역과 긴 TIN 삼각형은 `null`입니다.
서로 다른 표고의 지형 원본이 중복되어 자동 판별할 수 없으면 원자료 문제를 표시합니다.
모델 좌표는 X=북(N), Y=동(E), 단위 m입니다. CAD x/y 순서는 실제 교각 좌표와
지형 TIN의 일치를 대조해 결정합니다. 거리·표고는 m, 구조 치수는 기존 스키마의 mm 규약입니다.
## 지도 처리
지도 좌표계는 도면 GEODATA/WKT, 도면·Excel의 명시된 EPSG 또는 **동일 원본 해시로
확인한 기존 처리 규약**을 우선합니다. 이전에 사용자가 지정한 좌표계도 두 입력의 해시가
동일할 때만 재사용합니다 (`data/input/coordinate_references.json`).
정보가 없는 다른 종평면도는 `data/input/map_defaults.json`의 **EPSG:5186**을 기본값으로
적용하여 지도도 포함합니다. 이는 원본에서 확인된 좌표계가 아니라 프로젝트의 매핑 가정입니다.
이 경우 `crs_assumed=true`, `crs_status=project_default_not_source_verified`로 기록하고 화면에 표시합니다.
산외교처럼 기존 원본 규약이 EPSG:5187인 자료는 이 기본값으로 덮어쓰지 않습니다.
동일 원본의 기존 규약을 재사용한 경우에도 기존의 추정/검증 상태를 보존합니다.
확인된 좌표계의 기존 실제 이미지 캐시를 우선 사용하며, 새 지도 취득은 OSM/Esri 인터넷을 사용합니다.
타일 요청으로 해당 위치 지역이 지도 서비스에 전달됩니다. AI/API 키는 필요 없습니다.
`map_status.status`는 다음과 같습니다.
| 상태 | 의미 |
|---|---|
| `mapped` | 위성사진과 2D 지도가 실제 이미지로 포함됨 |
| `unresolved_crs` | 원본 두 파일에서 지도 좌표계를 확정할 수 없음. 지반면 생성은 완료 |
| `image_unavailable` | 지반면 생성 완료, 지도 이미지 취득 실패 |
| `not_requested` | 코드에서 지도 생성을 요청하지 않음 |
지도 다운로드가 실패해도 지반 생성 전체를 실패로 처리하지 않습니다.
좌표계 기본값이 실제 도면 좌표계와 다른 경우 지도 위치가 어긋날 수 있습니다.
지도는 위치 확인용 배경이며 공인 측량 정확도를 보장하지 않습니다.
## 기존 운곡교·산외교 재생성
**`지반 JSON 생성.bat`** 또는 아래 명령은 기존 두 교량의 보존된 조건을 그대로 재현합니다.
```powershell
.venv/Scripts/python.exe -B build_ground_models.py --bridge all
```
최종 파일은 각각 `data/output/ungok/ground_model_3d_with_maps.json`,
`data/output/sanwoe/ground_model_3d_with_maps.json`입니다.
운곡교는 최초 지형 DXF가 없어 보존한 실제 지반면을 재사용합니다.
산외교는 동일 원본의 EPSG:5183 → EPSG:5187 처리 규약을 재사용하며, 이 좌표계는 기존에 위치를 대조한 가정입니다.
## 유지하는 구조
`pierzainer_ground/`는 실제 실행 소스, `data/input/ungok`·`sanwoe`는 원본과 기존 데이터,
`data/cache/`는 실제 지도 이미지, `data/output/`은 최종 결과입니다.
`.venv/`와 `tools/libredwg/`는 실행 의존성이며 `.backup/`의 ZIP 하나는 정리 전 복구 자료입니다.
검증 스크립트·비교 보고서·임시 출력 폴더는 유지하지 않습니다.
설치된 환경이 없으면 `pip install -r requirements.txt`로 의존성을 설치합니다.
## 확인된 결과
- 기존 운곡교: 교각 6개 / 유효 지반 격자 1,759개 / 위성사진·2D 지도
- 기존 산외교: 교각 7개 / 유효 지반 격자 10,626개 / 위성사진·2D 지도
- 옥성교: 실제 `XR_현황` 블록 / 교각 6개 / 여백 100 m·격자 5 m에서 유효 격자 2,344개
- 옥성교: 이전에 사용자가 선택한 EPSG:5186을 적용하여 실제 OSM 2D 지도와 Esri 위성사진 포함 생성 완료.
좌표계는 `user_selected_unverified`로 기록합니다.
원본 도면과 최종 두 교량 결과는 검증 없이 삭제하거나 덮어쓰지 않습니다.
모든 작업 결과는 `pierzainer_ground` 내부에 저장합니다.
-72
View File
@@ -1,72 +0,0 @@
"""Build production ground + satellite + 2D-map JSONs using preserved real data."""
import argparse
import base64
import copy
import io
import json
from pathlib import Path
from PIL import Image
from pierzainer_ground.project_coordinates import update_pier_centers, update_map_pier_features
from pierzainer_ground.survey_terrain import rebuild_terrain
ROOT = Path(__file__).resolve().parent
def read(path):
return json.loads(path.read_text(encoding='utf-8'))
def validate(data):
if data.get('schema') != 2:
raise ValueError('Expected existing schema 2')
grid = data['terrain_grid']
if len(grid['z']) != grid['nx'] * grid['ny']:
raise ValueError('Terrain grid dimensions do not match')
layers = {v['id']: v for v in data['visualization']['layers']}
for name in ('satellite', 'ground'):
layer = layers[name]
uri = layer['image']
if not uri.startswith('data:image/'):
raise ValueError(f'Missing embedded image: {name}')
with Image.open(io.BytesIO(base64.b64decode(uri.split(',', 1)[1]))) as image:
image.verify()
if len(layer['bounds']) != 2:
raise ValueError(f'Missing geographic bounds: {name}')
if not data['piers'] or not any(z is not None for z in grid['z']):
raise ValueError('Empty pier or terrain data')
def build(bridge):
folder = ROOT / 'data/input' / bridge
project = read(folder / 'project.json')
data = copy.deepcopy(read(folder / project['source_model']))
data['visualization'] = read(ROOT / 'data/cache' / bridge / 'map_layers.json')
if project['terrain_source_available']:
update_pier_centers(data, folder / project['workbook'])
data = rebuild_terrain(data, project)
data['crs'] = project['crs']
data['crs_assumed'] = True
update_map_pier_features(data, project['crs'])
validate(data)
target = ROOT / 'data/output' / bridge / 'ground_model_3d_with_maps.json'
target.parent.mkdir(parents=True, exist_ok=True)
content = json.dumps(data, ensure_ascii=False, indent=2, allow_nan=False)
# Validate the serialized payload before replacing the last successful file.
validate(json.loads(content))
temporary = target.with_suffix('.json.tmp')
temporary.write_text(content, encoding='utf-8')
temporary.replace(target)
print(json.dumps({'bridge': bridge, 'output': str(target),
'piers': len(data['piers']),
'terrain_nodes': sum(z is not None for z in data['terrain_grid']['z']),
'maps': ['satellite', 'ground'],
'terrain': 'source_DXF_TIN' if project['terrain_source_available'] else 'preserved_original_result'}, ensure_ascii=True))
return data
if __name__ == '__main__':
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument('--bridge', choices=['all', 'ungok', 'sanwoe'], default='all')
args = parser.parse_args()
for bridge in (['ungok', 'sanwoe'] if args.bridge == 'all' else [args.bridge]):
build(bridge)
-181
View File
@@ -1,181 +0,0 @@
"""Generate the twelve packaged samples through the existing drawing pipeline.
Read-only inputs outside this project; every output/cache/log stays below data/output.
Missing or ambiguous measured surfaces remain failures, never synthetic surfaces.
"""
from __future__ import annotations
import argparse
from datetime import datetime
import hashlib
import json
from pathlib import Path
import re
import subprocess
import sys
import traceback
ROOT = Path(__file__).resolve().parent
OUTPUT = ROOT / 'data/output/samples_20261102'
PACKAGE = ROOT.parent / '도면추출'
def save(path, value):
path.parent.mkdir(parents=True, exist_ok=True)
temp = path.with_suffix(path.suffix + '.tmp')
temp.write_text(json.dumps(value, ensure_ascii=False, indent=2, allow_nan=False), encoding='utf-8')
temp.replace(path)
def discover(source):
jobs = []
references=ROOT/'data/input/samples_20261102/recovered/jobs.json'
overrides=json.loads(references.read_text(encoding='utf-8')) if references.is_file() else {}
for workbook in sorted((PACKAGE / 'samples').glob('샘플*.xlsx')):
match = re.match(r'샘플(\d+)_(.+)_교각입력데이터', workbook.stem)
if not match:
continue
number, bridge = int(match[1]), match[2]
folders = [p for p in source.iterdir() if p.is_dir() and f'(sample{number})' in p.name]
drawings = [p for folder in folders for p in folder.iterdir()
if p.is_file() and p.suffix.lower() in ('.dwg', '.dxf') and '종평면도' in p.name]
jobs.append(dict(sample=number, bridge=bridge, workbook=str(workbook),
drawing=str(drawings[0]) if len(drawings) == 1 else None,
candidates=[str(p) for p in drawings],
output=str(OUTPUT / f'{number:02d}_{bridge}')))
if str(number) in overrides:
jobs[-1]['profile_drawing']=jobs[-1]['drawing']
jobs[-1].update(overrides[str(number)])
return sorted(jobs, key=lambda item: item['sample'])
def generate(job):
from pierzainer_ground.drawing_job import build_from_files, build_drawing, DrawingJob
from pierzainer_ground.project_coordinates import workbook_piers
from pierzainer_ground.map_export import validate_embedded_image
out = Path(job['output']); out.mkdir(parents=True, exist_ok=True)
result = {**job, 'status': 'failed'}
with (out / 'generation.log').open('w', encoding='utf-8') as log:
def message(text):
print(text, flush=True); log.write(str(text) + '\n'); log.flush()
try:
if job.get('recovered_source'):
import shutil
source=Path(job['drawing']);shared=ROOT/'data/cache/recovered_sources'
cache=out/'cache';cache.mkdir(exist_ok=True)
for suffix in ('.dxf','.dxf.source.json','.geometry-safe.dxf','.geometry-safe.repair.json'):
saved=shared/(source.stem+suffix)
if saved.is_file():shutil.copyfile(saved,cache/saved.name)
# Inspection confirmed that the generic model-space candidate also
# includes non-terrain CAD elevations in these two exact sources.
# Reuse established layer readers; never shift coordinates or infer Z.
digest=hashlib.sha256(Path(job['drawing']).read_bytes()).hexdigest()
selections={
'ee1d703b738e28c9ccb824707f2f2b6f87203499dd9efe34fea3b620c04264fa':
dict(layers='CA002,CA0021,CAA001,CAA002',terrain_block='',z_min=0.,z_max=200.,
reason='기존 운곡교 LayerMap의 실제 표고점 INSERT/글자 및 등고선만 재사용'),
'e5cf5799e8265b28fca915be6ca1a8d97e0798f725a16f9d6d475daf9c031439':
dict(layers='XR_현황-수정$0$Point',terrain_block='*Model_Space',z_min=-500.,z_max=9000.,
reason='원본의 비영 표고 측량 POINT만 사용. 일반 CAD 높이선 제외'),
'a5ade71241ad36364ba8f1b099ea6f5d221f28b30d8873bbbcec44a0a647942f':
dict(layers='CAA001,CAA002',terrain_block='',z_min=0.,z_max=200.,terrain_crs='EPSG:5181',
reason='감북교 원본의 2D POLYLINE 헤더 등고선 사용. 원좌표 N=447km / Excel N=547km 차이는 EPSG:5181→5186 규약 후보로 기록(원본 CRS 표기 미확인)')}
if job.get('terrain_parameters'):
defaults=json.loads((ROOT/'data/input/map_defaults.json').read_text(encoding='utf-8'))
settings=DrawingJob(drawing=job['drawing'],piers=job['workbook'],output=str(out),
crs=defaults['crs'],terrain_crs=defaults['crs'],allow_download=True,**job['terrain_parameters'])
settings.auto_detection={'crs_status':defaults['status'],'crs_assumed':True,
'project_default_applied':True,'arbitrary_offset_applied':False,
'recovered_source':job['recovered_source'],
'original_profile_drawing':job.get('profile_drawing'),
'method':'recovered_original_CAD_survey_geometry'}
message('누락된 원본 CAD 지형 복구: '+job['recovered_source']['source'])
data=build_drawing(settings,message)
elif digest in selections:
selection=dict(selections[digest]);reason=selection.pop('reason')
defaults=json.loads((ROOT/'data/input/map_defaults.json').read_text(encoding='utf-8'))
terrain_crs=selection.pop('terrain_crs',defaults['crs'])
settings=DrawingJob(drawing=job['drawing'],piers=job['workbook'],output=str(out),
crs=defaults['crs'],terrain_crs=terrain_crs,allow_download=True,**selection)
settings.auto_detection={'crs_status':defaults['status'],'crs_assumed':True,
'project_default_applied':True,'arbitrary_offset_applied':False,
'source_sha256':digest,'layer_selection_reason':reason,
'method':'inspected_original_terrain_layers'}
if terrain_crs!=defaults['crs']:
settings.auto_detection.update(crs_status='inferred_false_northing_convention_not_source_verified',
project_default_applied=False,
terrain_crs_assumed=True,
coordinate_reference_reason=reason)
message(reason)
data=build_drawing(settings,message)
else:
data = build_from_files(job['drawing'], job['workbook'], message, out)
controls = {p['id']:p['axis'] for p in workbook_piers(job['workbook'])}
errors = []
for pier in data['piers']:
a, b = controls[pier['id']]
error = ((pier['X']-(a[0]+b[0])/2)**2+(pier['Y']-(a[1]+b[1])/2)**2)**.5
errors.append(error)
# Existing schema serializes N/E to 0.001 m independently.
if error > 0.000708:
raise ValueError('IP1/IP3 midpoint verification failed')
grid = data['terrain_grid']
if len(grid['z']) != grid['nx'] * grid['ny'] or not any(z is not None for z in grid['z']):
raise ValueError('Invalid terrain grid')
for layer in data.get('visualization', {}).get('layers', []):
validate_embedded_image(layer)
filename = 'ground_model_3d_with_maps.json' if data['map_status']['status'] == 'mapped' else 'ground_model.json'
restored = json.loads((out / filename).read_text(encoding='utf-8'))
assert restored['schema'] == 2 and len(restored['piers']) == len(controls)
result.update(status='generated', json=str(out / filename),
pier_count=len(data['piers']), valid_grid_points=sum(z is not None for z in grid['z']),
covered_piers=sum(p['ground']['used'] is not None for p in data['piers']),
midpoint_error_max_m=max(errors, default=0),
map_status=data['map_status'], crs=data['crs'],
crs_assumed=data['crs_assumed'],
terrain_block=data['surface_provenance']['terrain_block'],
sha256=hashlib.sha256((out / filename).read_bytes()).hexdigest())
except Exception as exc:
result['error'] = str(exc)
log.write(traceback.format_exc()); message('FAILED: ' + str(exc))
save(out / 'result.json', result)
return result
def main():
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument('--source', type=Path, default=Path.home()/'Desktop/도면추출')
parser.add_argument('--sample', type=int)
parser.add_argument('--worker', type=int)
args = parser.parse_args()
OUTPUT.mkdir(parents=True, exist_ok=True)
if args.worker is not None:
jobs = json.loads((OUTPUT/'inputs.json').read_text(encoding='utf-8'))
generate(next(job for job in jobs if job['sample'] == args.worker))
return
jobs = discover(args.source)
if len(jobs) != 12:
raise ValueError(f'Expected twelve workbook samples, found {len(jobs)}')
save(OUTPUT/'inputs.json', jobs)
for job in jobs:
if args.sample and job['sample'] != args.sample:
continue
out = Path(job['output']); out.mkdir(parents=True, exist_ok=True)
if not job['drawing']:
save(out/'result.json', {**job, 'status':'missing_drawing',
'error':'대응하는 종평면도 원본이 없거나 여러 개입니다. 임의 지형 생성 안 함.'})
continue
print(f"START {job['sample']:02d} {job['bridge']}", flush=True)
import os
environment = dict(os.environ, PYTHONIOENCODING='utf-8')
completed = subprocess.run([sys.executable, '-B', '-u', str(Path(__file__).resolve()), '--worker', str(job['sample'])], cwd=ROOT, env=environment)
if completed.returncode:
save(out/'result.json', {**job, 'status':'process_failed', 'exit_code':completed.returncode})
results = [json.loads((Path(job['output'])/'result.json').read_text(encoding='utf-8'))
for job in jobs if (Path(job['output'])/'result.json').exists()]
save(OUTPUT/'summary.json', {'updated':datetime.now().isoformat(), 'results':results})
for result in results:
print(result['sample'], result['bridge'], result['status'], result.get('map_status', {}).get('status', ''), flush=True)
if __name__ == '__main__':
main()
@@ -1,14 +0,0 @@
{
"schema": 1,
"references": [
{
"drawing_sha256": "6b98d0654b19ca7c448f4ddbecfaa647d9a506bb50a559af5a96889d0c293e2c",
"pier_sha256": "c65657f1057986d391a3edb175530fee82083e2215ce094076f22b477dcc36a3",
"drawing_name": "01 옥성교 종평면도.dwg",
"crs": "EPSG:5186",
"terrain_crs": "EPSG:5186",
"status": "user_selected_unverified",
"basis": "User selected EPSG:5186 in the supplied GUI screenshot and requested inclusion of real maps. Bound to both input hashes; not a global default."
}
]
}
@@ -1,10 +0,0 @@
{
"schema": 1,
"crs": "EPSG:5186",
"status": "project_default_not_source_verified",
"basis": "Current project EPSG:5186 selection; user requested automatic map inclusion for other drawings without entering settings.",
"notes": [
"Use only when source metadata, an identical-source profile and an earlier input-specific choice are unavailable.",
"A project default is a mapping assumption, not a coordinate system extracted from the drawing."
]
}
@@ -1,7 +0,0 @@
{
"source": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM.zip",
"archive_entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050302-001-대호지교 종평면도.pdf",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\03_대호지교_원본_종평면도.pdf",
"sha256": "7284235502370bfc99741cf0996a1464cff16e71821760654e22ea1b0553f6e5",
"role": "original_bridge_plan_profile_PDF"
}
@@ -1,893 +0,0 @@
{
"source": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM.zip",
"archive_entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050302-001-대호지교 종평면도.pdf",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\03_대호지교_원본_종평면도.pdf",
"sha256": "7284235502370bfc99741cf0996a1464cff16e71821760654e22ea1b0553f6e5",
"role": "original_bridge_plan_profile_PDF",
"method": "original_PDF_vector_digit_signatures_at_original_POINT_or_cross_markers",
"normalized_points": 850,
"conflicting_markers_rejected": 16,
"ambiguous_labels_excluded": true,
"AI_or_OCR_service_used": false,
"control_registration": {
"status": "registered",
"solutions": [
{
"scale_m_per_pt": 1.1756012687426343,
"rotation": [
[
0.9448449142707172,
-0.32751807274829986
],
[
0.32751807274829986,
0.9448449142707172
]
],
"translation_EN": [
153834.65658955806,
481178.54830587894
],
"residual_m": [
0.03732333237901017,
0.0488732377124772,
0.03882501195549349,
0.03631586084734654,
0.033845926767769895,
0.038399816148947274,
0.0642022018944583,
0.0494976968631278,
0.06169674830025886,
0.054259450457597024,
0.04077459964791026,
0.029776165921153005
],
"controls": [
{
"pier": "P1",
"pdf_center": [
128.10000225,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1555,
1562
],
"vertices_pdf": [
[
129.60000225,
383.28000275
],
[
126.60000225,
383.28000275
],
[
129.60000225,
362.63998775000005
],
[
126.60000225,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 2.999999999999986,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
153833.31774949998,
480714.9299995
]
},
{
"pier": "P2",
"pdf_center": [
170.58000149999998,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1569,
1576
],
"vertices_pdf": [
[
172.08000149999998,
383.28000275
],
[
169.08000149999998,
383.28000275
],
[
172.08000149999998,
362.63998775000005
],
[
169.08000149999998,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
153880.5632875,
480698.5654295
]
},
{
"pier": "P3",
"pdf_center": [
213.17999249999997,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1583,
1590
],
"vertices_pdf": [
[
214.67999249999997,
383.28000275
],
[
211.67999249999997,
383.28000275
],
[
214.67999249999997,
362.63998775000005
],
[
211.67999249999997,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
153927.80882500001,
480682.2008595
]
},
{
"pier": "P4",
"pdf_center": [
255.78000637499997,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1597,
1604
],
"vertices_pdf": [
[
257.400009,
383.28000275
],
[
254.16000375,
383.28000275
],
[
257.400009,
362.63998775000005
],
[
254.16000375,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.2400052500000243,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
153975.20082600001,
480665.7855585
]
},
{
"pier": "P5",
"pdf_center": [
298.5,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1611,
1618
],
"vertices_pdf": [
[
300.0,
383.28000275
],
[
297.0,
383.28000275
],
[
300.0,
362.63998775000005
],
[
297.0,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154022.5928265,
480649.3702575
]
},
{
"pier": "P6",
"pdf_center": [
340.98001125,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1625,
1632
],
"vertices_pdf": [
[
342.48001125,
383.28000275
],
[
339.48001125,
383.28000275
],
[
342.48001125,
362.63998775000005
],
[
339.48001125,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154069.8383645,
480633.0056875
]
},
{
"pier": "P7",
"pdf_center": [
383.5800015,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1645,
1633,
1634,
1635,
1636,
1637,
1638,
1639,
1640,
1641,
1642,
1643,
1644
],
"vertices_pdf": [
[
382.0800015,
362.63998775000005
],
[
385.08000150000004,
362.63998775000005
],
[
385.08000150000004,
383.28000275
],
[
382.0800015,
383.28000275
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.000000000000057,
"evidence_kind": "original_hidden_cap_crossbar_and_dashed_side_extents",
"target_EN": [
154117.0839025,
480616.6411175
]
},
{
"pier": "P8",
"pdf_center": [
426.06001275,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1652,
1659
],
"vertices_pdf": [
[
427.56001275,
383.28000275
],
[
424.56001275,
383.28000275
],
[
427.56001275,
362.63998775000005
],
[
424.56001275,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154164.32944,
480600.27654700004
]
},
{
"pier": "P9",
"pdf_center": [
468.71999362500003,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1666,
1673
],
"vertices_pdf": [
[
470.2799835,
383.28000275
],
[
467.16000375,
383.28000275
],
[
470.2799835,
362.63998775000005
],
[
467.16000375,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.1199797500000273,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154211.721441,
480583.8612465
]
},
{
"pier": "P10",
"pdf_center": [
511.3800202499999,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1680,
1687
],
"vertices_pdf": [
[
512.8800202499999,
383.28000275
],
[
509.88002025,
383.28000275
],
[
512.8800202499999,
362.63998775000005
],
[
509.88002025,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 2.999999999999943,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154259.07253,
480567.32782999997
]
},
{
"pier": "P11",
"pdf_center": [
553.9199981249999,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1694,
1701
],
"vertices_pdf": [
[
555.3599849999999,
383.28000275
],
[
552.48001125,
383.28000275
],
[
555.3599849999999,
362.63998775000005
],
[
552.48001125,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 2.8799737499999765,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154306.31806750002,
480550.9632595
]
},
{
"pier": "P12",
"pdf_center": [
596.46002175,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1708,
1715
],
"vertices_pdf": [
[
597.96002175,
383.28000275
],
[
594.96002175,
383.28000275
],
[
597.96002175,
362.63998775000005
],
[
594.96002175,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154353.5636055,
480534.5986895
]
}
]
}
],
"original_plot_coordinate_quantum_pt": 0.12,
"max_registration_residual_m": 0.2,
"pier_label_order": "original_plan_profile_A1_P1_to_P12_A2_left_to_right"
},
"geometry_quantum_m": 0.1410721522491161,
"profile_ground_curve_index": 29595,
"profile_ground_ordinates": [
{
"X": 480714.95650470664,
"Y": 153833.34402696486,
"Z": -0.2872082516860246,
"pier": "P1",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
128.10000225,
460.2000125
],
"pdf_plan_point": [
128.10000225,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480698.60040247964,
"Y": 153880.52914831342,
"Z": -3.2464331093278815,
"pier": "P2",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
170.58000149999998,
462.71747674665176
],
"pdf_plan_point": [
170.58000149999998,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480682.1980997497,
"Y": 153927.8475518038,
"Z": -8.88465577725492,
"pier": "P3",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
213.17999249999997,
467.5140111987443
],
"pdf_plan_point": [
213.17999249999997,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480665.7957882122,
"Y": 153975.16598070282,
"Z": -10.302780859970994,
"pier": "P4",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
255.78000637499997,
468.720434963332
],
"pdf_plan_point": [
255.78000637499997,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480649.34728079214,
"Y": 154022.61767841454,
"Z": -10.443341672063639,
"pier": "P5",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
298.5,
468.8400125
],
"pdf_plan_point": [
298.5,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480632.9911739448,
"Y": 154069.80281309222,
"Z": -10.300794276340753,
"pier": "P6",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
340.98001125,
468.7187449419572
],
"pdf_plan_point": [
340.98001125,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480616.58887150366,
"Y": 154117.12121574953,
"Z": -9.874145680307947,
"pier": "P7",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
383.5800015,
468.35578753315366
],
"pdf_plan_point": [
383.5800015,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480600.2327646563,
"Y": 154164.3063504272,
"Z": -8.174418746969536,
"pier": "P8",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
426.06001275,
466.90980015821646
],
"pdf_plan_point": [
426.06001275,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480583.8073639851,
"Y": 154211.6913883239,
"Z": -4.91826447643848,
"pier": "P9",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
468.71999362500003,
464.13973287641596
],
"pdf_plan_point": [
468.71999362500003,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480567.38194569875,
"Y": 154259.07647703795,
"Z": -3.099416141673487,
"pier": "P10",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
511.3800202499999,
462.5924068457399
],
"pdf_plan_point": [
511.3800202499999,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480551.00274986203,
"Y": 154306.32822029677,
"Z": -2.387176347248783,
"pier": "P11",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
553.9199981249999,
461.9864920187958
],
"pdf_plan_point": [
553.9199981249999,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480534.6235364102,
"Y": 154353.5800143729,
"Z": 2.9660524168061784,
"pier": "P12",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
596.46002175,
457.43240685596857
],
"pdf_plan_point": [
596.46002175,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
}
],
"vertical_axis": {
"ticks": [
{
"line_index": 7072,
"EL": 20.0,
"pdf_y": 442.9199945
},
{
"line_index": 7070,
"EL": 10.0,
"pdf_y": 451.43998325
},
{
"line_index": 7069,
"EL": 0.0,
"pdf_y": 459.96001775
},
{
"line_index": 7067,
"EL": -10.0,
"pdf_y": 468.48000724999997
},
{
"line_index": 7066,
"EL": -20.0,
"pdf_y": 476.999996
},
{
"line_index": 7074,
"EL": -30.0,
"pdf_y": 485.51998475000005
},
{
"line_index": 7221,
"EL": -40.0,
"pdf_y": 493.9199945
}
],
"coefficients": [
-1.1754784051362916,
540.6679684855154
],
"max_residual_m": 0.07568108572945675
},
"source_vector_cache_sha256": "dd2bbdc81487c040011d0aacca176204e9a7b8af99235698c75830b9b1527fb9"
}
@@ -1,980 +0,0 @@
{
"4": {
"drawing": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\04_@서울-세종 9공구 1000현황.dwg",
"recovered_source": {
"samples": [
4
],
"source": "D:\\Desktop\\업무\\01.프로젝트\\DR\\001 도면-DR\\04 DR거더 실시설계도면\\03 목동교\\01 공통\\@서울-세종 9공구 1000현황.dwg",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\04_@서울-세종 9공구 1000현황.dwg",
"sha256": "08030556dbb36b0784cc17a4ff3239e6485217810bcbdf952dbec2f53e6298f6",
"role": "original_missing_XREF"
},
"terrain_parameters": {
"terrain_block": "",
"layers": "CA002,CA0021,CAA001,CAA002",
"z_min": -500.0,
"z_max": 9000.0
}
},
"5": {
"drawing": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\05_project_topography_original.dwg",
"recovered_source": {
"samples": [
5
],
"source": "D:\\Desktop\\업무\\00.프로그램\\001. 프로그램실행\\003.DRzainer\\Programs\\승천천교_260224.zip",
"archive_entry": "승천천교/천지인/지형도/Merge_5000.dwg",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\05_project_topography_original.dwg",
"sha256": "1e6ff901b4a74579a959cd415722bcfa9787140837171cb25133dea7303e3735",
"role": "original_project_topographic_CAD",
"variant": "original"
},
"terrain_parameters": {
"terrain_block": "",
"layers": "F0017111,F0017114,F0027217,F0027132",
"z_min": -500.0,
"z_max": 9000.0
}
},
"6": {
"drawing": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\06_서수평장1-현황+선형+노리-20200410.dwg",
"recovered_source": {
"samples": [
6,
7
],
"source": "D:\\Desktop\\업무\\01.프로젝트\\DR\\001 도면-DR\\04 DR거더 실시설계도면\\05 계문철교\\01.공통사항\\XREF\\서수평장1-현황+선형+노리-20200410.dwg",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\06_서수평장1-현황+선형+노리-20200410.dwg",
"sha256": "c13b04d7f9f8c7d13548eb2cd9fab24c3091e61dc3e292b9ded59b3a91c5cd1a",
"role": "original_missing_XREF"
},
"terrain_parameters": {
"terrain_block": "xref-현황(191219)",
"layers": "",
"z_min": -500.0,
"z_max": 9000.0
}
},
"7": {
"drawing": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\06_서수평장1-현황+선형+노리-20200410.dwg",
"recovered_source": {
"samples": [
6,
7
],
"source": "D:\\Desktop\\업무\\01.프로젝트\\DR\\001 도면-DR\\04 DR거더 실시설계도면\\05 계문철교\\01.공통사항\\XREF\\서수평장1-현황+선형+노리-20200410.dwg",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\06_서수평장1-현황+선형+노리-20200410.dwg",
"sha256": "c13b04d7f9f8c7d13548eb2cd9fab24c3091e61dc3e292b9ded59b3a91c5cd1a",
"role": "original_missing_XREF"
},
"terrain_parameters": {
"terrain_block": "xref-현황(191219)",
"layers": "",
"z_min": -500.0,
"z_max": 9000.0
}
},
"3": {
"drawing": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\03_original_pdf_soundings.dxf",
"recovered_source": {
"source": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM.zip",
"archive_entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050302-001-대호지교 종평면도.pdf",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\03_대호지교_원본_종평면도.pdf",
"sha256": "7284235502370bfc99741cf0996a1464cff16e71821760654e22ea1b0553f6e5",
"role": "original_bridge_plan_profile_PDF",
"method": "original_PDF_vector_digit_signatures_at_original_POINT_or_cross_markers",
"normalized_points": 850,
"conflicting_markers_rejected": 16,
"ambiguous_labels_excluded": true,
"AI_or_OCR_service_used": false,
"control_registration": {
"status": "registered",
"solutions": [
{
"scale_m_per_pt": 1.1756012687426343,
"rotation": [
[
0.9448449142707172,
-0.32751807274829986
],
[
0.32751807274829986,
0.9448449142707172
]
],
"translation_EN": [
153834.65658955806,
481178.54830587894
],
"residual_m": [
0.03732333237901017,
0.0488732377124772,
0.03882501195549349,
0.03631586084734654,
0.033845926767769895,
0.038399816148947274,
0.0642022018944583,
0.0494976968631278,
0.06169674830025886,
0.054259450457597024,
0.04077459964791026,
0.029776165921153005
],
"controls": [
{
"pier": "P1",
"pdf_center": [
128.10000225,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1555,
1562
],
"vertices_pdf": [
[
129.60000225,
383.28000275
],
[
126.60000225,
383.28000275
],
[
129.60000225,
362.63998775000005
],
[
126.60000225,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 2.999999999999986,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
153833.31774949998,
480714.9299995
]
},
{
"pier": "P2",
"pdf_center": [
170.58000149999998,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1569,
1576
],
"vertices_pdf": [
[
172.08000149999998,
383.28000275
],
[
169.08000149999998,
383.28000275
],
[
172.08000149999998,
362.63998775000005
],
[
169.08000149999998,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
153880.5632875,
480698.5654295
]
},
{
"pier": "P3",
"pdf_center": [
213.17999249999997,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1583,
1590
],
"vertices_pdf": [
[
214.67999249999997,
383.28000275
],
[
211.67999249999997,
383.28000275
],
[
214.67999249999997,
362.63998775000005
],
[
211.67999249999997,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
153927.80882500001,
480682.2008595
]
},
{
"pier": "P4",
"pdf_center": [
255.78000637499997,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1597,
1604
],
"vertices_pdf": [
[
257.400009,
383.28000275
],
[
254.16000375,
383.28000275
],
[
257.400009,
362.63998775000005
],
[
254.16000375,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.2400052500000243,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
153975.20082600001,
480665.7855585
]
},
{
"pier": "P5",
"pdf_center": [
298.5,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1611,
1618
],
"vertices_pdf": [
[
300.0,
383.28000275
],
[
297.0,
383.28000275
],
[
300.0,
362.63998775000005
],
[
297.0,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154022.5928265,
480649.3702575
]
},
{
"pier": "P6",
"pdf_center": [
340.98001125,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1625,
1632
],
"vertices_pdf": [
[
342.48001125,
383.28000275
],
[
339.48001125,
383.28000275
],
[
342.48001125,
362.63998775000005
],
[
339.48001125,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154069.8383645,
480633.0056875
]
},
{
"pier": "P7",
"pdf_center": [
383.5800015,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1645,
1633,
1634,
1635,
1636,
1637,
1638,
1639,
1640,
1641,
1642,
1643,
1644
],
"vertices_pdf": [
[
382.0800015,
362.63998775000005
],
[
385.08000150000004,
362.63998775000005
],
[
385.08000150000004,
383.28000275
],
[
382.0800015,
383.28000275
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.000000000000057,
"evidence_kind": "original_hidden_cap_crossbar_and_dashed_side_extents",
"target_EN": [
154117.0839025,
480616.6411175
]
},
{
"pier": "P8",
"pdf_center": [
426.06001275,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1652,
1659
],
"vertices_pdf": [
[
427.56001275,
383.28000275
],
[
424.56001275,
383.28000275
],
[
427.56001275,
362.63998775000005
],
[
424.56001275,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154164.32944,
480600.27654700004
]
},
{
"pier": "P9",
"pdf_center": [
468.71999362500003,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1666,
1673
],
"vertices_pdf": [
[
470.2799835,
383.28000275
],
[
467.16000375,
383.28000275
],
[
470.2799835,
362.63998775000005
],
[
467.16000375,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.1199797500000273,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154211.721441,
480583.8612465
]
},
{
"pier": "P10",
"pdf_center": [
511.3800202499999,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1680,
1687
],
"vertices_pdf": [
[
512.8800202499999,
383.28000275
],
[
509.88002025,
383.28000275
],
[
512.8800202499999,
362.63998775000005
],
[
509.88002025,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 2.999999999999943,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154259.07253,
480567.32782999997
]
},
{
"pier": "P11",
"pdf_center": [
553.9199981249999,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1694,
1701
],
"vertices_pdf": [
[
555.3599849999999,
383.28000275
],
[
552.48001125,
383.28000275
],
[
555.3599849999999,
362.63998775000005
],
[
552.48001125,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 2.8799737499999765,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154306.31806750002,
480550.9632595
]
},
{
"pier": "P12",
"pdf_center": [
596.46002175,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1708,
1715
],
"vertices_pdf": [
[
597.96002175,
383.28000275
],
[
594.96002175,
383.28000275
],
[
597.96002175,
362.63998775000005
],
[
594.96002175,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154353.5636055,
480534.5986895
]
}
]
}
],
"original_plot_coordinate_quantum_pt": 0.12,
"max_registration_residual_m": 0.2,
"pier_label_order": "original_plan_profile_A1_P1_to_P12_A2_left_to_right"
},
"geometry_quantum_m": 0.1410721522491161,
"profile_ground_curve_index": 29595,
"profile_ground_ordinates": [
{
"X": 480714.95650470664,
"Y": 153833.34402696486,
"Z": -0.2872082516860246,
"pier": "P1",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
128.10000225,
460.2000125
],
"pdf_plan_point": [
128.10000225,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480698.60040247964,
"Y": 153880.52914831342,
"Z": -3.2464331093278815,
"pier": "P2",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
170.58000149999998,
462.71747674665176
],
"pdf_plan_point": [
170.58000149999998,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480682.1980997497,
"Y": 153927.8475518038,
"Z": -8.88465577725492,
"pier": "P3",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
213.17999249999997,
467.5140111987443
],
"pdf_plan_point": [
213.17999249999997,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480665.7957882122,
"Y": 153975.16598070282,
"Z": -10.302780859970994,
"pier": "P4",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
255.78000637499997,
468.720434963332
],
"pdf_plan_point": [
255.78000637499997,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480649.34728079214,
"Y": 154022.61767841454,
"Z": -10.443341672063639,
"pier": "P5",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
298.5,
468.8400125
],
"pdf_plan_point": [
298.5,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480632.9911739448,
"Y": 154069.80281309222,
"Z": -10.300794276340753,
"pier": "P6",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
340.98001125,
468.7187449419572
],
"pdf_plan_point": [
340.98001125,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480616.58887150366,
"Y": 154117.12121574953,
"Z": -9.874145680307947,
"pier": "P7",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
383.5800015,
468.35578753315366
],
"pdf_plan_point": [
383.5800015,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480600.2327646563,
"Y": 154164.3063504272,
"Z": -8.174418746969536,
"pier": "P8",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
426.06001275,
466.90980015821646
],
"pdf_plan_point": [
426.06001275,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480583.8073639851,
"Y": 154211.6913883239,
"Z": -4.91826447643848,
"pier": "P9",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
468.71999362500003,
464.13973287641596
],
"pdf_plan_point": [
468.71999362500003,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480567.38194569875,
"Y": 154259.07647703795,
"Z": -3.099416141673487,
"pier": "P10",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
511.3800202499999,
462.5924068457399
],
"pdf_plan_point": [
511.3800202499999,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480551.00274986203,
"Y": 154306.32822029677,
"Z": -2.387176347248783,
"pier": "P11",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
553.9199981249999,
461.9864920187958
],
"pdf_plan_point": [
553.9199981249999,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480534.6235364102,
"Y": 154353.5800143729,
"Z": 2.9660524168061784,
"pier": "P12",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
596.46002175,
457.43240685596857
],
"pdf_plan_point": [
596.46002175,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
}
],
"vertical_axis": {
"ticks": [
{
"line_index": 7072,
"EL": 20.0,
"pdf_y": 442.9199945
},
{
"line_index": 7070,
"EL": 10.0,
"pdf_y": 451.43998325
},
{
"line_index": 7069,
"EL": 0.0,
"pdf_y": 459.96001775
},
{
"line_index": 7067,
"EL": -10.0,
"pdf_y": 468.48000724999997
},
{
"line_index": 7066,
"EL": -20.0,
"pdf_y": 476.999996
},
{
"line_index": 7074,
"EL": -30.0,
"pdf_y": 485.51998475000005
},
{
"line_index": 7221,
"EL": -40.0,
"pdf_y": 493.9199945
}
],
"coefficients": [
-1.1754784051362916,
540.6679684855154
],
"max_residual_m": 0.07568108572945675
},
"source_vector_cache_sha256": "dd2bbdc81487c040011d0aacca176204e9a7b8af99235698c75830b9b1527fb9"
},
"terrain_parameters": {
"terrain_block": "*Model_Space",
"layers": "PDF_SOUNDING",
"z_min": -500.0,
"z_max": 200.0
}
}
}
@@ -1,76 +0,0 @@
[
{
"samples": [
4
],
"source": "D:\\Desktop\\업무\\01.프로젝트\\DR\\001 도면-DR\\04 DR거더 실시설계도면\\03 목동교\\01 공통\\@서울-세종 9공구 1000현황.dwg",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\04_@서울-세종 9공구 1000현황.dwg",
"sha256": "08030556dbb36b0784cc17a4ff3239e6485217810bcbdf952dbec2f53e6298f6",
"role": "original_missing_XREF"
},
{
"samples": [
6,
7
],
"source": "D:\\Desktop\\업무\\01.프로젝트\\DR\\001 도면-DR\\04 DR거더 실시설계도면\\05 계문철교\\01.공통사항\\XREF\\서수평장1-현황+선형+노리-20200410.dwg",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\06_서수평장1-현황+선형+노리-20200410.dwg",
"sha256": "c13b04d7f9f8c7d13548eb2cd9fab24c3091e61dc3e292b9ded59b3a91c5cd1a",
"role": "original_missing_XREF"
},
{
"samples": [
3
],
"source": "D:\\Desktop\\업무\\00.프로그램\\001. 프로그램실행\\003.DRzainer\\Programs\\대호지교.zip",
"archive_entry": "천지인/지형도/5000/ConvertCoords/Merge_5000.dwg",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\03_project_topography_converted_5000.dwg",
"sha256": "66863028a6df47ae7e093a20b6b98dfce2808f96bc9a9138b54ca559a47c412d",
"role": "original_project_topographic_CAD",
"variant": "converted_5000"
},
{
"samples": [
3
],
"source": "D:\\Desktop\\업무\\00.프로그램\\001. 프로그램실행\\003.DRzainer\\Programs\\대호지교.zip",
"archive_entry": "천지인/지형도/ConvertCoords/Merge_5000.dwg",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\03_project_topography_converted_project.dwg",
"sha256": "87ec9e503067431a5e45b6a5ba10b3cc914d1e9baed0b76dae3f0d8d1fcba1f5",
"role": "original_project_topographic_CAD",
"variant": "converted_project"
},
{
"samples": [
3
],
"source": "D:\\Desktop\\업무\\00.프로그램\\001. 프로그램실행\\003.DRzainer\\Programs\\대호지교.zip",
"archive_entry": "천지인/지형도/Merge_5000.dwg",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\03_project_topography_original.dwg",
"sha256": "9a5d29b6d2d7988224d5dc72d097234439df747312ae6031a01675e3a2e81dbe",
"role": "original_project_topographic_CAD",
"variant": "original"
},
{
"samples": [
5
],
"source": "D:\\Desktop\\업무\\00.프로그램\\001. 프로그램실행\\003.DRzainer\\Programs\\승천천교_260224.zip",
"archive_entry": "승천천교/천지인/지형도/5000/ConvertCoords/Merge_5000.dwg",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\05_project_topography_converted_5000.dwg",
"sha256": "eb1e232d4a249f35a222d8d4eab7e3201ed95bb1c7aef836d326721e8ecee0d0",
"role": "original_project_topographic_CAD",
"variant": "converted_5000"
},
{
"samples": [
5
],
"source": "D:\\Desktop\\업무\\00.프로그램\\001. 프로그램실행\\003.DRzainer\\Programs\\승천천교_260224.zip",
"archive_entry": "승천천교/천지인/지형도/Merge_5000.dwg",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\05_project_topography_original.dwg",
"sha256": "1e6ff901b4a74579a959cd415722bcfa9787140837171cb25133dea7303e3735",
"role": "original_project_topographic_CAD",
"variant": "original"
}
]
@@ -1,440 +0,0 @@
{
"schema": 2,
"generated": "2026-10-30",
"coord": "측량 X(북) · Y(동), m. 치수 mm",
"terrain": {
"file": "종평면도.dxf",
"spot_blocks": 0,
"spot_texts": 0,
"contours": 5121,
"line3d_vertices": 0,
"points_used": 51004,
"by_source": {
"survey_points_in_block": 985,
"height_bearing_polylines_in_block": 5121
},
"removed": 0,
"suspect": 0,
"boreholes": 0,
"skipped_on_spot_layers": {},
"layers": {
"CS-CONC-MAJR": 2715,
"CR-BORE-MISC": 1085,
"CS-SYMB": 637,
"CS-TEXT": 532,
"CS-PATT": 506,
"CA-ALGN-CNTL": 448,
"CS-MISC-CIML": 412,
"CS-DIML": 332,
"CR-TABL-TEX2": 314,
"4": 175,
"CS-CNTL": 128,
"CS-NOTE": 111,
"0": 100,
"CR-BORE-TEXT": 99,
"CS-DIMS": 97,
"CS-MACL": 92,
"CZ-LEAL": 91,
"CR-DIML": 89,
"CR-TEXT": 75,
"CS-GLAY-LINE": 70,
"CS-CUTL": 68,
"CS-XXXX": 66,
"CS-MISC-수직그리드": 62,
"CS-MISC-주상도": 60,
"CR-BORE-LINE": 56,
"CR-GRND": 53,
"CZ-TEX2": 53,
"가장자리선": 47,
"CR-LEAL": 45,
"CZ-LIN2": 43,
"CA-ALGN-STSM": 41,
"CS-MISC": 37,
"CR-GSCL-MISC": 28,
"CR-PATT": 28,
"CS-CONC-MINR": 26,
"CS-STEL-MAJR": 25,
"CZ-LIN3": 21,
"T20": 20,
"0_시추주상도": 19,
"CA-ALGN-TEXT": 17,
"CS-CONC-LEAN": 16,
"CZ-LIN1": 15,
"CA-ALGN-SUBT": 14,
"CZ-TEX1": 13,
"CR-TABL-LIN2": 12,
"CS-LEAL": 12,
"CS-MISC-종단지반선": 12,
"NBG-CONC": 11,
"CS-LEAT": 10,
"CS-MISC-DLINE": 10,
"시추선": 8,
"CR-GSCL-TEXT": 7,
"CR-TABL-LIN1": 6,
"CS-MISC-본선함양__선형": 6,
"CR-ROCK-SOFT": 5,
"CR-TABL": 5,
"CR-TABL-TEX1": 5,
"CS-MISC-004_최종평면도(방침용2)$0$부산울산고속도로": 5,
"CS-MISC-CAA001": 5,
"CS-MISC-MIS1": 4,
"CS-MISC-kbs_토공계획": 4,
"00_작업선": 3,
"CR-ROCK-WETH": 3,
"CZ-MISC": 3,
"CR-CNTL": 2,
"CR-DIMT": 2,
"CS-CONC": 2,
"CS-MISC-교대보호블럭": 2,
"CS-MISC-앞성토": 2,
"CS-MISC-종단계획선": 2,
"NURI-01": 2,
"일반치수선": 2,
"CS-MISC-CEN": 1,
"CS-MISC-종단터널": 1,
"CS-TABL-LIN1": 1,
"CZ-SYMB": 1,
"Defpoints": 1
},
"generic_search_used": true,
"profile_points_used": 513,
"vertical_scale": {
"intercept": -205.92449508371433,
"slope": 0.9999999999998195
},
"extent": [
324036.28999999905,
180710.6560379993,
324755.8327992522,
181560.63989839453
],
"source_counts": {
"constant_height_polylines": 4653,
"elevated_lwpolylines": 468,
"survey_points": 985
},
"surface_source": "CSSAA14 survey block"
},
"removed_points": [],
"boreholes_dxf": [],
"borehole_issues": [],
"piers": [
{
"id": "P1",
"X": 324474.2858,
"Y": 180991.02545000002,
"axis_dir": [
-0.8925560053493717,
-0.4509365557534368
],
"ground": {
"center": 51.688,
"corners": [
null,
null,
null,
null
],
"min": 51.688,
"max": 51.688,
"used": 51.688,
"source": "계산",
"dtm_spacing": 2.3,
"excel": null,
"diff_vs_excel": null
},
"footing": {
"L_mm": null,
"W_mm": null,
"top_el": null,
"bottom_el": null,
"cover": null
},
"pile": {
"tip_el": null,
"d_mm": null
},
"soil": null,
"alerts": [
{
"code": "I05",
"level": "정보",
"pier": "P1",
"message": "시추 자료가 없어 지층을 판정하지 않았습니다."
}
]
},
{
"id": "P2",
"X": 324453.8398,
"Y": 181031.0698,
"axis_dir": [
-0.8887337165893248,
-0.45842380064447535
],
"ground": {
"center": 41.0,
"corners": [
null,
null,
null,
null
],
"min": 41.0,
"max": 41.0,
"used": 41.0,
"source": "계산",
"dtm_spacing": 8.1,
"excel": null,
"diff_vs_excel": null
},
"footing": {
"L_mm": null,
"W_mm": null,
"top_el": null,
"bottom_el": null,
"cover": null
},
"pile": {
"tip_el": null,
"d_mm": null
},
"soil": null,
"alerts": [
{
"code": "I05",
"level": "정보",
"pier": "P2",
"message": "시추 자료가 없어 지층을 판정하지 않았습니다."
}
]
},
{
"id": "P3",
"X": 324428.39405,
"Y": 181079.77704999998,
"axis_dir": [
-0.8839741347133527,
-0.46753580521472293
],
"ground": {
"center": 41.61,
"corners": [
null,
null,
null,
null
],
"min": 41.61,
"max": 41.61,
"used": 41.61,
"source": "계산",
"dtm_spacing": 2.9,
"excel": null,
"diff_vs_excel": null
},
"footing": {
"L_mm": null,
"W_mm": null,
"top_el": null,
"bottom_el": null,
"cover": null
},
"pile": {
"tip_el": null,
"d_mm": null
},
"soil": null,
"alerts": [
{
"code": "I05",
"level": "정보",
"pier": "P3",
"message": "시추 자료가 없어 지층을 판정하지 않았습니다."
}
]
},
{
"id": "P4",
"X": 324404.82805,
"Y": 181123.8273,
"axis_dir": [
-0.8795686007920344,
-0.47577208461693393
],
"ground": {
"center": 41.655,
"corners": [
null,
null,
null,
null
],
"min": 41.655,
"max": 41.655,
"used": 41.655,
"source": "계산",
"dtm_spacing": 4.6,
"excel": null,
"diff_vs_excel": null
},
"footing": {
"L_mm": null,
"W_mm": null,
"top_el": null,
"bottom_el": null,
"cover": null
},
"pile": {
"tip_el": null,
"d_mm": null
},
"soil": null,
"alerts": [
{
"code": "I05",
"level": "정보",
"pier": "P4",
"message": "시추 자료가 없어 지층을 판정하지 않았습니다."
}
]
},
{
"id": "P5",
"X": 324376.00705,
"Y": 181176.394,
"axis_dir": [
-0.8741745328926339,
-0.48561186769059234
],
"ground": {
"center": 41.122,
"corners": [
null,
null,
null,
null
],
"min": 41.122,
"max": 41.122,
"used": 41.122,
"source": "계산",
"dtm_spacing": 25.2,
"excel": null,
"diff_vs_excel": null
},
"footing": {
"L_mm": null,
"W_mm": null,
"top_el": null,
"bottom_el": null,
"cover": null
},
"pile": {
"tip_el": null,
"d_mm": null
},
"soil": null,
"alerts": [
{
"code": "I05",
"level": "정보",
"pier": "P5",
"message": "시추 자료가 없어 지층을 판정하지 않았습니다."
}
]
},
{
"id": "P6",
"X": 324346.67215,
"Y": 181228.67625000002,
"axis_dir": [
-0.8686706778205588,
-0.4953900014077502
],
"ground": {
"center": 40.82,
"corners": [
null,
null,
null,
null
],
"min": 40.82,
"max": 40.82,
"used": 40.82,
"source": "계산",
"dtm_spacing": 8.0,
"excel": null,
"diff_vs_excel": null
},
"footing": {
"L_mm": null,
"W_mm": null,
"top_el": null,
"bottom_el": null,
"cover": null
},
"pile": {
"tip_el": null,
"d_mm": null
},
"soil": null,
"alerts": [
{
"code": "I05",
"level": "정보",
"pier": "P6",
"message": "시추 자료가 없어 지층을 판정하지 않았습니다."
}
]
},
{
"id": "P7",
"X": 324316.6789,
"Y": 181280.58415,
"axis_dir": [
-0.8630648616794515,
-0.5050931048175465
],
"ground": {
"center": 41.56,
"corners": [
null,
null,
null,
null
],
"min": 41.56,
"max": 41.56,
"used": 41.56,
"source": "계산",
"dtm_spacing": 8.9,
"excel": null,
"diff_vs_excel": null
},
"footing": {
"L_mm": null,
"W_mm": null,
"top_el": null,
"bottom_el": null,
"cover": null
},
"pile": {
"tip_el": null,
"d_mm": null
},
"soil": null,
"alerts": [
{
"code": "I05",
"level": "정보",
"pier": "P7",
"message": "시추 자료가 없어 지층을 판정하지 않았습니다."
}
]
}
],
"crs": "EPSG:5187",
"crs_assumed": true
}
@@ -1,24 +0,0 @@
{
"bridge_name": "산외교",
"source_model": "ground_model_source.json",
"crs": "EPSG:5187",
"crs_status": "inferred_location_checked",
"map_margin_m": 180,
"terrain_source_available": true,
"drawing": "종평면도.dxf",
"workbook": "엔지니어(sample1)_261027_π형 교각입력데이터(산외교).xlsx",
"terrain_block": "CSSAA14",
"terrain_crs": "EPSG:5183",
"contour_step_m": 2.0,
"dedup_m": 0.05,
"tin_max_edge_m": 100.0,
"grid": {
"origin": [
324135.894,
180810.653
],
"step": 5.0,
"nx": 105,
"ny": 131
}
}
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -1,14 +0,0 @@
{
"_note": "운곡교 P1–P6. 교각 축 양 끝은 C0050204-005 받침 좌표(측량 X 북, Y 동). P1 치수는 엑셀 1단계 모델. P2–P6 치수는 아직 없음.",
"piers": [
{"id": "P1", "axis": [[259864.658395, 179144.095968], [259866.694501, 179132.091213]],
"footing_L_mm": 10400, "footing_W_mm": 8150,
"footing_top_el": 28.208, "footing_bottom_el": 26.208,
"pile_tip_el": 2.208, "pile_d_mm": 609.6, "excel_ground_el": 28.931},
{"id": "P2", "axis": [[259913.42259, 179155.107133], [259915.45535, 179143.117039]]},
{"id": "P3", "axis": [[259962.424393, 179165.007428], [259964.455278, 179153.025862]]},
{"id": "P4", "axis": [[260011.6385, 179173.791741], [260013.668981, 179161.812565]]},
{"id": "P5", "axis": [[260061.039499, 179181.455537], [260063.070421, 179169.472498]]},
{"id": "P6", "axis": [[260115.565714, 179188.586774], [260117.598108, 179176.592271]]}
]
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 265 KiB

@@ -1,11 +0,0 @@
{
"bridge_name": "운곡교",
"source_model": "ground_model_source.json",
"crs": "EPSG:5186",
"crs_status": "inferred_location_checked",
"map_margin_m": 50,
"terrain_source_available": false,
"notes": [
"운곡교 원본 지형 DXF는 현재 폴더에 없음. 보존한 실제 계산 결과를 기준으로 지도 포함 JSON을 재생성. 원본 지표면을 새로 추정하지 않음."
]
}
@@ -1,34 +0,0 @@
{
"drawing": "C:/Users/User/Desktop/도면추출/엔지니어(sample8)_T형교각_옥성교/01 옥성교 종평면도.dwg",
"output": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\output\\drawing_01_옥성교_종평면도",
"crs": "EPSG:5186",
"terrain_crs": "EPSG:5186",
"cad_axes": "YX",
"terrain_block": "XR_현황",
"piers": "C:/Users/User/Desktop/도면추출/엔지니어(sample8)_T형교각_옥성교/엔지니어(sample8)_261027_T형 교각입력데이터(옥성교).xlsx",
"boreholes": "",
"layers": "",
"margin": 100.0,
"step": 5.0,
"max_edge": 100.0,
"z_min": -500.0,
"z_max": 9000.0,
"include_maps": true,
"allow_download": true,
"use_3d_lines": false,
"plots": false,
"automatic": true,
"auto_detection": {
"crs_status": "project_default_not_source_verified",
"crs_candidates": [],
"crs_assumed": true,
"project_default_applied": true,
"source_reference": null,
"method": "terrain_TIN_coverage_at_Excel_IP1_IP3_centers",
"arbitrary_offset_applied": false,
"terrain_block": "XR_현황",
"cad_axes": "YX",
"covered_piers": 6,
"total_piers": 6
}
}
File diff suppressed because it is too large. Load diff
@@ -1,34 +0,0 @@
{
"drawing": "C:\\Users\\User\\Desktop\\도면추출\\엔지니어(sample1)_π형교각_산외교\\02.종평면도(울산)_2017.0619-수정.dwg",
"output": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\output\\samples_20261102\\01_산외교",
"crs": "EPSG:5187",
"terrain_crs": "EPSG:5183",
"cad_axes": "YX",
"terrain_block": "CSSAA14",
"piers": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\도면추출\\samples\\샘플01_산외교_교각입력데이터.xlsx",
"boreholes": "",
"layers": "",
"margin": 100.0,
"step": 5.0,
"max_edge": 100.0,
"z_min": 0.0,
"z_max": 200.0,
"include_maps": true,
"allow_download": true,
"use_3d_lines": false,
"plots": false,
"automatic": true,
"auto_detection": {
"crs_status": "inferred_location_checked",
"crs_candidates": [],
"crs_assumed": true,
"project_default_applied": false,
"source_reference": "02.종평면도(울산)_2017.0619-수정.dwg",
"method": "terrain_TIN_coverage_at_Excel_IP1_IP3_centers",
"arbitrary_offset_applied": false,
"terrain_block": "CSSAA14",
"cad_axes": "YX",
"covered_piers": 17,
"total_piers": 17
}
}
File diff suppressed because it is too large. Load diff
@@ -1,34 +0,0 @@
{
"sample": 1,
"bridge": "산외교",
"workbook": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\도면추출\\samples\\샘플01_산외교_교각입력데이터.xlsx",
"drawing": "C:\\Users\\User\\Desktop\\도면추출\\엔지니어(sample1)_π형교각_산외교\\02.종평면도(울산)_2017.0619-수정.dwg",
"candidates": [
"C:\\Users\\User\\Desktop\\도면추출\\엔지니어(sample1)_π형교각_산외교\\02.종평면도(울산)_2017.0619-수정.dwg"
],
"output": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\output\\samples_20261102\\01_산외교",
"status": "generated",
"json": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\output\\samples_20261102\\01_산외교\\ground_model_3d_with_maps.json",
"pier_count": 17,
"valid_grid_points": 16305,
"covered_piers": 17,
"midpoint_error_max_m": 0.0005830951922237369,
"map_status": {
"status": "mapped",
"crs": "EPSG:5187",
"crs_assumed": true,
"crs_status": "inferred_location_checked"
},
"crs": "EPSG:5187",
"crs_assumed": true,
"terrain_block": "CSSAA14",
"sha256": "a568bf19ca7cf67abced9e9a1c64006ebb938ba036d613024c9918562a06c2b6",
"input_pier_count": 17,
"validation": {
"source_hashes_match": true,
"images_decode": true,
"map_bounds_identical": true,
"grid_length_valid": true,
"map_feature_residual_max_deg": 0.0
}
}
@@ -1,30 +0,0 @@
{
"drawing": "C:\\Users\\User\\Desktop\\도면추출\\엔지니어(sample2)_T형교각_운곡교\\C0050202-001-운곡교 종평면도(완도방향).dwg",
"output": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\output\\samples_20261102\\02_운곡교",
"crs": "EPSG:5186",
"terrain_crs": "EPSG:5186",
"cad_axes": "YX",
"terrain_block": "",
"piers": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\도면추출\\samples\\샘플02_운곡교_교각입력데이터.xlsx",
"boreholes": "",
"layers": "CA002,CA0021,CAA001,CAA002",
"margin": 100.0,
"step": 5.0,
"max_edge": 100.0,
"z_min": 0.0,
"z_max": 200.0,
"include_maps": true,
"allow_download": true,
"use_3d_lines": false,
"plots": false,
"automatic": false,
"auto_detection": {
"crs_status": "project_default_not_source_verified",
"crs_assumed": true,
"project_default_applied": true,
"arbitrary_offset_applied": false,
"source_sha256": "ee1d703b738e28c9ccb824707f2f2b6f87203499dd9efe34fea3b620c04264fa",
"layer_selection_reason": "기존 운곡교 LayerMap의 실제 표고점 INSERT/글자 및 등고선만 재사용",
"method": "inspected_original_terrain_layers"
}
}
File diff suppressed because it is too large. Load diff
@@ -1,34 +0,0 @@
{
"sample": 2,
"bridge": "운곡교",
"workbook": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\도면추출\\samples\\샘플02_운곡교_교각입력데이터.xlsx",
"drawing": "C:\\Users\\User\\Desktop\\도면추출\\엔지니어(sample2)_T형교각_운곡교\\C0050202-001-운곡교 종평면도(완도방향).dwg",
"candidates": [
"C:\\Users\\User\\Desktop\\도면추출\\엔지니어(sample2)_T형교각_운곡교\\C0050202-001-운곡교 종평면도(완도방향).dwg"
],
"output": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\output\\samples_20261102\\02_운곡교",
"status": "generated",
"json": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\output\\samples_20261102\\02_운곡교\\ground_model_3d_with_maps.json",
"pier_count": 6,
"valid_grid_points": 2144,
"covered_piers": 6,
"midpoint_error_max_m": 0.00048475894341468324,
"map_status": {
"status": "mapped",
"crs": "EPSG:5186",
"crs_assumed": true,
"crs_status": "project_default_not_source_verified"
},
"crs": "EPSG:5186",
"crs_assumed": true,
"terrain_block": null,
"sha256": "1532af38dc1a732fa34e52e40b85baba55de1c23d15565a536d8069944613b44",
"input_pier_count": 6,
"validation": {
"source_hashes_match": true,
"images_decode": true,
"map_bounds_identical": true,
"grid_length_valid": true,
"map_feature_residual_max_deg": 0.0
}
}
@@ -1,906 +0,0 @@
[
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면.pdf",
"Length": 2855155
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계보고서.pdf",
"Length": 19383633
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계안전보건대장.pdf",
"Length": 904174
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계안정성검토.pdf",
"Length": 121860
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계예정공정계획.pdf",
"Length": 5181958
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\지반조사보고서.pdf",
"Length": 2501135
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\environment\\06470763adfa - 03. [대당2] EMP-04.3(조직상황 파악 및 리스크 기회 관리)리스크 관리 실적표.pdf",
"Length": 40990
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\environment\\139943a9d60f - 01. [도공] 환경관리비 적정반영방안(녹색환경처, 2012).pdf",
"Length": 465315
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\environment\\1695e4ced2b1 - 04. [대당2] 환경저감시설물(체크리스트).pdf",
"Length": 100996
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\environment\\1acd90bc547f - 02. [도공] 건설현장 환경보전비 운영개선(안)(품질환경처, 2023).pdf",
"Length": 674469
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\environment\\36ee2878b603 - 05. [대당2] EMP-14.2(감시 및 측정관리계획)환경관리 점검표.pdf",
"Length": 248480
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\environment\\6ef6460dafbf - 02. [대당2] EMP-04.2(조직상황 파악 및 리스크 기회 관리)리스크 및 기회 평가 관리 계획서(2025년).pdf",
"Length": 147467
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\environment\\d2575797012a - 04. [대당2] EMP-0C(환경경영시스템 업무흐름도).pdf",
"Length": 98132
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\environment\\d6ea7295f66a - 01. [대당2] EMP-04.1(조직상황 파악 및 리스크 기회 관리)조직상황 현황표.pdf",
"Length": 110449
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\environment\\d76a62600b10 - 06. [대당2] EMP-05.1(현장 환경목표 및 추진계획)환경목표수립계획서.pdf",
"Length": 32642
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\quality\\054dcc33cff2 - 02. [대당2] [계획서] 대산-당진2공구 품질관리계획서.pdf",
"Length": 16433769
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\quality\\20c7310f6a11 - 03. [인염] 책임시공 조치결과.pdf",
"Length": 184142
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\quality\\236f25b6df6c - 01. [인염] 20241205_인장결과보고(인주1교).pdf",
"Length": 25443
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\quality\\256308e490e8 - 01. 한국도로공사]건설현장 검측업무 매뉴얼.pdf",
"Length": 4148417
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\quality\\27ede8805022 - 01. [대당2] 품질관리계획서 검토승인서(건설공사 품질관리 업무지침).pdf",
"Length": 145127
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\quality\\5dd770b7f8eb - 02. [인염] 책임시공 지적사항.pdf",
"Length": 165649
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\quality\\5e761e353418 - 02. 교량점검시설+품질관리기준+개정(안).pdf",
"Length": 581271
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\quality\\6db7ea097977 - 04. [대당2] 품질관리 계획서(변경내용(Rev.3)).pdf",
"Length": 21548
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\quality\\7af3123c08d5 - 03. [인염] 전단면+바닥판+공장점검+조치결과.pdf",
"Length": 4610484
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\quality\\7ea949918cc9 - 03. ★(붙임자료) 교량점검시설 품질향상방안.pdf",
"Length": 4651882
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\quality\\9616d2bf4e83 - 01. 책임시공 집계표.pdf",
"Length": 60991
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\quality\\a072dfedcf25 - 01. 교량바닥판+프리캐스트+콘크리트+패널+품질관리방안+1p.pdf",
"Length": 95860
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\quality\\a26a7e6d525f - 01. [인염2] Rev.6 품질관리 매뉴얼(CFT_충전강관모듈러교각)_20250828.pdf",
"Length": 7842785
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\quality\\be430a9b6069 - 01. 교량점검시설 품질기준 개정(안) 알림.pdf",
"Length": 122439
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\quality\\cc4e0cdc5c85 - 04. [아산천안] 콘크리트 말뚝 품질관리 지침.pdf",
"Length": 702130
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\quality\\dab3fa498380 - 01. [인염] 신기술신공법(CFT교각)+품질관리협의체(3차)+결과보고.pdf",
"Length": 589857
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\quality\\f002375f5c7d - 03. [대당2] 2025 품질시험계획서 - 전체분 및 3차년도(Rev.3).pdf",
"Length": 2810796
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\safety\\0dc79fbe35d2 - 05. [인염1] 1+신현교P3+해체+안전사고+예방계획서_24.08.05.pdf",
"Length": 1927661
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\safety\\39347f18f4fb - 06. [인염2] CFT강재+교각+Brace+설치+안전사고예방계획서+(서원2교)(24.06.03).pdf",
"Length": 5463570
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\safety\\441b047865d0 - 06. [방침] 0. 신현교 크레인 안전성 향상 방안 적용(1P).pdf",
"Length": 121725
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\safety\\4b37ea2cae1b - 01. [사업단] 1-41 (21)고속도로 작업장 자체 안전점검 체계 구축방안(사업단)[품-5].pdf",
"Length": 83519
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\safety\\638ee090d83d - 03. [방침] 교량접속부 가드레일 안전계단 설치기준_1p.pdf",
"Length": 254636
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\safety\\6f87c58a5d1d - 04. [인염2] ★서원2교+안전사고+예방계획서_서원2교+거더설치241127.pdf",
"Length": 2182710
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\safety\\85e76e025f18 - 03. [인천항만공사 양식] 작업 허가서(밀폐공간, 정전, 굴착).pdf",
"Length": 96817
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\safety\\85f8d0ebe1a2 - 02. [대당2] 6. 기본안전보건대장_대산당진고속도로2공구.pdf",
"Length": 1921843
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\safety\\8c5b9ef103da - 02. [대당2] 27.안전보건관리자 점검일지_대산당진고속도로2공구.pdf",
"Length": 95666
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\safety\\8cc5b6ba630f - 03. [대당2] 42. 중량물 취급작업 계획서.pdf",
"Length": 218076
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\safety\\94405b06a49b - 01. [대당2] 25. 안전교육 일지_대산당진고속도로2공구.pdf",
"Length": 154575
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\safety\\9e9eb47fae38 - 03. [방침] 교량접속부 가드레일 안전계단 설치기준_完.pdf",
"Length": 1751813
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\safety\\9f5a6a633116 - 05. [국토부] 장경간 PSC거더 안전성 관련 공사현장 실태점검 계획.pdf",
"Length": 204800
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\safety\\adf4aa9e0134 - 07. [사업단] 1-4 (24)런칭크레인 안전시공 TF 운영방안.pdf",
"Length": 549610
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\safety\\b1c835b2c7c4 - 01. [양식] 02 일일위험성평가.pdf",
"Length": 105376
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\safety\\b8bfcbdcc0b7 - 03. [대당2] 39. 장비 일일 안전점검표_대산당진고속도로2공구.pdf",
"Length": 1589203
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\safety\\baadbdcdb15a - 01. [양식] 14. 산업재해조사표_대산당진고속도로2공구.pdf",
"Length": 138682
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\safety\\d615ae4675de - 05. [국토부] 장경간 PSC거더 안전성 관련 공사현장 실태점검 계획 (공문첨부용).pdf",
"Length": 1367252
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\safety\\e7c55d005d68 - 02. [인염] 인주 2교 BIB 거더 거치관련 추가 작업반 위험성평가 회의 및 안전교육 사진대지(25.04.01.화 제출)이정헌 대리 메일로.pdf",
"Length": 190172
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\safety\\ecf324415d99 - 04. [인염] 아산분기점(인주분기점) 교량구간 낙하물 및 추락사고 등 현장 안전관리 철저 요청(서부내륙).pdf",
"Length": 48931
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\safety\\f1c685d54cf6 - 08. [인염2] 런칭크레인+안전사고+예방계획서+(해체)+re2+(2).pdf",
"Length": 3163152
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\_preview\\safety\\f6a061081ee1 - 01. [대당2] 8. 보호구 지급대장_대산당진고속도로2공구.pdf",
"Length": 100147
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\구조계산서\\구조계산서.pdf",
"Length": 1462326
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050302-001-대호지교 종평면도.pdf",
"Length": 2644215
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050302-002-지질주상도(01).pdf",
"Length": 553603
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050302-003-지질주상도(02).pdf",
"Length": 504708
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050302-004-지질주상도(03).pdf",
"Length": 419819
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050302-005-지질주상도(04).pdf",
"Length": 427988
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050302-006-지질주상도(05).pdf",
"Length": 419116
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050302-007-지질주상도(06).pdf",
"Length": 402561
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050302-008-지질주상도(07).pdf",
"Length": 407502
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050302-009-지질주상도(08).pdf",
"Length": 413002
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050302-010-지질주상도(09).pdf",
"Length": 420201
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050302-011-지질주상도(10).pdf",
"Length": 411226
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050302-012-지질주상도(11).pdf",
"Length": 411023
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050302-013-지질주상도(12).pdf",
"Length": 432302
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050302-014-지질주상도(13).pdf",
"Length": 404355
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050302-015-지질주상도(14).pdf",
"Length": 439947
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-001-교량받침 배치도(1).pdf",
"Length": 118803
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-002-교량받침 배치도(2).pdf",
"Length": 82691
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-003-교량받침 배치도(3).pdf",
"Length": 59465
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-004-ELEVATION 산출근거도 (01).pdf",
"Length": 68744
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-005-ELEVATION 산출근거도 (02).pdf",
"Length": 67183
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-006-ELEVATION 산출근거도 (03).pdf",
"Length": 67233
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-007-ELEVATION 산출근거도 (04).pdf",
"Length": 67147
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-008-ELEVATION 산출근거도 (05).pdf",
"Length": 67284
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-009-ELEVATION 산출근거도 (06).pdf",
"Length": 68955
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-010-(BR1)슬래브도(01).pdf",
"Length": 121555
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-011-(BR1)슬래브도(02).pdf",
"Length": 121810
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-012-(BR1)슬래브도(03).pdf",
"Length": 122274
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-013-(BR1)슬래브도(04).pdf",
"Length": 124002
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-014-(BR1)슬래브도(05).pdf",
"Length": 106817
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-015-(BR1)슬래브도(06).pdf",
"Length": 78228
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-016-(BR1)슬래브도(07).pdf",
"Length": 114345
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-017-(BR1)슬래브도(08).pdf",
"Length": 180547
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-018-(BR1)슬래브도(09).pdf",
"Length": 75333
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-019-(BR1)슬래브도(10).pdf",
"Length": 165107
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-020-(BR1)슬래브도(11).pdf",
"Length": 95703
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-021-(BR2)슬래브도(01).pdf",
"Length": 122654
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-022-(BR2)슬래브도(02).pdf",
"Length": 122297
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-023-(BR2)슬래브도(03).pdf",
"Length": 127164
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-024-(BR2)슬래브도(04).pdf",
"Length": 122384
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-025-(BR2)슬래브도(05).pdf",
"Length": 124045
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-026-(BR2)슬래브도(06).pdf",
"Length": 101189
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-027-(BR2)슬래브도(07).pdf",
"Length": 78149
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-028-(BR2)슬래브도(08).pdf",
"Length": 179698
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-029-(BR2)슬래브도(09).pdf",
"Length": 91263
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-030-(BR2)슬래브도(10).pdf",
"Length": 179808
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-031-(BR2)슬래브도(11).pdf",
"Length": 81413
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-032-(BR3)슬래브도(01).pdf",
"Length": 123495
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-033-(BR3)슬래브도(02).pdf",
"Length": 122552
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-034-(BR3)슬래브도(03).pdf",
"Length": 123033
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-035-(BR3)슬래브도(04).pdf",
"Length": 124936
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-036-(BR3)슬래브도(05).pdf",
"Length": 104954
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-037-(BR3)슬래브도(06).pdf",
"Length": 81280
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-038-(BR3)슬래브도(07).pdf",
"Length": 113800
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-039-(BR3)슬래브도(08).pdf",
"Length": 179148
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-040-(BR3)슬래브도(09).pdf",
"Length": 74748
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-041-(BR3)슬래브도(10).pdf",
"Length": 166770
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050304-042-(BR3)슬래브도(11).pdf",
"Length": 93370
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-001-(A1)교대도(01).pdf",
"Length": 472775
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-002-(A1)교대도(02).pdf",
"Length": 834794
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-003-(A1)교대도(03).pdf",
"Length": 549221
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-004-(A1)교대도(04).pdf",
"Length": 288184
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-005-(A1)교대도(05).pdf",
"Length": 548380
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-006-(A1)교대도(06).pdf",
"Length": 558011
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-007-(A1)교대도(07).pdf",
"Length": 824857
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-008-(접속슬래브A1)교대도(08).pdf",
"Length": 392134
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-009-(접속슬래브A1)교대도(09).pdf",
"Length": 390180
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-010-(A2)교대도(01).pdf",
"Length": 446182
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-011-(A2)교대도(02).pdf",
"Length": 845649
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-012-(A2)교대도(03).pdf",
"Length": 551847
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-013-(A2)교대도(04).pdf",
"Length": 276579
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-014-(A2)교대도(05).pdf",
"Length": 548112
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-015-(A2)교대도(06).pdf",
"Length": 540730
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-016-(A2)교대도(07).pdf",
"Length": 754810
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-017-(접속슬래브A2)교대도(08).pdf",
"Length": 392061
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-018-(접속슬래브A2)교대도(09).pdf",
"Length": 388681
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-019-접속슬래브 일반도.pdf",
"Length": 1391247
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-020-(P1~P2, P10~P12)교각도(01).pdf",
"Length": 498933
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-021-(P1~P2, P10~P12)교각도(02).pdf",
"Length": 705325
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-022-(P1~P2, P10~P12)교각도(03).pdf",
"Length": 668646
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-023-(P1~P2, P10~P12)교각도(04).pdf",
"Length": 303805
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-024-(P3, P5~P8)교각도(05).pdf",
"Length": 501555
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-025-(P3, P5~P8)교각도(06).pdf",
"Length": 725176
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-026-(P3, P5~P8)교각도(07).pdf",
"Length": 677156
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-027-(P3, P5~P8)교각도(08).pdf",
"Length": 305654
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-028-(P4, P9)교각도(09).pdf",
"Length": 421889
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-029-(P4, P9)교각도(10).pdf",
"Length": 730942
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-030-(P4, P9)교각도(11).pdf",
"Length": 245162
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-031-(두부보P1~P3, P5~P8)교각도(12).pdf",
"Length": 748981
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-032-(두부보P1~P3, P5~P8)교각도(13).pdf",
"Length": 492005
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-033-(두부보P4, P9)교각도(14).pdf",
"Length": 755368
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-034-(두부보P4, P9)교각도(15).pdf",
"Length": 757343
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-035-(두부보P10~P12)교각도(16).pdf",
"Length": 749824
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-036-(두부보P10~P12)교각도(17).pdf",
"Length": 487820
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-037-(기둥 및 단일현장타설 말뚝)교각도(18).pdf",
"Length": 589629
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-038-(기둥 및 단일현장타설 말뚝)교각도(19).pdf",
"Length": 517979
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-039-(기둥 및 단일현장타설 말뚝)교각도(20).pdf",
"Length": 1155846
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도면\\C0050305-040-(기둥 및 단일현장타설 말뚝)교각도(21).pdf",
"Length": 1166222
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\설계도서검토\\착공전 검토\\BIM 모델기반 검토\\설계도서검토.pdf",
"Length": 5370812
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\수량산출서\\수량산출서.pdf",
"Length": 244248
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\시공계획\\공사중검토\\02.전환BIM 모델기반 검토결과\\전환BIM 모델기반 검토결과 1,2차.pdf",
"Length": 5370812
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\안전\\02. 안전관리계획\\01. 설계단계\\01. [대당2] 설계안전성 검토 보고서(전체).pdf",
"Length": 9492684
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\안전\\02. 안전관리계획\\01. 설계단계\\02. [대당2 전체] 6. 기본안전보건대장_대산당진고속도로2공구.pdf",
"Length": 1921843
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\안전\\02. 안전관리계획\\01. 설계단계\\03. [대당2 전체] 15. 설계안전보건대장_고속국도 제30호선 대산_당진 고속도로 건설공사(2공구_운산_사성).pdf",
"Length": 20543459
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\안전\\02. 안전관리계획\\02. 착공단계\\01. [대당2 전체] 3. 공사안전보건대장 & 적정성 확인보고서.pdf",
"Length": 19640741
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\안전\\02. 안전관리계획\\02. 착공단계\\01. [대당2] 2. 유해위험방지계획서.pdf",
"Length": 59656371
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\안전\\02. 안전관리계획\\02. 착공단계\\01. [대당2] 18. 안전관리계획서 검토의견서(전체).pdf",
"Length": 514264
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\안전\\02. 안전관리계획\\02. 착공단계\\02. [대당2] 21. 안전관리계획서(대호지교).pdf",
"Length": 221318463
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\안전\\02. 안전관리계획\\02. 착공단계\\03. [대당2] 첨부1. 비상상황 발생시 추가 대책.pdf",
"Length": 1068835
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\안전\\02. 안전관리계획\\04. 안전관리 계획수립\\01. [대당2 전체] 3. 공사안전보건대장 & 적정성 확인보고서.pdf",
"Length": 19640741
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\안전\\04. 안전 평가\\01. 위험성 평가(최초)\\01. [고용노동부]최초위험성평가.pdf",
"Length": 116802
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\안전\\04. 안전 평가\\01. 위험성 평가(최초)\\02. [대당2] [첨부2. KCC건설 위험성평가 실시규정].pdf",
"Length": 1249671
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\품질\\01. 품질관리기준\\01. 관련 기준\\01. [사업단] 단일 현장타설 말뚝 품질관리 방안 알림 (1).pdf",
"Length": 638403
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\품질\\01. 품질관리기준\\01. 관련 기준\\02. (도공) BIM기반 건설사업관리 디지털전환 추진방안 (붙임) BIM 디지털 검측업무 매뉴얼.pdf",
"Length": 2004807
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\환경\\01. 환경관리(설계)\\01. 평가서\\01. [대당 2공구] 환경영향평가 보고서.pdf",
"Length": 314719530
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\환경\\01. 환경관리(설계)\\01. 평가서\\02. [대당 2공구] 교통영향평가.pdf",
"Length": 79502016
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\환경\\01. 환경관리(설계)\\01. 평가서\\03-1. 재해영향평가등의+협의+내용+조치결과(계획)+통보서(대산당진).pdf",
"Length": 69347
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\환경\\01. 환경관리(설계)\\01. 평가서\\03-2. (붙임1)재해영향평가+협의내용+관련.pdf",
"Length": 156308
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\환경\\01. 환경관리(설계)\\01. 평가서\\03-3. [별지+제2호서식]+재해영향평가등의+협의+내용의+이행상황+관리대장(자연재해대책법+시행규칙).pdf",
"Length": 50535
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\환경\\01. 환경관리(설계)\\01. 평가서\\03. [사업단] [본문]+재해영향평가+협의+결과+알림(대산~당진+고속도로+건설공사).pdf",
"Length": 91763
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\환경\\01. 환경관리(설계)\\01. 평가서\\03. [사업단] 재해영향평가+협의결과+조치결과+또는+조치계획+제출(대산∼당진).pdf",
"Length": 249137
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\환경\\01. 환경관리(설계)\\01. 평가서\\04. [대당 2공구] 재해영향평가 협의내용 관리대장.pdf",
"Length": 380809
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM\\260508 대호지교 시공BIM_Rev.4\\환경\\02. 환경관리계획(착공전)\\01. 관리계획 및 예산\\03. [국토부] 환경관리비의_산출기준_및_관리에_관한_지침_해설서(190301).pdf",
"Length": 4239601
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260706 교각Data수집\\서울-세종 12공구\\01_설계도면\\005_교량공\\03_광암교\\01_일반사항\\C0050301-001-광암교 교량제원 및 특기사항(1).dwg",
"Length": 210496
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260706 교각Data수집\\서울-세종 12공구\\01_설계도면\\005_교량공\\03_광암교\\01_일반사항\\C0050301-001-광암교 교량제원 및 특기사항(1).pdf",
"Length": 497302
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260706 교각Data수집\\서울-세종 12공구\\01_설계도면\\005_교량공\\03_광암교\\01_일반사항\\C0050301-002-광암교 교량제원 및 특기사항(2).dwg",
"Length": 192864
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260706 교각Data수집\\서울-세종 12공구\\01_설계도면\\005_교량공\\03_광암교\\01_일반사항\\C0050301-002-광암교 교량제원 및 특기사항(2).pdf",
"Length": 466340
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260706 교각Data수집\\서울-세종 12공구\\01_설계도면\\005_교량공\\03_광암교\\02_종평면도\\C0050302-001-광암교 종평면도(1).dwg",
"Length": 783712
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260706 교각Data수집\\서울-세종 12공구\\01_설계도면\\005_교량공\\03_광암교\\02_종평면도\\C0050302-001-광암교 종평면도(1).pdf",
"Length": 801536
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260706 교각Data수집\\서울-세종 12공구\\01_설계도면\\005_교량공\\03_광암교\\02_종평면도\\C0050302-002-광암교 종평면도(2).dwg",
"Length": 365024
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260706 교각Data수집\\서울-세종 12공구\\01_설계도면\\005_교량공\\03_광암교\\02_종평면도\\C0050302-002-광암교 종평면도(2).pdf",
"Length": 447373
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260706 교각Data수집\\서울-세종 12공구\\01_설계도면\\005_교량공\\03_광암교\\02_종평면도\\C0050302-003-광암교 지질주상도(1) (A1).dwg",
"Length": 289312
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260706 교각Data수집\\서울-세종 12공구\\01_설계도면\\005_교량공\\03_광암교\\02_종평면도\\C0050302-003-광암교 지질주상도(1) (A1).pdf",
"Length": 149313
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260706 교각Data수집\\서울-세종 12공구\\01_설계도면\\005_교량공\\03_광암교\\02_종평면도\\C0050302-004-광암교 지질주상도(2) (A2).dwg",
"Length": 201312
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260706 교각Data수집\\서울-세종 12공구\\01_설계도면\\005_교량공\\03_광암교\\02_종평면도\\C0050302-004-광암교 지질주상도(2) (A2).pdf",
"Length": 141676
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\04 계획현황도.pdf",
"Length": 6074348
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\01. 거더제작 시공상세도_배근도_01.pdf",
"Length": 1894857
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\01. 거더제작 시공상세도_배근도_02.pdf",
"Length": 389572
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\01. 거더제작 시공상세도_배근도_03.pdf",
"Length": 330477
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\01. 거더제작 시공상세도_배근도_04.pdf",
"Length": 235155
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\01. 거더제작 시공상세도_배근도_05.pdf",
"Length": 320949
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\01. 거더제작 시공상세도_배근도_06.pdf",
"Length": 90245
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\01. 거더제작 시공상세도_배근도_07.pdf",
"Length": 21535615
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\01. 거더제작 시공상세도_배근도_08.pdf",
"Length": 84715
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\02. 거더제작 시공상세도_철근망부품도_01.pdf",
"Length": 128326
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\02. 거더제작 시공상세도_철근망부품도_02.pdf",
"Length": 219719
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\02. 거더제작 시공상세도_철근망부품도_03.pdf",
"Length": 226811
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\02. 거더제작 시공상세도_철근망부품도_04.pdf",
"Length": 226985
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\02. 거더제작 시공상세도_철근망부품도_05.pdf",
"Length": 227090
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\02. 거더제작 시공상세도_철근망부품도_06.pdf",
"Length": 227828
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\02. 거더제작 시공상세도_철근망부품도_07.pdf",
"Length": 226794
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\02. 거더제작 시공상세도_철근망부품도_08.pdf",
"Length": 228646
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\02. 거더제작 시공상세도_철근망부품도_09.pdf",
"Length": 239449
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\02. 거더제작 시공상세도_철근망부품도_10.pdf",
"Length": 248879
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\02. 거더제작 시공상세도_철근망부품도_11.pdf",
"Length": 235795
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\02. 거더제작 시공상세도_철근망부품도_12.pdf",
"Length": 239067
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\02. 거더제작 시공상세도_철근망부품도_13.pdf",
"Length": 244259
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\02. 거더제작 시공상세도_철근망부품도_14.pdf",
"Length": 128098
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\02. 거더제작 시공상세도_철근망부품도_15.pdf",
"Length": 225199
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\02. 거더제작 시공상세도_철근망부품도_16.pdf",
"Length": 246009
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\02. 거더제작 시공상세도_철근망부품도_17.pdf",
"Length": 241341
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\02. 거더제작 시공상세도_철근망부품도_18.pdf",
"Length": 244382
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\02. 거더제작 시공상세도_철근망부품도_19.pdf",
"Length": 235126
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\03. 거더제작 시공상세도_철근배근기준도_01.pdf",
"Length": 179591
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\03. 거더제작 시공상세도_철근배근기준도_02.pdf",
"Length": 190053
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\03. 거더제작 시공상세도_철근배근기준도_03.pdf",
"Length": 6418485
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\03. 거더제작 시공상세도_철근배근기준도_04.pdf",
"Length": 7766023
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-1 DR거더\\03. 거더제작 시공상세도_철근배근기준도_05.pdf",
"Length": 338193
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-2 바닥판\\01. 바닥판 시공상세도_프리덱_01.pdf",
"Length": 157700
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-2 바닥판\\01. 바닥판 시공상세도_프리덱_02.pdf",
"Length": 153919
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경\\변경_260721\\D-2 바닥판\\01. 바닥판 시공상세도_프리덱_03.pdf",
"Length": 175663
},
{
"FullName": "D:\\Desktop\\업무\\01.프로젝트\\잡무\\대호지교 거더 시공상세도 도곽변경 (2)\\04 계획현황도.pdf",
"Length": 6074348
}
]
@@ -1,66 +0,0 @@
[
{
"entry": "Way/대호지교/Bridge/94529765(대호지교)/RoadPoint_도로끝_우측.txt",
"bytes": 34521
},
{
"entry": "Way/대호지교/Bridge/94529765(대호지교)/RoadPoint_도로끝_좌측.txt",
"bytes": 34532
},
{
"entry": "Way/대호지교/Bridge/94529765(대호지교)/RoadPoint_편경사변곡점_우측.txt",
"bytes": 150121
},
{
"entry": "Way/대호지교/Bridge/94529765(대호지교)/RoadPoint_편경사변곡점_좌측.txt",
"bytes": 149968
},
{
"entry": "Way/대호지교/Settings/Settings.csv",
"bytes": 62
},
{
"entry": "천지인/VECTOR/Map.dwg",
"bytes": 26830
},
{
"entry": "천지인/지적도/지적도.dwg",
"bytes": 18638
},
{
"entry": "천지인/지형도/5000/36602030.dxf",
"bytes": 10460876
},
{
"entry": "천지인/지형도/5000/36602040.dxf",
"bytes": 12342564
},
{
"entry": "천지인/지형도/5000/ConvertCoords/36602030.dxf",
"bytes": 10460876
},
{
"entry": "천지인/지형도/5000/ConvertCoords/36602040.dxf",
"bytes": 12342564
},
{
"entry": "천지인/지형도/5000/ConvertCoords/Merge_5000.dwg",
"bytes": 4566086
},
{
"entry": "천지인/지형도/boundary.dwg",
"bytes": 15076
},
{
"entry": "천지인/지형도/ConvertCoords/boundary.dwg",
"bytes": 15076
},
{
"entry": "천지인/지형도/ConvertCoords/Merge_5000.dwg",
"bytes": 4566086
},
{
"entry": "천지인/지형도/Merge_5000.dwg",
"bytes": 4562092
}
]
@@ -1,10 +0,0 @@
[
{
"entry": "Way/대호지교/Bridge/94529765(대호지교)/WayDBConnection.xml",
"bytes": 312
},
{
"entry": "천지인/지형도/boundary.prj",
"bytes": 335
}
]
@@ -1,398 +0,0 @@
[
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면.pdf",
"bytes": 2855155
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050302-001-대호지교 종평면도.pdf",
"bytes": 2644215
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050302-002-지질주상도(01).pdf",
"bytes": 553603
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050302-003-지질주상도(02).pdf",
"bytes": 504708
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050302-004-지질주상도(03).pdf",
"bytes": 419819
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050302-005-지질주상도(04).pdf",
"bytes": 427988
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050302-006-지질주상도(05).pdf",
"bytes": 419116
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050302-007-지질주상도(06).pdf",
"bytes": 402561
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050302-008-지질주상도(07).pdf",
"bytes": 407502
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050302-009-지질주상도(08).pdf",
"bytes": 413002
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050302-010-지질주상도(09).pdf",
"bytes": 420201
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050302-011-지질주상도(10).pdf",
"bytes": 411226
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050302-012-지질주상도(11).pdf",
"bytes": 411023
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050302-013-지질주상도(12).pdf",
"bytes": 432302
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050302-014-지질주상도(13).pdf",
"bytes": 404355
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050302-015-지질주상도(14).pdf",
"bytes": 439947
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-001-교량받침 배치도(1).pdf",
"bytes": 118803
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-002-교량받침 배치도(2).pdf",
"bytes": 82691
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-003-교량받침 배치도(3).pdf",
"bytes": 59465
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-004-ELEVATION 산출근거도 (01).pdf",
"bytes": 68744
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-005-ELEVATION 산출근거도 (02).pdf",
"bytes": 67183
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-006-ELEVATION 산출근거도 (03).pdf",
"bytes": 67233
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-007-ELEVATION 산출근거도 (04).pdf",
"bytes": 67147
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-008-ELEVATION 산출근거도 (05).pdf",
"bytes": 67284
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-009-ELEVATION 산출근거도 (06).pdf",
"bytes": 68955
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-010-(BR1)슬래브도(01).pdf",
"bytes": 121555
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-011-(BR1)슬래브도(02).pdf",
"bytes": 121810
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-012-(BR1)슬래브도(03).pdf",
"bytes": 122274
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-013-(BR1)슬래브도(04).pdf",
"bytes": 124002
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-014-(BR1)슬래브도(05).pdf",
"bytes": 106817
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-015-(BR1)슬래브도(06).pdf",
"bytes": 78228
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-016-(BR1)슬래브도(07).pdf",
"bytes": 114345
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-017-(BR1)슬래브도(08).pdf",
"bytes": 180547
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-018-(BR1)슬래브도(09).pdf",
"bytes": 75333
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-019-(BR1)슬래브도(10).pdf",
"bytes": 165107
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-020-(BR1)슬래브도(11).pdf",
"bytes": 95703
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-021-(BR2)슬래브도(01).pdf",
"bytes": 122654
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-022-(BR2)슬래브도(02).pdf",
"bytes": 122297
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-023-(BR2)슬래브도(03).pdf",
"bytes": 127164
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-024-(BR2)슬래브도(04).pdf",
"bytes": 122384
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-025-(BR2)슬래브도(05).pdf",
"bytes": 124045
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-026-(BR2)슬래브도(06).pdf",
"bytes": 101189
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-027-(BR2)슬래브도(07).pdf",
"bytes": 78149
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-028-(BR2)슬래브도(08).pdf",
"bytes": 179698
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-029-(BR2)슬래브도(09).pdf",
"bytes": 91263
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-030-(BR2)슬래브도(10).pdf",
"bytes": 179808
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-031-(BR2)슬래브도(11).pdf",
"bytes": 81413
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-032-(BR3)슬래브도(01).pdf",
"bytes": 123495
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-033-(BR3)슬래브도(02).pdf",
"bytes": 122552
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-034-(BR3)슬래브도(03).pdf",
"bytes": 123033
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-035-(BR3)슬래브도(04).pdf",
"bytes": 124936
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-036-(BR3)슬래브도(05).pdf",
"bytes": 104954
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-037-(BR3)슬래브도(06).pdf",
"bytes": 81280
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-038-(BR3)슬래브도(07).pdf",
"bytes": 113800
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-039-(BR3)슬래브도(08).pdf",
"bytes": 179148
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-040-(BR3)슬래브도(09).pdf",
"bytes": 74748
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-041-(BR3)슬래브도(10).pdf",
"bytes": 166770
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050304-042-(BR3)슬래브도(11).pdf",
"bytes": 93370
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-001-(A1)교대도(01).pdf",
"bytes": 472775
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-002-(A1)교대도(02).pdf",
"bytes": 834794
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-003-(A1)교대도(03).pdf",
"bytes": 549221
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-004-(A1)교대도(04).pdf",
"bytes": 288184
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-005-(A1)교대도(05).pdf",
"bytes": 548380
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-006-(A1)교대도(06).pdf",
"bytes": 558011
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-007-(A1)교대도(07).pdf",
"bytes": 824857
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-008-(접속슬래브A1)교대도(08).pdf",
"bytes": 392134
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-009-(접속슬래브A1)교대도(09).pdf",
"bytes": 390180
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-010-(A2)교대도(01).pdf",
"bytes": 446182
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-011-(A2)교대도(02).pdf",
"bytes": 845649
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-012-(A2)교대도(03).pdf",
"bytes": 551847
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-013-(A2)교대도(04).pdf",
"bytes": 276579
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-014-(A2)교대도(05).pdf",
"bytes": 548112
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-015-(A2)교대도(06).pdf",
"bytes": 540730
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-016-(A2)교대도(07).pdf",
"bytes": 754810
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-017-(접속슬래브A2)교대도(08).pdf",
"bytes": 392061
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-018-(접속슬래브A2)교대도(09).pdf",
"bytes": 388681
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-019-접속슬래브 일반도.pdf",
"bytes": 1391247
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-020-(P1~P2, P10~P12)교각도(01).pdf",
"bytes": 498933
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-021-(P1~P2, P10~P12)교각도(02).pdf",
"bytes": 705325
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-022-(P1~P2, P10~P12)교각도(03).pdf",
"bytes": 668646
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-023-(P1~P2, P10~P12)교각도(04).pdf",
"bytes": 303805
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-024-(P3, P5~P8)교각도(05).pdf",
"bytes": 501555
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-025-(P3, P5~P8)교각도(06).pdf",
"bytes": 725176
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-026-(P3, P5~P8)교각도(07).pdf",
"bytes": 677156
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-027-(P3, P5~P8)교각도(08).pdf",
"bytes": 305654
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-028-(P4, P9)교각도(09).pdf",
"bytes": 421889
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-029-(P4, P9)교각도(10).pdf",
"bytes": 730942
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-030-(P4, P9)교각도(11).pdf",
"bytes": 245162
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-031-(두부보P1~P3, P5~P8)교각도(12).pdf",
"bytes": 748981
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-032-(두부보P1~P3, P5~P8)교각도(13).pdf",
"bytes": 492005
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-033-(두부보P4, P9)교각도(14).pdf",
"bytes": 755368
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-034-(두부보P4, P9)교각도(15).pdf",
"bytes": 757343
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-035-(두부보P10~P12)교각도(16).pdf",
"bytes": 749824
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-036-(두부보P10~P12)교각도(17).pdf",
"bytes": 487820
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-037-(기둥 및 단일현장타설 말뚝)교각도(18).pdf",
"bytes": 589629
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-038-(기둥 및 단일현장타설 말뚝)교각도(19).pdf",
"bytes": 517979
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-039-(기둥 및 단일현장타설 말뚝)교각도(20).pdf",
"bytes": 1155846
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050305-040-(기둥 및 단일현장타설 말뚝)교각도(21).pdf",
"bytes": 1166222
},
{
"entry": "260508 대호지교 시공BIM_Rev.4/설계도서검토/착공전 검토/BIM 모델기반 검토/설계도서검토.pdf",
"bytes": 5370812
}
]
@@ -1,922 +0,0 @@
{
"drawing": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\03_original_pdf_soundings.dxf",
"output": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\output\\samples_20261102\\03_대호지교",
"crs": "EPSG:5186",
"terrain_crs": "EPSG:5186",
"cad_axes": "YX",
"terrain_block": "*Model_Space",
"piers": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\도면추출\\samples\\샘플03_대호지교_교각입력데이터.xlsx",
"boreholes": "",
"layers": "PDF_SOUNDING",
"margin": 100.0,
"step": 5.0,
"max_edge": 100.0,
"z_min": -500.0,
"z_max": 200.0,
"include_maps": true,
"allow_download": true,
"use_3d_lines": false,
"plots": false,
"automatic": false,
"auto_detection": {
"crs_status": "project_default_not_source_verified",
"crs_assumed": true,
"project_default_applied": true,
"arbitrary_offset_applied": false,
"recovered_source": {
"source": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM.zip",
"archive_entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050302-001-대호지교 종평면도.pdf",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\03_대호지교_원본_종평면도.pdf",
"sha256": "7284235502370bfc99741cf0996a1464cff16e71821760654e22ea1b0553f6e5",
"role": "original_bridge_plan_profile_PDF",
"method": "original_PDF_vector_digit_signatures_at_original_POINT_or_cross_markers",
"normalized_points": 850,
"conflicting_markers_rejected": 16,
"ambiguous_labels_excluded": true,
"AI_or_OCR_service_used": false,
"control_registration": {
"status": "registered",
"solutions": [
{
"scale_m_per_pt": 1.1756012687426343,
"rotation": [
[
0.9448449142707172,
-0.32751807274829986
],
[
0.32751807274829986,
0.9448449142707172
]
],
"translation_EN": [
153834.65658955806,
481178.54830587894
],
"residual_m": [
0.03732333237901017,
0.0488732377124772,
0.03882501195549349,
0.03631586084734654,
0.033845926767769895,
0.038399816148947274,
0.0642022018944583,
0.0494976968631278,
0.06169674830025886,
0.054259450457597024,
0.04077459964791026,
0.029776165921153005
],
"controls": [
{
"pier": "P1",
"pdf_center": [
128.10000225,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1555,
1562
],
"vertices_pdf": [
[
129.60000225,
383.28000275
],
[
126.60000225,
383.28000275
],
[
129.60000225,
362.63998775000005
],
[
126.60000225,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 2.999999999999986,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
153833.31774949998,
480714.9299995
]
},
{
"pier": "P2",
"pdf_center": [
170.58000149999998,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1569,
1576
],
"vertices_pdf": [
[
172.08000149999998,
383.28000275
],
[
169.08000149999998,
383.28000275
],
[
172.08000149999998,
362.63998775000005
],
[
169.08000149999998,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
153880.5632875,
480698.5654295
]
},
{
"pier": "P3",
"pdf_center": [
213.17999249999997,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1583,
1590
],
"vertices_pdf": [
[
214.67999249999997,
383.28000275
],
[
211.67999249999997,
383.28000275
],
[
214.67999249999997,
362.63998775000005
],
[
211.67999249999997,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
153927.80882500001,
480682.2008595
]
},
{
"pier": "P4",
"pdf_center": [
255.78000637499997,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1597,
1604
],
"vertices_pdf": [
[
257.400009,
383.28000275
],
[
254.16000375,
383.28000275
],
[
257.400009,
362.63998775000005
],
[
254.16000375,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.2400052500000243,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
153975.20082600001,
480665.7855585
]
},
{
"pier": "P5",
"pdf_center": [
298.5,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1611,
1618
],
"vertices_pdf": [
[
300.0,
383.28000275
],
[
297.0,
383.28000275
],
[
300.0,
362.63998775000005
],
[
297.0,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154022.5928265,
480649.3702575
]
},
{
"pier": "P6",
"pdf_center": [
340.98001125,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1625,
1632
],
"vertices_pdf": [
[
342.48001125,
383.28000275
],
[
339.48001125,
383.28000275
],
[
342.48001125,
362.63998775000005
],
[
339.48001125,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154069.8383645,
480633.0056875
]
},
{
"pier": "P7",
"pdf_center": [
383.5800015,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1645,
1633,
1634,
1635,
1636,
1637,
1638,
1639,
1640,
1641,
1642,
1643,
1644
],
"vertices_pdf": [
[
382.0800015,
362.63998775000005
],
[
385.08000150000004,
362.63998775000005
],
[
385.08000150000004,
383.28000275
],
[
382.0800015,
383.28000275
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.000000000000057,
"evidence_kind": "original_hidden_cap_crossbar_and_dashed_side_extents",
"target_EN": [
154117.0839025,
480616.6411175
]
},
{
"pier": "P8",
"pdf_center": [
426.06001275,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1652,
1659
],
"vertices_pdf": [
[
427.56001275,
383.28000275
],
[
424.56001275,
383.28000275
],
[
427.56001275,
362.63998775000005
],
[
424.56001275,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154164.32944,
480600.27654700004
]
},
{
"pier": "P9",
"pdf_center": [
468.71999362500003,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1666,
1673
],
"vertices_pdf": [
[
470.2799835,
383.28000275
],
[
467.16000375,
383.28000275
],
[
470.2799835,
362.63998775000005
],
[
467.16000375,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.1199797500000273,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154211.721441,
480583.8612465
]
},
{
"pier": "P10",
"pdf_center": [
511.3800202499999,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1680,
1687
],
"vertices_pdf": [
[
512.8800202499999,
383.28000275
],
[
509.88002025,
383.28000275
],
[
512.8800202499999,
362.63998775000005
],
[
509.88002025,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 2.999999999999943,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154259.07253,
480567.32782999997
]
},
{
"pier": "P11",
"pdf_center": [
553.9199981249999,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1694,
1701
],
"vertices_pdf": [
[
555.3599849999999,
383.28000275
],
[
552.48001125,
383.28000275
],
[
555.3599849999999,
362.63998775000005
],
[
552.48001125,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 2.8799737499999765,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154306.31806750002,
480550.9632595
]
},
{
"pier": "P12",
"pdf_center": [
596.46002175,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1708,
1715
],
"vertices_pdf": [
[
597.96002175,
383.28000275
],
[
594.96002175,
383.28000275
],
[
597.96002175,
362.63998775000005
],
[
594.96002175,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154353.5636055,
480534.5986895
]
}
]
}
],
"original_plot_coordinate_quantum_pt": 0.12,
"max_registration_residual_m": 0.2,
"pier_label_order": "original_plan_profile_A1_P1_to_P12_A2_left_to_right"
},
"geometry_quantum_m": 0.1410721522491161,
"profile_ground_curve_index": 29595,
"profile_ground_ordinates": [
{
"X": 480714.95650470664,
"Y": 153833.34402696486,
"Z": -0.2872082516860246,
"pier": "P1",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
128.10000225,
460.2000125
],
"pdf_plan_point": [
128.10000225,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480698.60040247964,
"Y": 153880.52914831342,
"Z": -3.2464331093278815,
"pier": "P2",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
170.58000149999998,
462.71747674665176
],
"pdf_plan_point": [
170.58000149999998,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480682.1980997497,
"Y": 153927.8475518038,
"Z": -8.88465577725492,
"pier": "P3",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
213.17999249999997,
467.5140111987443
],
"pdf_plan_point": [
213.17999249999997,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480665.7957882122,
"Y": 153975.16598070282,
"Z": -10.302780859970994,
"pier": "P4",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
255.78000637499997,
468.720434963332
],
"pdf_plan_point": [
255.78000637499997,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480649.34728079214,
"Y": 154022.61767841454,
"Z": -10.443341672063639,
"pier": "P5",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
298.5,
468.8400125
],
"pdf_plan_point": [
298.5,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480632.9911739448,
"Y": 154069.80281309222,
"Z": -10.300794276340753,
"pier": "P6",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
340.98001125,
468.7187449419572
],
"pdf_plan_point": [
340.98001125,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480616.58887150366,
"Y": 154117.12121574953,
"Z": -9.874145680307947,
"pier": "P7",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
383.5800015,
468.35578753315366
],
"pdf_plan_point": [
383.5800015,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480600.2327646563,
"Y": 154164.3063504272,
"Z": -8.174418746969536,
"pier": "P8",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
426.06001275,
466.90980015821646
],
"pdf_plan_point": [
426.06001275,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480583.8073639851,
"Y": 154211.6913883239,
"Z": -4.91826447643848,
"pier": "P9",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
468.71999362500003,
464.13973287641596
],
"pdf_plan_point": [
468.71999362500003,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480567.38194569875,
"Y": 154259.07647703795,
"Z": -3.099416141673487,
"pier": "P10",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
511.3800202499999,
462.5924068457399
],
"pdf_plan_point": [
511.3800202499999,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480551.00274986203,
"Y": 154306.32822029677,
"Z": -2.387176347248783,
"pier": "P11",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
553.9199981249999,
461.9864920187958
],
"pdf_plan_point": [
553.9199981249999,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480534.6235364102,
"Y": 154353.5800143729,
"Z": 2.9660524168061784,
"pier": "P12",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
596.46002175,
457.43240685596857
],
"pdf_plan_point": [
596.46002175,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
}
],
"vertical_axis": {
"ticks": [
{
"line_index": 7072,
"EL": 20.0,
"pdf_y": 442.9199945
},
{
"line_index": 7070,
"EL": 10.0,
"pdf_y": 451.43998325
},
{
"line_index": 7069,
"EL": 0.0,
"pdf_y": 459.96001775
},
{
"line_index": 7067,
"EL": -10.0,
"pdf_y": 468.48000724999997
},
{
"line_index": 7066,
"EL": -20.0,
"pdf_y": 476.999996
},
{
"line_index": 7074,
"EL": -30.0,
"pdf_y": 485.51998475000005
},
{
"line_index": 7221,
"EL": -40.0,
"pdf_y": 493.9199945
}
],
"coefficients": [
-1.1754784051362916,
540.6679684855154
],
"max_residual_m": 0.07568108572945675
},
"source_vector_cache_sha256": "dd2bbdc81487c040011d0aacca176204e9a7b8af99235698c75830b9b1527fb9"
},
"original_profile_drawing": null,
"method": "recovered_original_CAD_survey_geometry"
}
}
File diff suppressed because it is too large. Load diff
@@ -1,946 +0,0 @@
{
"piers": [
{
"id": "P1",
"ground_el": -0.2865068145526582
},
{
"id": "P2",
"ground_el": -3.248558470926096
},
{
"id": "P3",
"ground_el": -8.881815380550176
},
{
"id": "P4",
"ground_el": -10.303229418742212
},
{
"id": "P5",
"ground_el": -10.443684965715722
},
{
"id": "P6",
"ground_el": -10.300717649030217
},
{
"id": "P7",
"ground_el": -9.876009296881353
},
{
"id": "P8",
"ground_el": -8.1740867760184
},
{
"id": "P9",
"ground_el": -4.918204297014125
},
{
"id": "P10",
"ground_el": -3.097222302050734
},
{
"id": "P11",
"ground_el": -2.3854033064852045
},
{
"id": "P12",
"ground_el": 2.9644427341513797
}
],
"point_count": 850,
"provenance": {
"source": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM.zip",
"archive_entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050302-001-대호지교 종평면도.pdf",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\03_대호지교_원본_종평면도.pdf",
"sha256": "7284235502370bfc99741cf0996a1464cff16e71821760654e22ea1b0553f6e5",
"role": "original_bridge_plan_profile_PDF",
"method": "original_PDF_vector_digit_signatures_at_original_POINT_or_cross_markers",
"normalized_points": 850,
"conflicting_markers_rejected": 16,
"ambiguous_labels_excluded": true,
"AI_or_OCR_service_used": false,
"control_registration": {
"status": "registered",
"solutions": [
{
"scale_m_per_pt": 1.1756012687426343,
"rotation": [
[
0.9448449142707172,
-0.32751807274829986
],
[
0.32751807274829986,
0.9448449142707172
]
],
"translation_EN": [
153834.65658955806,
481178.54830587894
],
"residual_m": [
0.03732333237901017,
0.0488732377124772,
0.03882501195549349,
0.03631586084734654,
0.033845926767769895,
0.038399816148947274,
0.0642022018944583,
0.0494976968631278,
0.06169674830025886,
0.054259450457597024,
0.04077459964791026,
0.029776165921153005
],
"controls": [
{
"pier": "P1",
"pdf_center": [
128.10000225,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1555,
1562
],
"vertices_pdf": [
[
129.60000225,
383.28000275
],
[
126.60000225,
383.28000275
],
[
129.60000225,
362.63998775000005
],
[
126.60000225,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 2.999999999999986,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
153833.31774949998,
480714.9299995
]
},
{
"pier": "P2",
"pdf_center": [
170.58000149999998,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1569,
1576
],
"vertices_pdf": [
[
172.08000149999998,
383.28000275
],
[
169.08000149999998,
383.28000275
],
[
172.08000149999998,
362.63998775000005
],
[
169.08000149999998,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
153880.5632875,
480698.5654295
]
},
{
"pier": "P3",
"pdf_center": [
213.17999249999997,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1583,
1590
],
"vertices_pdf": [
[
214.67999249999997,
383.28000275
],
[
211.67999249999997,
383.28000275
],
[
214.67999249999997,
362.63998775000005
],
[
211.67999249999997,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
153927.80882500001,
480682.2008595
]
},
{
"pier": "P4",
"pdf_center": [
255.78000637499997,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1597,
1604
],
"vertices_pdf": [
[
257.400009,
383.28000275
],
[
254.16000375,
383.28000275
],
[
257.400009,
362.63998775000005
],
[
254.16000375,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.2400052500000243,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
153975.20082600001,
480665.7855585
]
},
{
"pier": "P5",
"pdf_center": [
298.5,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1611,
1618
],
"vertices_pdf": [
[
300.0,
383.28000275
],
[
297.0,
383.28000275
],
[
300.0,
362.63998775000005
],
[
297.0,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154022.5928265,
480649.3702575
]
},
{
"pier": "P6",
"pdf_center": [
340.98001125,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1625,
1632
],
"vertices_pdf": [
[
342.48001125,
383.28000275
],
[
339.48001125,
383.28000275
],
[
342.48001125,
362.63998775000005
],
[
339.48001125,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154069.8383645,
480633.0056875
]
},
{
"pier": "P7",
"pdf_center": [
383.5800015,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1645,
1633,
1634,
1635,
1636,
1637,
1638,
1639,
1640,
1641,
1642,
1643,
1644
],
"vertices_pdf": [
[
382.0800015,
362.63998775000005
],
[
385.08000150000004,
362.63998775000005
],
[
385.08000150000004,
383.28000275
],
[
382.0800015,
383.28000275
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.000000000000057,
"evidence_kind": "original_hidden_cap_crossbar_and_dashed_side_extents",
"target_EN": [
154117.0839025,
480616.6411175
]
},
{
"pier": "P8",
"pdf_center": [
426.06001275,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1652,
1659
],
"vertices_pdf": [
[
427.56001275,
383.28000275
],
[
424.56001275,
383.28000275
],
[
427.56001275,
362.63998775000005
],
[
424.56001275,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154164.32944,
480600.27654700004
]
},
{
"pier": "P9",
"pdf_center": [
468.71999362500003,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1666,
1673
],
"vertices_pdf": [
[
470.2799835,
383.28000275
],
[
467.16000375,
383.28000275
],
[
470.2799835,
362.63998775000005
],
[
467.16000375,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.1199797500000273,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154211.721441,
480583.8612465
]
},
{
"pier": "P10",
"pdf_center": [
511.3800202499999,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1680,
1687
],
"vertices_pdf": [
[
512.8800202499999,
383.28000275
],
[
509.88002025,
383.28000275
],
[
512.8800202499999,
362.63998775000005
],
[
509.88002025,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 2.999999999999943,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154259.07253,
480567.32782999997
]
},
{
"pier": "P11",
"pdf_center": [
553.9199981249999,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1694,
1701
],
"vertices_pdf": [
[
555.3599849999999,
383.28000275
],
[
552.48001125,
383.28000275
],
[
555.3599849999999,
362.63998775000005
],
[
552.48001125,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 2.8799737499999765,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154306.31806750002,
480550.9632595
]
},
{
"pier": "P12",
"pdf_center": [
596.46002175,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1708,
1715
],
"vertices_pdf": [
[
597.96002175,
383.28000275
],
[
594.96002175,
383.28000275
],
[
597.96002175,
362.63998775000005
],
[
594.96002175,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154353.5636055,
480534.5986895
]
}
]
}
],
"original_plot_coordinate_quantum_pt": 0.12,
"max_registration_residual_m": 0.2,
"pier_label_order": "original_plan_profile_A1_P1_to_P12_A2_left_to_right"
},
"geometry_quantum_m": 0.1410721522491161,
"profile_ground_curve_index": 29595,
"profile_ground_ordinates": [
{
"X": 480714.95650470664,
"Y": 153833.34402696486,
"Z": -0.2872082516860246,
"pier": "P1",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
128.10000225,
460.2000125
],
"pdf_plan_point": [
128.10000225,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480698.60040247964,
"Y": 153880.52914831342,
"Z": -3.2464331093278815,
"pier": "P2",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
170.58000149999998,
462.71747674665176
],
"pdf_plan_point": [
170.58000149999998,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480682.1980997497,
"Y": 153927.8475518038,
"Z": -8.88465577725492,
"pier": "P3",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
213.17999249999997,
467.5140111987443
],
"pdf_plan_point": [
213.17999249999997,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480665.7957882122,
"Y": 153975.16598070282,
"Z": -10.302780859970994,
"pier": "P4",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
255.78000637499997,
468.720434963332
],
"pdf_plan_point": [
255.78000637499997,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480649.34728079214,
"Y": 154022.61767841454,
"Z": -10.443341672063639,
"pier": "P5",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
298.5,
468.8400125
],
"pdf_plan_point": [
298.5,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480632.9911739448,
"Y": 154069.80281309222,
"Z": -10.300794276340753,
"pier": "P6",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
340.98001125,
468.7187449419572
],
"pdf_plan_point": [
340.98001125,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480616.58887150366,
"Y": 154117.12121574953,
"Z": -9.874145680307947,
"pier": "P7",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
383.5800015,
468.35578753315366
],
"pdf_plan_point": [
383.5800015,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480600.2327646563,
"Y": 154164.3063504272,
"Z": -8.174418746969536,
"pier": "P8",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
426.06001275,
466.90980015821646
],
"pdf_plan_point": [
426.06001275,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480583.8073639851,
"Y": 154211.6913883239,
"Z": -4.91826447643848,
"pier": "P9",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
468.71999362500003,
464.13973287641596
],
"pdf_plan_point": [
468.71999362500003,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480567.38194569875,
"Y": 154259.07647703795,
"Z": -3.099416141673487,
"pier": "P10",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
511.3800202499999,
462.5924068457399
],
"pdf_plan_point": [
511.3800202499999,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480551.00274986203,
"Y": 154306.32822029677,
"Z": -2.387176347248783,
"pier": "P11",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
553.9199981249999,
461.9864920187958
],
"pdf_plan_point": [
553.9199981249999,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480534.6235364102,
"Y": 154353.5800143729,
"Z": 2.9660524168061784,
"pier": "P12",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
596.46002175,
457.43240685596857
],
"pdf_plan_point": [
596.46002175,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
}
],
"vertical_axis": {
"ticks": [
{
"line_index": 7072,
"EL": 20.0,
"pdf_y": 442.9199945
},
{
"line_index": 7070,
"EL": 10.0,
"pdf_y": 451.43998325
},
{
"line_index": 7069,
"EL": 0.0,
"pdf_y": 459.96001775
},
{
"line_index": 7067,
"EL": -10.0,
"pdf_y": 468.48000724999997
},
{
"line_index": 7066,
"EL": -20.0,
"pdf_y": 476.999996
},
{
"line_index": 7074,
"EL": -30.0,
"pdf_y": 485.51998475000005
},
{
"line_index": 7221,
"EL": -40.0,
"pdf_y": 493.9199945
}
],
"coefficients": [
-1.1754784051362916,
540.6679684855154
],
"max_residual_m": 0.07568108572945675
},
"source_vector_cache_sha256": "dd2bbdc81487c040011d0aacca176204e9a7b8af99235698c75830b9b1527fb9"
}
}
@@ -1 +0,0 @@
{"width": 1190.52002, "height": 841.92004, "lines": [{"x0": 345.24000524999997, "y0": 429.48005674999996, "x1": 345.36000824999996, "y1": 432.720062, "width": 0.12000299999999697, "height": 3.2400052500000243, "pts": [[345.36000824999996, 412.43998325], [345.24000524999997, 409.199978]], "linewidth": 0.36, "stroke": true, "fill": false, "evenodd": false, "stroking_color": [0.54902, 0.54902, 0.54902], "non_stroking_color": 0, "mcid": null, "tag": null, "object_type": "line", "page_number": 1, "path": [["m", [345.36000824999996, 412.43998325]], ["l", [345.24000524999997, 409.199978]]], "dash": null, "top": 409.199978, "bottom": 412.43998325, "doctop": 409.199978}, {"x0": 345.120003, "y0": 434.04002375, "x1": 345.24000524999997, "y1": 435.24005149999994, "width": 0.12000224999997045, "height": 1.200027749999947, "pts": [[345.24000524999997, 407.88001625], [345.120003, 406.67998850000004]], "linewidth": 0.36, "stroke": true, "fill": false, "evenodd": false, "stroking_color": [0.54902, 0.54902, 0.54902], "non_stroking_color": 0, "mcid": null, "tag": null, "object_type": "line", "page_number": 1, "path": [["m", [345.24000524999997, 407.88001625]], ["l", [345.120003, 406.67998850000004]]], "dash": null, "top": 406.67998850000004, "bottom": 407.88001625, "doctop": 406.67998850000004}, {"x0": 345.120003, "y0": 436.560059, "x1": 345.120003, "y1": 437.88006574999997, "width": 0.0, "height": 1.3200067499999477, "pts": [[345.120003, 405.35998099999995], [345.120003, 404.03997425]], "linewidth": 0.36, "stroke": true, "fill": false, "evenodd": false, "stroking_color": [0.54902, 0.54902, 0.54902], "non_stroking_color": 0, "mcid": null, "tag": null, "object_type": "line", "page_number": 1, "path": [["m", [345.120003, 405.35998099999995]], ["l", [345.120003, 404.03997425]]], "dash": null, "top": 404.03997425, "bottom": 405.35998099999995, "doctop": 404.03997425}, {"x0": 344.879997, "y0": 439.08004774999995, "x1": 345.0, "y1": 445.44003275, "width": 0.12000299999999697, "height": 6.3599850000000515, "pts": [[345.0, 402.83999225], [344.879997, 396.48000724999997]], "linewidth": 0.36, "stroke": true, "fill": false, "evenodd": false, "stroking_color": [0.54902, 0.54902, 0.54902], "non_stroking_color": 0, "mcid": null, "tag": null, "object_type": "line", "page_number": 1, "path": [["m", [345.0, 402.83999225]], ["l", [344.879997, 396.48000724999997]]], "dash": null, "top": 396.48000724999997, "bottom": 402.83999225, "doctop": 396.48000724999997}, {"x0": 344.75999475000003, "y0": 446.76004025, "x1": 344.75999475000003, "y1": 448.08004774999995, "width": 0.0, "height": 1.3200074999999742, "pts": [[344.75999475000003, 395.15999975], [344.75999475000003, 393.83999225]], "linewidth": 0.36, "stroke": true, "fill": false, "evenodd": false, "stroking_color": [0.54902, 0.54902, 0.54902], "non_stroking_color": 0, "mcid": null, "tag": null, "object_type": "line", "page_number": 1, "path": [["m", [344.75999475000003, 395.15999975]], ["l", [344.75999475000003, 393.83999225]]], "dash": null, "top": 393.83999225, "bottom": 395.15999975, "doctop": 393.83999225}, {"x0": 344.63999175000004, "y0": 449.2800289999999, "x1": 344.63999175000004, "y1": 450.6000365, "width": 0.0, "height": 1.320007500000088, "pts": [[344.63999175000004, 392.6400110000001], [344.63999175000004, 391.3200035]], "linewidth": 0.36, "stroke": true, "fill": false, "evenodd": false, "stroking_color": [0.54902, 0.54902, 0.54902], "non_stroking_color": 0, "mcid": null, "tag": null, "object_type": "line", "page_number": 1, "path": [["m", [344.63999175000004, 392.6400110000001]], ["l", [344.63999175000004, 391.3200035]]], "dash": null, "top": 391.3200035, "bottom": 392.6400110000001, "doctop": 391.3200035}, {"x0": 344.400009, "y0": 451.92004399999996, "x1": 344.63999175000004, "y1": 458.2800522499999, "width": 0.23998275000002423, "height": 6.360008249999964, "pts": [[344.63999175000004, 389.999996], [344.400009, 383.63998775000005]], "linewidth": 0.36, "stroke": true, "fill": false, "evenodd": false, "stroking_color": [0.54902, 0.54902, 0.54902], "non_stroking_color": 0, "mcid": null, "tag": null, "object_type": "line", "page_number": 1, "path": [["m", [344.63999175000004, 389.999996]], ["l", [344.400009, 383.63998775000005]]], "dash": null, "top": 383.63998775000005, "bottom": 389.999996, "doctop": 383.63998775000005}, {"x0": 344.28000675, "y0": 459.48003424999996, "x1": 344.400009, "y1": 460.80004099999996, "width": 0.12000225000002729, "height": 1.3200067500000046, "pts": [[344.400009, 382.44000575], [344.28000675, 381.119999]], "linewidth": 0.36, "stroke": true, "fill": false, "evenodd": false, "stroking_color": [0.54902, 0.54902, 0.54902], "non_stroking_color": 0, "mcid": null, "tag": null, "object_type": "line", "page_number": 1, "path": [["m", [344.400009, 382.44000575]], ["l", [344.28000675, 381.119999]]], "dash": null, "top": 381.119999, "bottom": 382.44000575, "doctop": 381.119999}, {"x0": 344.28000675, "y0": 462.12004849999994, "x1": 344.28000675, "y1": 463.320053, "widtLine truncated
@@ -1,433 +0,0 @@
[
{
"pdf_center": [
128.10000225,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1555,
1562
],
"vertices_pdf": [
[
129.60000225,
383.28000275
],
[
126.60000225,
383.28000275
],
[
129.60000225,
362.63998775000005
],
[
126.60000225,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 2.999999999999986,
"evidence_kind": "original_hidden_cap_outline_end_crossbars"
},
{
"pdf_center": [
170.58000149999998,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1569,
1576
],
"vertices_pdf": [
[
172.08000149999998,
383.28000275
],
[
169.08000149999998,
383.28000275
],
[
172.08000149999998,
362.63998775000005
],
[
169.08000149999998,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars"
},
{
"pdf_center": [
213.17999249999997,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1583,
1590
],
"vertices_pdf": [
[
214.67999249999997,
383.28000275
],
[
211.67999249999997,
383.28000275
],
[
214.67999249999997,
362.63998775000005
],
[
211.67999249999997,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars"
},
{
"pdf_center": [
255.78000637499997,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1597,
1604
],
"vertices_pdf": [
[
257.400009,
383.28000275
],
[
254.16000375,
383.28000275
],
[
257.400009,
362.63998775000005
],
[
254.16000375,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.2400052500000243,
"evidence_kind": "original_hidden_cap_outline_end_crossbars"
},
{
"pdf_center": [
298.5,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1611,
1618
],
"vertices_pdf": [
[
300.0,
383.28000275
],
[
297.0,
383.28000275
],
[
300.0,
362.63998775000005
],
[
297.0,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars"
},
{
"pdf_center": [
340.98001125,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1625,
1632
],
"vertices_pdf": [
[
342.48001125,
383.28000275
],
[
339.48001125,
383.28000275
],
[
342.48001125,
362.63998775000005
],
[
339.48001125,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars"
},
{
"pdf_center": [
383.5800015,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1645,
1633,
1634,
1635,
1636,
1637,
1638,
1639,
1640,
1641,
1642,
1643,
1644
],
"vertices_pdf": [
[
382.0800015,
362.63998775000005
],
[
385.08000150000004,
362.63998775000005
],
[
385.08000150000004,
383.28000275
],
[
382.0800015,
383.28000275
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.000000000000057,
"evidence_kind": "original_hidden_cap_crossbar_and_dashed_side_extents"
},
{
"pdf_center": [
426.06001275,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1652,
1659
],
"vertices_pdf": [
[
427.56001275,
383.28000275
],
[
424.56001275,
383.28000275
],
[
427.56001275,
362.63998775000005
],
[
424.56001275,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars"
},
{
"pdf_center": [
468.71999362500003,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1666,
1673
],
"vertices_pdf": [
[
470.2799835,
383.28000275
],
[
467.16000375,
383.28000275
],
[
470.2799835,
362.63998775000005
],
[
467.16000375,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.1199797500000273,
"evidence_kind": "original_hidden_cap_outline_end_crossbars"
},
{
"pdf_center": [
511.3800202499999,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1680,
1687
],
"vertices_pdf": [
[
512.8800202499999,
383.28000275
],
[
509.88002025,
383.28000275
],
[
512.8800202499999,
362.63998775000005
],
[
509.88002025,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 2.999999999999943,
"evidence_kind": "original_hidden_cap_outline_end_crossbars"
},
{
"pdf_center": [
553.9199981249999,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1694,
1701
],
"vertices_pdf": [
[
555.3599849999999,
383.28000275
],
[
552.48001125,
383.28000275
],
[
555.3599849999999,
362.63998775000005
],
[
552.48001125,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 2.8799737499999765,
"evidence_kind": "original_hidden_cap_outline_end_crossbars"
},
{
"pdf_center": [
596.46002175,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1708,
1715
],
"vertices_pdf": [
[
597.96002175,
383.28000275
],
[
594.96002175,
383.28000275
],
[
597.96002175,
362.63998775000005
],
[
594.96002175,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars"
}
]
@@ -1,342 +0,0 @@
[
{
"index": 1472,
"points": [
[
639.24000525,
363.24000125
],
[
639.24000525,
382.6799885
]
],
"length": 19.43998725,
"color": [
0.0,
0.0,
0.0
],
"width": 0.24
},
{
"index": 1473,
"points": [
[
639.24000525,
363.24000125
],
[
639.24000525,
382.6799885
]
],
"length": 19.43998725,
"color": [
0.0,
0.0,
0.0
],
"width": 0.24
},
{
"index": 1482,
"points": [
[
638.8800202499999,
362.63998775000005
],
[
638.8800202499999,
383.51998475
]
],
"length": 20.879996999999946,
"color": [
0.0,
0.0,
0.0
],
"width": 0.24
},
{
"index": 1484,
"points": [
[
637.6799925,
362.63998775000005
],
[
637.6799925,
383.51998475
]
],
"length": 20.879996999999946,
"color": [
0.0,
0.0,
0.0
],
"width": 0.24
},
{
"index": 1716,
"points": [
[
213.120003,
362.63998775000005
],
[
213.120003,
383.28000275
]
],
"length": 20.64001499999995,
"color": [
0.0,
0.0,
0.0
],
"width": 0.24
},
{
"index": 1717,
"points": [
[
170.640003,
362.63998775000005
],
[
170.640003,
383.28000275
]
],
"length": 20.64001499999995,
"color": [
0.0,
0.0,
0.0
],
"width": 0.24
},
{
"index": 1718,
"points": [
[
128.04000075,
362.63998775000005
],
[
128.04000075,
383.28000275
]
],
"length": 20.64001499999995,
"color": [
0.0,
0.0,
0.0
],
"width": 0.24
},
{
"index": 1719,
"points": [
[
426.0,
362.63998775000005
],
[
426.0,
383.28000275
]
],
"length": 20.64001499999995,
"color": [
0.0,
0.0,
0.0
],
"width": 0.24
},
{
"index": 1720,
"points": [
[
383.51998875,
362.63998775000005
],
[
383.51998875,
383.28000275
]
],
"length": 20.64001499999995,
"color": [
0.0,
0.0,
0.0
],
"width": 0.24
},
{
"index": 1721,
"points": [
[
341.04000075,
362.63998775000005
],
[
341.04000075,
383.28000275
]
],
"length": 20.64001499999995,
"color": [
0.0,
0.0,
0.0
],
"width": 0.24
},
{
"index": 1722,
"points": [
[
298.44000975,
362.63998775000005
],
[
298.44000975,
383.28000275
]
],
"length": 20.64001499999995,
"color": [
0.0,
0.0,
0.0
],
"width": 0.24
},
{
"index": 1723,
"points": [
[
596.400009,
362.63998775000005
],
[
596.400009,
383.51998475
]
],
"length": 20.879996999999946,
"color": [
0.0,
0.0,
0.0
],
"width": 0.24
},
{
"index": 1724,
"points": [
[
553.9199985,
362.63998775000005
],
[
553.9199985,
383.51998475
]
],
"length": 20.879996999999946,
"color": [
0.0,
0.0,
0.0
],
"width": 0.24
},
{
"index": 1725,
"points": [
[
511.3200075,
362.63998775000005
],
[
511.3200075,
383.51998475
]
],
"length": 20.879996999999946,
"color": [
0.0,
0.0,
0.0
],
"width": 0.24
},
{
"index": 2100,
"points": [
[
132.24000525,
398.75999075
],
[
130.08000149999998,
412.43998325
]
],
"length": 13.849469701041665,
"color": [
0.54902,
0.54902,
0.54902
],
"width": 0.36
},
{
"index": 2104,
"points": [
[
635.75999475,
387.599987
],
[
635.75999475,
357.36000425
]
],
"length": 30.239982750000024,
"color": [
0.0,
0.0,
0.0
],
"width": 0.24
},
{
"index": 2110,
"points": [
[
635.75999475,
387.599987
],
[
635.75999475,
357.36000425
]
],
"length": 30.239982750000024,
"color": [
0.0,
0.0,
0.0
],
"width": 0.36
}
]
@@ -1,532 +0,0 @@
{
"status": "registered",
"solutions": [
{
"scale_m_per_pt": 1.1756012687426343,
"rotation": [
[
0.9448449142707172,
-0.32751807274829986
],
[
0.32751807274829986,
0.9448449142707172
]
],
"translation_EN": [
153834.65658955806,
481178.54830587894
],
"residual_m": [
0.03732333237901017,
0.0488732377124772,
0.03882501195549349,
0.03631586084734654,
0.033845926767769895,
0.038399816148947274,
0.0642022018944583,
0.0494976968631278,
0.06169674830025886,
0.054259450457597024,
0.04077459964791026,
0.029776165921153005
],
"controls": [
{
"pier": "P1",
"pdf_center": [
128.10000225,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1555,
1562
],
"vertices_pdf": [
[
129.60000225,
383.28000275
],
[
126.60000225,
383.28000275
],
[
129.60000225,
362.63998775000005
],
[
126.60000225,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 2.999999999999986,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
153833.31774949998,
480714.9299995
]
},
{
"pier": "P2",
"pdf_center": [
170.58000149999998,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1569,
1576
],
"vertices_pdf": [
[
172.08000149999998,
383.28000275
],
[
169.08000149999998,
383.28000275
],
[
172.08000149999998,
362.63998775000005
],
[
169.08000149999998,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
153880.5632875,
480698.5654295
]
},
{
"pier": "P3",
"pdf_center": [
213.17999249999997,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1583,
1590
],
"vertices_pdf": [
[
214.67999249999997,
383.28000275
],
[
211.67999249999997,
383.28000275
],
[
214.67999249999997,
362.63998775000005
],
[
211.67999249999997,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
153927.80882500001,
480682.2008595
]
},
{
"pier": "P4",
"pdf_center": [
255.78000637499997,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1597,
1604
],
"vertices_pdf": [
[
257.400009,
383.28000275
],
[
254.16000375,
383.28000275
],
[
257.400009,
362.63998775000005
],
[
254.16000375,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.2400052500000243,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
153975.20082600001,
480665.7855585
]
},
{
"pier": "P5",
"pdf_center": [
298.5,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1611,
1618
],
"vertices_pdf": [
[
300.0,
383.28000275
],
[
297.0,
383.28000275
],
[
300.0,
362.63998775000005
],
[
297.0,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154022.5928265,
480649.3702575
]
},
{
"pier": "P6",
"pdf_center": [
340.98001125,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1625,
1632
],
"vertices_pdf": [
[
342.48001125,
383.28000275
],
[
339.48001125,
383.28000275
],
[
342.48001125,
362.63998775000005
],
[
339.48001125,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154069.8383645,
480633.0056875
]
},
{
"pier": "P7",
"pdf_center": [
383.5800015,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1645,
1633,
1634,
1635,
1636,
1637,
1638,
1639,
1640,
1641,
1642,
1643,
1644
],
"vertices_pdf": [
[
382.0800015,
362.63998775000005
],
[
385.08000150000004,
362.63998775000005
],
[
385.08000150000004,
383.28000275
],
[
382.0800015,
383.28000275
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.000000000000057,
"evidence_kind": "original_hidden_cap_crossbar_and_dashed_side_extents",
"target_EN": [
154117.0839025,
480616.6411175
]
},
{
"pier": "P8",
"pdf_center": [
426.06001275,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1652,
1659
],
"vertices_pdf": [
[
427.56001275,
383.28000275
],
[
424.56001275,
383.28000275
],
[
427.56001275,
362.63998775000005
],
[
424.56001275,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154164.32944,
480600.27654700004
]
},
{
"pier": "P9",
"pdf_center": [
468.71999362500003,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1666,
1673
],
"vertices_pdf": [
[
470.2799835,
383.28000275
],
[
467.16000375,
383.28000275
],
[
470.2799835,
362.63998775000005
],
[
467.16000375,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.1199797500000273,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154211.721441,
480583.8612465
]
},
{
"pier": "P10",
"pdf_center": [
511.3800202499999,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1680,
1687
],
"vertices_pdf": [
[
512.8800202499999,
383.28000275
],
[
509.88002025,
383.28000275
],
[
512.8800202499999,
362.63998775000005
],
[
509.88002025,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 2.999999999999943,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154259.07253,
480567.32782999997
]
},
{
"pier": "P11",
"pdf_center": [
553.9199981249999,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1694,
1701
],
"vertices_pdf": [
[
555.3599849999999,
383.28000275
],
[
552.48001125,
383.28000275
],
[
555.3599849999999,
362.63998775000005
],
[
552.48001125,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 2.8799737499999765,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154306.31806750002,
480550.9632595
]
},
{
"pier": "P12",
"pdf_center": [
596.46002175,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1708,
1715
],
"vertices_pdf": [
[
597.96002175,
383.28000275
],
[
594.96002175,
383.28000275
],
[
597.96002175,
362.63998775000005
],
[
594.96002175,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154353.5636055,
480534.5986895
]
}
]
}
],
"original_plot_coordinate_quantum_pt": 0.12,
"max_registration_residual_m": 0.2,
"pier_label_order": "original_plan_profile_A1_P1_to_P12_A2_left_to_right"
}
@@ -1,20 +0,0 @@
[
{
"index": 29595,
"x0": 29.160003749999987,
"x1": 699.96002175,
"top": 456.7200125,
"bottom": 468.8400125,
"height": 12.120000000000005,
"width": 670.800018,
"stroke": true,
"color": [
0.0,
0.0,
0.0
],
"linewidth": 0.24,
"n": 83,
"dash": null
}
]
@@ -1,932 +0,0 @@
{
"sample": 3,
"bridge": "대호지교",
"workbook": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\도면추출\\samples\\샘플03_대호지교_교각입력데이터.xlsx",
"drawing": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\03_original_pdf_soundings.dxf",
"candidates": [],
"output": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\output\\samples_20261102\\03_대호지교",
"profile_drawing": null,
"recovered_source": {
"source": "D:\\Desktop\\업무\\01.프로젝트\\Pier\\260508 대호지교 시공BIM.zip",
"archive_entry": "260508 대호지교 시공BIM_Rev.4/설계도면/C0050302-001-대호지교 종평면도.pdf",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\03_대호지교_원본_종평면도.pdf",
"sha256": "7284235502370bfc99741cf0996a1464cff16e71821760654e22ea1b0553f6e5",
"role": "original_bridge_plan_profile_PDF",
"method": "original_PDF_vector_digit_signatures_at_original_POINT_or_cross_markers",
"normalized_points": 850,
"conflicting_markers_rejected": 16,
"ambiguous_labels_excluded": true,
"AI_or_OCR_service_used": false,
"control_registration": {
"status": "registered",
"solutions": [
{
"scale_m_per_pt": 1.1756012687426343,
"rotation": [
[
0.9448449142707172,
-0.32751807274829986
],
[
0.32751807274829986,
0.9448449142707172
]
],
"translation_EN": [
153834.65658955806,
481178.54830587894
],
"residual_m": [
0.03732333237901017,
0.0488732377124772,
0.03882501195549349,
0.03631586084734654,
0.033845926767769895,
0.038399816148947274,
0.0642022018944583,
0.0494976968631278,
0.06169674830025886,
0.054259450457597024,
0.04077459964791026,
0.029776165921153005
],
"controls": [
{
"pier": "P1",
"pdf_center": [
128.10000225,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1555,
1562
],
"vertices_pdf": [
[
129.60000225,
383.28000275
],
[
126.60000225,
383.28000275
],
[
129.60000225,
362.63998775000005
],
[
126.60000225,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 2.999999999999986,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
153833.31774949998,
480714.9299995
]
},
{
"pier": "P2",
"pdf_center": [
170.58000149999998,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1569,
1576
],
"vertices_pdf": [
[
172.08000149999998,
383.28000275
],
[
169.08000149999998,
383.28000275
],
[
172.08000149999998,
362.63998775000005
],
[
169.08000149999998,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
153880.5632875,
480698.5654295
]
},
{
"pier": "P3",
"pdf_center": [
213.17999249999997,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1583,
1590
],
"vertices_pdf": [
[
214.67999249999997,
383.28000275
],
[
211.67999249999997,
383.28000275
],
[
214.67999249999997,
362.63998775000005
],
[
211.67999249999997,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
153927.80882500001,
480682.2008595
]
},
{
"pier": "P4",
"pdf_center": [
255.78000637499997,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1597,
1604
],
"vertices_pdf": [
[
257.400009,
383.28000275
],
[
254.16000375,
383.28000275
],
[
257.400009,
362.63998775000005
],
[
254.16000375,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.2400052500000243,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
153975.20082600001,
480665.7855585
]
},
{
"pier": "P5",
"pdf_center": [
298.5,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1611,
1618
],
"vertices_pdf": [
[
300.0,
383.28000275
],
[
297.0,
383.28000275
],
[
300.0,
362.63998775000005
],
[
297.0,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154022.5928265,
480649.3702575
]
},
{
"pier": "P6",
"pdf_center": [
340.98001125,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1625,
1632
],
"vertices_pdf": [
[
342.48001125,
383.28000275
],
[
339.48001125,
383.28000275
],
[
342.48001125,
362.63998775000005
],
[
339.48001125,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154069.8383645,
480633.0056875
]
},
{
"pier": "P7",
"pdf_center": [
383.5800015,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1645,
1633,
1634,
1635,
1636,
1637,
1638,
1639,
1640,
1641,
1642,
1643,
1644
],
"vertices_pdf": [
[
382.0800015,
362.63998775000005
],
[
385.08000150000004,
362.63998775000005
],
[
385.08000150000004,
383.28000275
],
[
382.0800015,
383.28000275
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.000000000000057,
"evidence_kind": "original_hidden_cap_crossbar_and_dashed_side_extents",
"target_EN": [
154117.0839025,
480616.6411175
]
},
{
"pier": "P8",
"pdf_center": [
426.06001275,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1652,
1659
],
"vertices_pdf": [
[
427.56001275,
383.28000275
],
[
424.56001275,
383.28000275
],
[
427.56001275,
362.63998775000005
],
[
424.56001275,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154164.32944,
480600.27654700004
]
},
{
"pier": "P9",
"pdf_center": [
468.71999362500003,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1666,
1673
],
"vertices_pdf": [
[
470.2799835,
383.28000275
],
[
467.16000375,
383.28000275
],
[
470.2799835,
362.63998775000005
],
[
467.16000375,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.1199797500000273,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154211.721441,
480583.8612465
]
},
{
"pier": "P10",
"pdf_center": [
511.3800202499999,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1680,
1687
],
"vertices_pdf": [
[
512.8800202499999,
383.28000275
],
[
509.88002025,
383.28000275
],
[
512.8800202499999,
362.63998775000005
],
[
509.88002025,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 2.999999999999943,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154259.07253,
480567.32782999997
]
},
{
"pier": "P11",
"pdf_center": [
553.9199981249999,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1694,
1701
],
"vertices_pdf": [
[
555.3599849999999,
383.28000275
],
[
552.48001125,
383.28000275
],
[
555.3599849999999,
362.63998775000005
],
[
552.48001125,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 2.8799737499999765,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154306.31806750002,
480550.9632595
]
},
{
"pier": "P12",
"pdf_center": [
596.46002175,
372.95999525
],
"axis_pdf": [
0.0,
1.0
],
"line_indices": [
1708,
1715
],
"vertices_pdf": [
[
597.96002175,
383.28000275
],
[
594.96002175,
383.28000275
],
[
597.96002175,
362.63998775000005
],
[
594.96002175,
362.63998775000005
]
],
"length_pt": 20.64001499999995,
"width_pt": 3.0,
"evidence_kind": "original_hidden_cap_outline_end_crossbars",
"target_EN": [
154353.5636055,
480534.5986895
]
}
]
}
],
"original_plot_coordinate_quantum_pt": 0.12,
"max_registration_residual_m": 0.2,
"pier_label_order": "original_plan_profile_A1_P1_to_P12_A2_left_to_right"
},
"geometry_quantum_m": 0.1410721522491161,
"profile_ground_curve_index": 29595,
"profile_ground_ordinates": [
{
"X": 480714.95650470664,
"Y": 153833.34402696486,
"Z": -0.2872082516860246,
"pier": "P1",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
128.10000225,
460.2000125
],
"pdf_plan_point": [
128.10000225,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480698.60040247964,
"Y": 153880.52914831342,
"Z": -3.2464331093278815,
"pier": "P2",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
170.58000149999998,
462.71747674665176
],
"pdf_plan_point": [
170.58000149999998,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480682.1980997497,
"Y": 153927.8475518038,
"Z": -8.88465577725492,
"pier": "P3",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
213.17999249999997,
467.5140111987443
],
"pdf_plan_point": [
213.17999249999997,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480665.7957882122,
"Y": 153975.16598070282,
"Z": -10.302780859970994,
"pier": "P4",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
255.78000637499997,
468.720434963332
],
"pdf_plan_point": [
255.78000637499997,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480649.34728079214,
"Y": 154022.61767841454,
"Z": -10.443341672063639,
"pier": "P5",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
298.5,
468.8400125
],
"pdf_plan_point": [
298.5,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480632.9911739448,
"Y": 154069.80281309222,
"Z": -10.300794276340753,
"pier": "P6",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
340.98001125,
468.7187449419572
],
"pdf_plan_point": [
340.98001125,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480616.58887150366,
"Y": 154117.12121574953,
"Z": -9.874145680307947,
"pier": "P7",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
383.5800015,
468.35578753315366
],
"pdf_plan_point": [
383.5800015,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480600.2327646563,
"Y": 154164.3063504272,
"Z": -8.174418746969536,
"pier": "P8",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
426.06001275,
466.90980015821646
],
"pdf_plan_point": [
426.06001275,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480583.8073639851,
"Y": 154211.6913883239,
"Z": -4.91826447643848,
"pier": "P9",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
468.71999362500003,
464.13973287641596
],
"pdf_plan_point": [
468.71999362500003,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480567.38194569875,
"Y": 154259.07647703795,
"Z": -3.099416141673487,
"pier": "P10",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
511.3800202499999,
462.5924068457399
],
"pdf_plan_point": [
511.3800202499999,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480551.00274986203,
"Y": 154306.32822029677,
"Z": -2.387176347248783,
"pier": "P11",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
553.9199981249999,
461.9864920187958
],
"pdf_plan_point": [
553.9199981249999,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
},
{
"X": 480534.6235364102,
"Y": 154353.5800143729,
"Z": 2.9660524168061784,
"pier": "P12",
"source_kind": "original_profile_ground_ordinate",
"pdf_profile_point": [
596.46002175,
457.43240685596857
],
"pdf_plan_point": [
596.46002175,
372.95999525
],
"ground_curve_index": 29595,
"axis_tick_line_indices": [
7072,
7070,
7069,
7067,
7066,
7074,
7221
]
}
],
"vertical_axis": {
"ticks": [
{
"line_index": 7072,
"EL": 20.0,
"pdf_y": 442.9199945
},
{
"line_index": 7070,
"EL": 10.0,
"pdf_y": 451.43998325
},
{
"line_index": 7069,
"EL": 0.0,
"pdf_y": 459.96001775
},
{
"line_index": 7067,
"EL": -10.0,
"pdf_y": 468.48000724999997
},
{
"line_index": 7066,
"EL": -20.0,
"pdf_y": 476.999996
},
{
"line_index": 7074,
"EL": -30.0,
"pdf_y": 485.51998475000005
},
{
"line_index": 7221,
"EL": -40.0,
"pdf_y": 493.9199945
}
],
"coefficients": [
-1.1754784051362916,
540.6679684855154
],
"max_residual_m": 0.07568108572945675
},
"source_vector_cache_sha256": "dd2bbdc81487c040011d0aacca176204e9a7b8af99235698c75830b9b1527fb9"
},
"terrain_parameters": {
"terrain_block": "*Model_Space",
"layers": "PDF_SOUNDING",
"z_min": -500.0,
"z_max": 200.0
},
"status": "generated",
"json": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\output\\samples_20261102\\03_대호지교\\ground_model_3d_with_maps.json",
"pier_count": 12,
"valid_grid_points": 1771,
"covered_piers": 12,
"midpoint_error_max_m": 0.000631513233417072,
"map_status": {
"status": "mapped",
"crs": "EPSG:5186",
"crs_assumed": true,
"crs_status": "project_default_not_source_verified"
},
"crs": "EPSG:5186",
"crs_assumed": true,
"terrain_block": "*Model_Space",
"sha256": "db88783893bc5a61a4d538f892b38e625f1b6ab58e5881f3792859eba7adcf82",
"input_pier_count": 12,
"validation": {
"source_hashes_match": true,
"images_decode": true,
"map_bounds_identical": true,
"grid_length_valid": true,
"map_feature_residual_max_deg": 0.0
}
}
@@ -1,127 +0,0 @@
{
"token": {
"text": "1.6",
"elevation_m": 1.6,
"pdf_center": [
93.70875,
407.65874225000005
],
"glyph_indices": [
0,
1,
2
],
"bbox": [
92.82,
407.03999225,
94.5975,
408.27749225
]
},
"nearby_lines": [
{
"x0": 90.84000225,
"y0": 433.44003275,
"x1": 93.0,
"y1": 434.52003499999995,
"width": 2.1599977500000023,
"height": 1.08000224999995,
"pts": [
[
90.84000225,
407.400005
],
[
93.0,
408.48000724999997
]
],
"linewidth": 0.36,
"stroke": true,
"fill": false,
"evenodd": false,
"stroking_color": [
0.54902,
0.54902,
0.54902
],
"non_stroking_color": 0,
"mcid": null,
"tag": null,
"object_type": "line",
"page_number": 1,
"path": [
[
"m",
[
90.84000225,
407.400005
]
],
[
"l",
[
93.0,
408.48000724999997
]
]
],
"dash": null,
"top": 407.400005,
"bottom": 408.48000724999997,
"doctop": 407.400005
},
{
"x0": 91.4399985,
"y0": 432.96002224999995,
"x1": 92.52000075,
"y1": 435.12002599999994,
"width": 1.0800022499999926,
"height": 2.160003749999987,
"pts": [
[
91.4399985,
408.96001775
],
[
92.52000075,
406.80001400000003
]
],
"linewidth": 0.36,
"stroke": true,
"fill": false,
"evenodd": false,
"stroking_color": [
0.54902,
0.54902,
0.54902
],
"non_stroking_color": 0,
"mcid": null,
"tag": null,
"object_type": "line",
"page_number": 1,
"path": [
[
"m",
[
91.4399985,
408.96001775
]
],
[
"l",
[
92.52000075,
406.80001400000003
]
]
],
"dash": null,
"top": 406.80001400000003,
"bottom": 408.96001775,
"doctop": 406.80001400000003
}
]
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

@@ -1,38 +0,0 @@
{
"drawing": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\04_@서울-세종 9공구 1000현황.dwg",
"output": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\output\\samples_20261102\\04_목동교",
"crs": "EPSG:5186",
"terrain_crs": "EPSG:5186",
"cad_axes": "YX",
"terrain_block": "",
"piers": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\도면추출\\samples\\샘플04_목동교_교각입력데이터.xlsx",
"boreholes": "",
"layers": "CA002,CA0021,CAA001,CAA002",
"margin": 100.0,
"step": 5.0,
"max_edge": 100.0,
"z_min": -500.0,
"z_max": 9000.0,
"include_maps": true,
"allow_download": true,
"use_3d_lines": false,
"plots": false,
"automatic": false,
"auto_detection": {
"crs_status": "project_default_not_source_verified",
"crs_assumed": true,
"project_default_applied": true,
"arbitrary_offset_applied": false,
"recovered_source": {
"samples": [
4
],
"source": "D:\\Desktop\\업무\\01.프로젝트\\DR\\001 도면-DR\\04 DR거더 실시설계도면\\03 목동교\\01 공통\\@서울-세종 9공구 1000현황.dwg",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\04_@서울-세종 9공구 1000현황.dwg",
"sha256": "08030556dbb36b0784cc17a4ff3239e6485217810bcbdf952dbec2f53e6298f6",
"role": "original_missing_XREF"
},
"original_profile_drawing": "C:\\Users\\User\\Desktop\\도면추출\\엔지니어(sample4)_π형교각_목동교\\01 공통사항(목동교 종평면도).dwg",
"method": "recovered_original_CAD_survey_geometry"
}
}
@@ -1,50 +0,0 @@
{
"sample": 4,
"bridge": "목동교",
"workbook": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\도면추출\\samples\\샘플04_목동교_교각입력데이터.xlsx",
"drawing": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\04_@서울-세종 9공구 1000현황.dwg",
"candidates": [
"C:\\Users\\User\\Desktop\\도면추출\\엔지니어(sample4)_π형교각_목동교\\01 공통사항(목동교 종평면도).dwg"
],
"output": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\output\\samples_20261102\\04_목동교",
"profile_drawing": "C:\\Users\\User\\Desktop\\도면추출\\엔지니어(sample4)_π형교각_목동교\\01 공통사항(목동교 종평면도).dwg",
"recovered_source": {
"samples": [
4
],
"source": "D:\\Desktop\\업무\\01.프로젝트\\DR\\001 도면-DR\\04 DR거더 실시설계도면\\03 목동교\\01 공통\\@서울-세종 9공구 1000현황.dwg",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\04_@서울-세종 9공구 1000현황.dwg",
"sha256": "08030556dbb36b0784cc17a4ff3239e6485217810bcbdf952dbec2f53e6298f6",
"role": "original_missing_XREF"
},
"terrain_parameters": {
"terrain_block": "",
"layers": "CA002,CA0021,CAA001,CAA002",
"z_min": -500.0,
"z_max": 9000.0
},
"status": "generated",
"json": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\output\\samples_20261102\\04_목동교\\ground_model_3d_with_maps.json",
"pier_count": 4,
"valid_grid_points": 4221,
"covered_piers": 4,
"midpoint_error_max_m": 0.0005647698473950948,
"map_status": {
"status": "mapped",
"crs": "EPSG:5186",
"crs_assumed": true,
"crs_status": "project_default_not_source_verified"
},
"crs": "EPSG:5186",
"crs_assumed": true,
"terrain_block": null,
"sha256": "febd93ed08eeecd2d077920811e0f805484d8bd418956ab08ad9a6f8563b3651",
"input_pier_count": 4,
"validation": {
"source_hashes_match": true,
"images_decode": true,
"map_bounds_identical": true,
"grid_length_valid": true,
"map_feature_residual_max_deg": 0.0
}
}
@@ -1,38 +0,0 @@
[
{
"entry": "승천천교/Way/260210_승천천교/Bridge/9957328(승천천교)/WayDBConnection.xml",
"bytes": 318
},
{
"entry": "승천천교/Way/260210_승천천교/Bridge/_747450718(승천천교)/WayDBConnection.xml",
"bytes": 321
},
{
"entry": "승천천교/천지인/정사영상/(B060)정사영상_2020_36706001s.tfw",
"bytes": 53
},
{
"entry": "승천천교/천지인/정사영상/(B060)정사영상_2020_36706002s.tfw",
"bytes": 54
},
{
"entry": "승천천교/천지인/정사영상/(B060)정사영상_2020_36706011s.tfw",
"bytes": 55
},
{
"entry": "승천천교/천지인/정사영상/(B060)정사영상_2020_36706012s.tfw",
"bytes": 55
},
{
"entry": "승천천교/천지인/정사영상/(B060)정사영상_2020_36706021s.tfw",
"bytes": 54
},
{
"entry": "승천천교/천지인/정사영상/(B060)정사영상_2020_36706022s.tfw",
"bytes": 53
},
{
"entry": "승천천교/천지인/지형도/boundary.prj",
"bytes": 335
}
]
@@ -1,22 +0,0 @@
{
"sample": 5,
"bounds": [
[
452975.332604739,
222325.618393627,
50.0
],
[
461310.919,
226816.613,
415.0
]
],
"counts": {
"elevated_lwpolylines": 1585
},
"nearby": 1288,
"ground": [
55.0
]
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 KiB

@@ -1,40 +0,0 @@
{
"drawing": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\05_project_topography_original.dwg",
"output": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\output\\samples_20261102\\05_승천천교",
"crs": "EPSG:5186",
"terrain_crs": "EPSG:5186",
"cad_axes": "YX",
"terrain_block": "",
"piers": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\도면추출\\samples\\샘플05_승천천교_교각입력데이터.xlsx",
"boreholes": "",
"layers": "F0017111,F0017114,F0027217,F0027132",
"margin": 100.0,
"step": 5.0,
"max_edge": 100.0,
"z_min": -500.0,
"z_max": 9000.0,
"include_maps": true,
"allow_download": true,
"use_3d_lines": false,
"plots": false,
"automatic": false,
"auto_detection": {
"crs_status": "project_default_not_source_verified",
"crs_assumed": true,
"project_default_applied": true,
"arbitrary_offset_applied": false,
"recovered_source": {
"samples": [
5
],
"source": "D:\\Desktop\\업무\\00.프로그램\\001. 프로그램실행\\003.DRzainer\\Programs\\승천천교_260224.zip",
"archive_entry": "승천천교/천지인/지형도/Merge_5000.dwg",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\05_project_topography_original.dwg",
"sha256": "1e6ff901b4a74579a959cd415722bcfa9787140837171cb25133dea7303e3735",
"role": "original_project_topographic_CAD",
"variant": "original"
},
"original_profile_drawing": "C:\\Users\\User\\Desktop\\도면추출\\엔지니어(sample5)_π형교각_승천천교\\01 승천천교(DR) 종평면도.dwg",
"method": "recovered_original_CAD_survey_geometry"
}
}
@@ -1,73 +0,0 @@
{
"candidate_rectangles": [
{
"center": [
84.78032782406355,
209.00715530589318
],
"axis": [
0.9919441385922115,
-0.12667606684988067
],
"length": 16.194094654209046,
"width": 4.966004753376134,
"handle": "309497",
"layer": "선형중심선-_본선",
"vertices": [
[
77.06304616309623,
212.4958570680544
],
[
93.12668343514636,
210.4444528510645
],
[
92.49760948503086,
205.518453543732
],
[
76.43397221298073,
207.5698577607218
]
]
},
{
"center": [
54.93376319649188,
275.6842831451579
],
"axis": [
0.9991934883204895,
0.040154363373507466
],
"length": 16.19409465420906,
"width": 4.96600475337616,
"handle": "309499",
"layer": "선형중심선-_본선",
"vertices": [
[
46.74354285293539,
277.8401511708039
],
[
62.92457678066673,
278.490414732054
],
[
63.12398354004836,
273.5284151195119
],
[
46.94294961231704,
272.8781515582618
]
]
}
],
"solutions": [],
"status": "no_verified_frame",
"method": "rigid_registration_of_original_plan_pier_rectangle_centers_to_Excel_IP1_IP3_midpoints",
"max_permitted_residual_m": 0.03,
"sample": 5
}
@@ -1,52 +0,0 @@
{
"sample": 5,
"bridge": "승천천교",
"workbook": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\도면추출\\samples\\샘플05_승천천교_교각입력데이터.xlsx",
"drawing": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\05_project_topography_original.dwg",
"candidates": [
"C:\\Users\\User\\Desktop\\도면추출\\엔지니어(sample5)_π형교각_승천천교\\01 승천천교(DR) 종평면도.dwg"
],
"output": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\output\\samples_20261102\\05_승천천교",
"profile_drawing": "C:\\Users\\User\\Desktop\\도면추출\\엔지니어(sample5)_π형교각_승천천교\\01 승천천교(DR) 종평면도.dwg",
"recovered_source": {
"samples": [
5
],
"source": "D:\\Desktop\\업무\\00.프로그램\\001. 프로그램실행\\003.DRzainer\\Programs\\승천천교_260224.zip",
"archive_entry": "승천천교/천지인/지형도/Merge_5000.dwg",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\05_project_topography_original.dwg",
"sha256": "1e6ff901b4a74579a959cd415722bcfa9787140837171cb25133dea7303e3735",
"role": "original_project_topographic_CAD",
"variant": "original"
},
"terrain_parameters": {
"terrain_block": "",
"layers": "F0017111,F0017114,F0027217,F0027132",
"z_min": -500.0,
"z_max": 9000.0
},
"status": "generated",
"json": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\output\\samples_20261102\\05_승천천교\\ground_model_3d_with_maps.json",
"pier_count": 1,
"valid_grid_points": 1025,
"covered_piers": 1,
"midpoint_error_max_m": 0.0002815071118246961,
"map_status": {
"status": "mapped",
"crs": "EPSG:5186",
"crs_assumed": true,
"crs_status": "project_default_not_source_verified"
},
"crs": "EPSG:5186",
"crs_assumed": true,
"terrain_block": null,
"sha256": "82da703ab7caf5e593891d1815adc08a161a5021989d30850150e9f400efff04",
"input_pier_count": 1,
"validation": {
"source_hashes_match": true,
"images_decode": true,
"map_bounds_identical": true,
"grid_length_valid": true,
"map_feature_residual_max_deg": 0.0
}
}
@@ -1,313 +0,0 @@
{
"source": "C:\\Users\\User\\Desktop\\도면추출\\엔지니어(sample5)_π형교각_승천천교\\02 승천천교 교량받침배치도_SavedWithErrors.dwg",
"coordinate_callouts": [
{
"x": 458863.305557,
"y": 224299.41739,
"cad": {
"h": "3795",
"t": "X = 458863.305557 Y = 224299.417390",
"x": 57903.88764301912,
"y": -30724.41204323814,
"height": 750.0
},
"evidence": [
{
"h": "3795",
"t": "X = 458863.305557 Y = 224299.417390",
"x": 57903.88764301912,
"y": -30724.41204323814,
"height": 750.0
},
{
"h": "3795",
"t": "X = 458863.305557 Y = 224299.417390",
"x": 57903.88764301912,
"y": -30724.41204323814,
"height": 750.0
}
]
},
{
"x": 458908.204036,
"y": 224330.851227,
"cad": {
"h": "3799",
"t": "X = 458908.204036 Y = 224330.851227",
"x": 137224.3146172892,
"y": -58262.17088553962,
"height": 750.0
},
"evidence": [
{
"h": "3799",
"t": "X = 458908.204036 Y = 224330.851227",
"x": 137224.3146172892,
"y": -58262.17088553962,
"height": 750.0
},
{
"h": "3799",
"t": "X = 458908.204036 Y = 224330.851227",
"x": 137224.3146172892,
"y": -58262.17088553962,
"height": 750.0
}
],
"leader_tip": [
110514.4675524463,
-57309.79064778431
],
"leader_handles": [
"35E3",
"35E4",
"35EA",
"35E9"
]
},
{
"x": 458860.702698,
"y": 224315.431618,
"cad": {
"h": "379A",
"t": "X = 458860.702698 Y = 224315.431618",
"x": 87208.81834049054,
"y": -58524.927345973,
"height": 750.0
},
"evidence": [
{
"h": "379A",
"t": "X = 458860.702698 Y = 224315.431618",
"x": 87208.81834049054,
"y": -58524.927345973,
"height": 750.0
},
{
"h": "379A",
"t": "X = 458860.702698 Y = 224315.431618",
"x": 87208.81834049054,
"y": -58524.927345973,
"height": 750.0
}
]
},
{
"x": 458958.616775,
"y": 224329.494367,
"cad": {
"h": "37A6",
"t": "X = 458958.616775 Y = 224329.494367",
"x": 184678.7589276563,
"y": -29147.73588894061,
"height": 750.0
},
"evidence": [
{
"h": "37A6",
"t": "X = 458958.616775 Y = 224329.494367",
"x": 184678.7589276563,
"y": -29147.73588894061,
"height": 750.0
},
{
"h": "37A6",
"t": "X = 458958.616775 Y = 224329.494367",
"x": 184678.7589276563,
"y": -29147.73588894061,
"height": 750.0
}
]
},
{
"x": 458955.588757,
"y": 224346.795603,
"cad": {
"h": "37B1",
"t": "X = 458955.588757 Y = 224346.795603",
"x": 160575.8839793211,
"y": -58745.09190035827,
"height": 750.0
},
"evidence": [
{
"h": "37B1",
"t": "X = 458955.588757 Y = 224346.795603",
"x": 160575.8839793211,
"y": -58745.09190035827,
"height": 750.0
},
{
"h": "37B1",
"t": "X = 458955.588757 Y = 224346.795603",
"x": 160575.8839793211,
"y": -58745.09190035827,
"height": 750.0
}
]
},
{
"x": 458908.205664,
"y": 224330.841233,
"cad": {
"h": "37B3",
"t": "X = 458908.205664 Y = 224330.841233",
"x": 110452.8043262182,
"y": -58209.79102437286,
"height": 750.0
},
"evidence": [
{
"h": "37B3",
"t": "X = 458908.205664 Y = 224330.841233",
"x": 110452.8043262182,
"y": -58209.79102437286,
"height": 750.0
},
{
"h": "37B3",
"t": "X = 458908.205664 Y = 224330.841233",
"x": 110452.8043262182,
"y": -58209.79102437286,
"height": 750.0
}
],
"leader_tip": [
157044.2613004463,
-57319.49578778434
],
"leader_handles": [
"35E9",
"35EA",
"35E4",
"35E3"
]
},
{
"x": 458955.587011,
"y": 224346.805576,
"cad": {
"h": "37B5",
"t": "X = 458955.587011 Y = 224346.805576",
"x": 187243.3972911038,
"y": -58453.7460139533,
"height": 750.0
},
"evidence": [
{
"h": "37B5",
"t": "X = 458955.587011 Y = 224346.805576",
"x": 187243.3972911038,
"y": -58453.7460139533,
"height": 750.0
},
{
"h": "37B5",
"t": "X = 458955.587011 Y = 224346.805576",
"x": 187243.3972911038,
"y": -58453.7460139533,
"height": 750.0
}
]
},
{
"x": 458910.818784,
"y": 224314.795108,
"cad": {
"h": "37B8",
"t": "X = 458910.818784 Y = 224314.795108",
"x": 107897.8520752182,
"y": -30154.28998037283,
"height": 750.0
},
"evidence": [
{
"h": "37B8",
"t": "X = 458910.818784 Y = 224314.795108",
"x": 107897.8520752182,
"y": -30154.28998037283,
"height": 750.0
},
{
"h": "37B8",
"t": "X = 458910.818784 Y = 224314.795108",
"x": 107897.8520752182,
"y": -30154.28998037283,
"height": 750.0
}
],
"leader_tip": [
131223.6545584463,
-35254.14217978431
],
"leader_handles": [
"35DD",
"35DE"
]
},
{
"x": 458860.701076,
"y": 224315.441596,
"cad": {
"h": "3D23",
"t": "X = 458860.701076 Y = 224315.441596",
"x": 60451.77021557171,
"y": -58334.4608824655,
"height": 750.0
},
"evidence": [
{
"h": "3D23",
"t": "X = 458860.701076 Y = 224315.441596",
"x": 60451.77021557171,
"y": -58334.4608824655,
"height": 750.0
},
{
"h": "3D23",
"t": "X = 458860.701076 Y = 224315.441596",
"x": 60451.77021557171,
"y": -58334.4608824655,
"height": 750.0
}
]
}
],
"labels": [
{
"h": "3852",
"t": "P1(후열)",
"x": 205849.4027578275,
"y": -83365.25508691638,
"height": 750.0
},
{
"h": "3853",
"t": "P1(전열)",
"x": 198349.4027578275,
"y": -83365.25508691638,
"height": 750.0
},
{
"h": "3900",
"t": "P1(전)",
"x": 132930.7658071179,
"y": -83365.25508691638,
"height": 750.0
},
{
"h": "3D1B",
"t": "P1",
"x": 130172.8704746728,
"y": -33356.50042987322,
"height": 750.0
},
{
"h": "3E06",
"t": "P1(후)",
"x": 82530.76580711787,
"y": -106054.371598916,
"height": 750.0
}
]
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

@@ -1,39 +0,0 @@
{
"drawing": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\06_서수평장1-현황+선형+노리-20200410.dwg",
"output": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\output\\samples_20261102\\06_계문철교",
"crs": "EPSG:5186",
"terrain_crs": "EPSG:5186",
"cad_axes": "YX",
"terrain_block": "xref-현황(191219)",
"piers": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\도면추출\\samples\\샘플06_계문철교_교각입력데이터.xlsx",
"boreholes": "",
"layers": "",
"margin": 100.0,
"step": 5.0,
"max_edge": 100.0,
"z_min": -500.0,
"z_max": 9000.0,
"include_maps": true,
"allow_download": true,
"use_3d_lines": false,
"plots": false,
"automatic": false,
"auto_detection": {
"crs_status": "project_default_not_source_verified",
"crs_assumed": true,
"project_default_applied": true,
"arbitrary_offset_applied": false,
"recovered_source": {
"samples": [
6,
7
],
"source": "D:\\Desktop\\업무\\01.프로젝트\\DR\\001 도면-DR\\04 DR거더 실시설계도면\\05 계문철교\\01.공통사항\\XREF\\서수평장1-현황+선형+노리-20200410.dwg",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\06_서수평장1-현황+선형+노리-20200410.dwg",
"sha256": "c13b04d7f9f8c7d13548eb2cd9fab24c3091e61dc3e292b9ded59b3a91c5cd1a",
"role": "original_missing_XREF"
},
"original_profile_drawing": "C:\\Users\\User\\Desktop\\도면추출\\엔지니어(sample6)_π형교각_계문철교\\01 계문철교 종평면도.dwg",
"method": "recovered_original_CAD_survey_geometry"
}
}
@@ -1,51 +0,0 @@
{
"sample": 6,
"bridge": "계문철교",
"workbook": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\도면추출\\samples\\샘플06_계문철교_교각입력데이터.xlsx",
"drawing": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\06_서수평장1-현황+선형+노리-20200410.dwg",
"candidates": [
"C:\\Users\\User\\Desktop\\도면추출\\엔지니어(sample6)_π형교각_계문철교\\01 계문철교 종평면도.dwg"
],
"output": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\output\\samples_20261102\\06_계문철교",
"profile_drawing": "C:\\Users\\User\\Desktop\\도면추출\\엔지니어(sample6)_π형교각_계문철교\\01 계문철교 종평면도.dwg",
"recovered_source": {
"samples": [
6,
7
],
"source": "D:\\Desktop\\업무\\01.프로젝트\\DR\\001 도면-DR\\04 DR거더 실시설계도면\\05 계문철교\\01.공통사항\\XREF\\서수평장1-현황+선형+노리-20200410.dwg",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\06_서수평장1-현황+선형+노리-20200410.dwg",
"sha256": "c13b04d7f9f8c7d13548eb2cd9fab24c3091e61dc3e292b9ded59b3a91c5cd1a",
"role": "original_missing_XREF"
},
"terrain_parameters": {
"terrain_block": "xref-현황(191219)",
"layers": "",
"z_min": -500.0,
"z_max": 9000.0
},
"status": "generated",
"json": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\output\\samples_20261102\\06_계문철교\\ground_model_3d_with_maps.json",
"pier_count": 2,
"valid_grid_points": 2142,
"covered_piers": 2,
"midpoint_error_max_m": 0.00042467075691702877,
"map_status": {
"status": "mapped",
"crs": "EPSG:5186",
"crs_assumed": true,
"crs_status": "project_default_not_source_verified"
},
"crs": "EPSG:5186",
"crs_assumed": true,
"terrain_block": "xref-현황(191219)",
"sha256": "8b9a90b10b6ff1da6018121e05debe9268029a67155a6b92835f3c1a15fb42ea",
"input_pier_count": 2,
"validation": {
"source_hashes_match": true,
"images_decode": true,
"map_bounds_identical": true,
"grid_length_valid": true,
"map_feature_residual_max_deg": 0.0
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

@@ -1,39 +0,0 @@
{
"drawing": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\06_서수평장1-현황+선형+노리-20200410.dwg",
"output": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\output\\samples_20261102\\07_기양천교",
"crs": "EPSG:5186",
"terrain_crs": "EPSG:5186",
"cad_axes": "YX",
"terrain_block": "xref-현황(191219)",
"piers": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\도면추출\\samples\\샘플07_기양천교_교각입력데이터.xlsx",
"boreholes": "",
"layers": "",
"margin": 100.0,
"step": 5.0,
"max_edge": 100.0,
"z_min": -500.0,
"z_max": 9000.0,
"include_maps": true,
"allow_download": true,
"use_3d_lines": false,
"plots": false,
"automatic": false,
"auto_detection": {
"crs_status": "project_default_not_source_verified",
"crs_assumed": true,
"project_default_applied": true,
"arbitrary_offset_applied": false,
"recovered_source": {
"samples": [
6,
7
],
"source": "D:\\Desktop\\업무\\01.프로젝트\\DR\\001 도면-DR\\04 DR거더 실시설계도면\\05 계문철교\\01.공통사항\\XREF\\서수평장1-현황+선형+노리-20200410.dwg",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\06_서수평장1-현황+선형+노리-20200410.dwg",
"sha256": "c13b04d7f9f8c7d13548eb2cd9fab24c3091e61dc3e292b9ded59b3a91c5cd1a",
"role": "original_missing_XREF"
},
"original_profile_drawing": "C:\\Users\\User\\Desktop\\도면추출\\엔지니어(sample7)_π형교각_기양천교\\01 기양천교종평면도.dwg",
"method": "recovered_original_CAD_survey_geometry"
}
}
@@ -1,72 +0,0 @@
{
"headers": {
"$UCSORG": [
0.0,
0.0,
0.0
],
"$UCSXDIR": [
1.0,
0.0,
0.0
],
"$UCSYDIR": [
0.0,
1.0,
0.0
],
"$INSBASE": [
0.0,
0.0,
0.0
],
"$INSUNITS": 6,
"$EXTMIN": [
190971.2782291161,
372637.8226465268,
-48.09150000000514
],
"$EXTMAX": [
217937.1488169573,
382007.7262333779,
288.3945861197715
]
},
"layers": {
"CZ-TEX1": 1,
"91. 190405 노리$0$성토사면": 4
},
"texts": [
{
"handle": "4C1971",
"text": "외부참조시 단일축적 1000",
"xyz": [
190971.2782291161,
380078.7711351754,
0.0
],
"layer": "CZ-TEX1",
"rotation": 0,
"height": 1617.337778583897
}
],
"inserts": [
{
"handle": "65EE0E",
"name": "서수평장1-현황+선형+노리-20200410",
"layer": "91. 190405 노리$0$성토사면",
"xyz": [
0.0,
0.0,
0.0
],
"rotation": 0,
"scale": [
1,
1,
1
]
}
],
"key_annotations": []
}
@@ -1,51 +0,0 @@
{
"sample": 7,
"bridge": "기양천교",
"workbook": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\도면추출\\samples\\샘플07_기양천교_교각입력데이터.xlsx",
"drawing": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\06_서수평장1-현황+선형+노리-20200410.dwg",
"candidates": [
"C:\\Users\\User\\Desktop\\도면추출\\엔지니어(sample7)_π형교각_기양천교\\01 기양천교종평면도.dwg"
],
"output": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\output\\samples_20261102\\07_기양천교",
"profile_drawing": "C:\\Users\\User\\Desktop\\도면추출\\엔지니어(sample7)_π형교각_기양천교\\01 기양천교종평면도.dwg",
"recovered_source": {
"samples": [
6,
7
],
"source": "D:\\Desktop\\업무\\01.프로젝트\\DR\\001 도면-DR\\04 DR거더 실시설계도면\\05 계문철교\\01.공통사항\\XREF\\서수평장1-현황+선형+노리-20200410.dwg",
"local": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\input\\samples_20261102\\recovered\\06_서수평장1-현황+선형+노리-20200410.dwg",
"sha256": "c13b04d7f9f8c7d13548eb2cd9fab24c3091e61dc3e292b9ded59b3a91c5cd1a",
"role": "original_missing_XREF"
},
"terrain_parameters": {
"terrain_block": "xref-현황(191219)",
"layers": "",
"z_min": -500.0,
"z_max": 9000.0
},
"status": "generated",
"json": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\output\\samples_20261102\\07_기양천교\\ground_model_3d_with_maps.json",
"pier_count": 6,
"valid_grid_points": 3654,
"covered_piers": 6,
"midpoint_error_max_m": 0.0005376292807400657,
"map_status": {
"status": "mapped",
"crs": "EPSG:5186",
"crs_assumed": true,
"crs_status": "project_default_not_source_verified"
},
"crs": "EPSG:5186",
"crs_assumed": true,
"terrain_block": "xref-현황(191219)",
"sha256": "e91af41488df404a9f14e7c7e3b880b305eb17be4c0b084865ce81add52e75e1",
"input_pier_count": 6,
"validation": {
"source_hashes_match": true,
"images_decode": true,
"map_bounds_identical": true,
"grid_length_valid": true,
"map_feature_residual_max_deg": 0.0
}
}
@@ -1,34 +0,0 @@
{
"drawing": "C:\\Users\\User\\Desktop\\도면추출\\엔지니어(sample8)_T형교각_옥성교\\01 옥성교 종평면도.dwg",
"output": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\pierzainer_ground\\data\\output\\samples_20261102\\08_옥성교",
"crs": "EPSG:5186",
"terrain_crs": "EPSG:5186",
"cad_axes": "YX",
"terrain_block": "XR_현황",
"piers": "C:\\Users\\User\\Desktop\\Pier_v1-main\\Pier_v1\\도면추출\\samples\\샘플08_옥성교_교각입력데이터.xlsx",
"boreholes": "",
"layers": "",
"margin": 100.0,
"step": 5.0,
"max_edge": 100.0,
"z_min": -500.0,
"z_max": 9000.0,
"include_maps": true,
"allow_download": true,
"use_3d_lines": false,
"plots": false,
"automatic": true,
"auto_detection": {
"crs_status": "project_default_not_source_verified",
"crs_candidates": [],
"crs_assumed": true,
"project_default_applied": true,
"source_reference": null,
"method": "terrain_TIN_coverage_at_Excel_IP1_IP3_centers",
"arbitrary_offset_applied": false,
"terrain_block": "XR_현황",
"cad_axes": "YX",
"covered_piers": 6,
"total_piers": 6
}
}
Loaded 100 of 3100 files, more files were not shown because too many files have changed in this diff. Show more