Files
Pier_v1/도면추출_연동패키지_20261102/history/작업이력.md
T
CopilotandCopilot 06e1b97a62
ITAM Code Check / build-and-config-check (push) Failing after 37s
ITAM Docker Build Check / docker-build-check (push) Failing after 1m0s
교각 프로그램 초기 버전
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-02 15:55:01 +09:00

9.6 KiB

교각 도면 엑셀 추출 프로그램 정본

버전 수정일 수정자 주요 변경 내용 비고
v0.1.00 2026-10-26 Codex 재사용 Python 프로그램 정본 등록 담당자 성명 미확인
v0.1.01 2026-10-26 Codex 폴더 단독 자동 분류·판독 기본 화면 사용자 후속 요청
  • 현행 프로그램: Code/bridge_extract/, 실행 start.cmd. 향후 반복 추출은 이 프로그램을 사용.
  • 현행 사용 안내: DOC/04_실행/실행_교각도면엑셀추출프로그램_2026-10-26_v0.1.01.md.
  • 기본 화면은 auto_gui.AutoApp: 폴더만 선택. automatic.run_folder가 하위 DWG를 내용으로 분류하고 엑셀 생성. 기존 app.App/--profile은 호환용.
  • semantic.py의 헤더·행 판독으로 두 교량 받침 162개와 신규 명시형 제원표 대응. layouts/의 제목·주변 문자 3개 이상으로 위치·축척·handle 변경 대응. 이동·축척 수치 755개 일치 시험 완료.
  • 파일명을 바꾼 3개 실제 DWG를 다른 하위 폴더에 넣고 폴더 단독 GUI 실행 성공, 575필드 대조. 자동판독 8개 및 기존10개 시험 통과.
  • 최초 추출 결과·근거인 Code/giyang_extract/, Code/sanoe_extract/는 원문 대조 자산으로 보존. 새 프로그램은 그곳의 extracted.json 또는 과거 엑셀을 런타임 입력으로 사용하지 않음.
  • 변환기 의존 경로만 Code/giyang_extract/libredwg/dwgread.exe 재사용. 환경변수/GUI로 대체 경로 지정 가능.
  • 등록 프로파일은 현재 2개. 수치는 현재 문자에서 재추출. 형식·기둥 수 등 형상 판독값은 등록값으로 구분하며 근거 DWG 해시가 바뀌면 비움.
  • 새 도면은 기본 자동 판독으로 먼저 처리. 명시형 표는 사전 등록 없이 판독하며, 자유 배치·형상/IP 지시선 연결 등 근거가 모호한 항목은 공란과 검토 사유로 제공. 과거 CSV 등록은 CLI 호환용으로 남아 있음. 임의 도면 범용 형상 해석이나 OCR이 아님.
  • 사용자 요청이 Python 기반 반복 실행 프로그램이므로 XLSX 작성도 openpyxl 기반으로 구현. Node/Artifact Tool은 실행 의존성이 아님.
  • 995개 필드 회귀, 단위시험 10개, 실제 DWG CLI 2교량, GUI 실행 경로 검증. 표고 상충·말뚝 범위·미확인값은 검토 대상으로 보존.
  • Windows sandbox 기본 tempfile 위치가 쓰기 거부되는 환경. 테스트는 tests 하위, 변환은 사용자가 지정한 저장 폴더의 .cache 하위 임시 경로 사용.
  • 외부 프로그램 연동 정본(2026-10-29): Code/bridge_extractor_package/src/bridge_drawing_extractor/, 패키지 0.1.5. 종전 GUI와 별도 유지하며 자동 동기화하지 않음.
  • 0.1.5 현행 추가 규칙: T형 1기둥, π형 2기둥. 말뚝길이 최소 선택 후 mm 변환(Pier H열 단위 변경). Bearing H열 전열/후열 추가, G열 방위각 유지. 산외교 전열38/후열40, P1말뚝7000mm. 신규 4시험·기존 정책6시험 및 설치본 API/CLI/XLSX·GUI PASS, 유지필드395개 대조. 외부 연동 시 길이 단위 및 추가열 확인 필요.
  • 현행 규칙 0.1.4 (이전 출처 규칙 대체): 교각일반도 제외. 기본 T형, 두부보 EL=ELEVATION 교좌면 EL 최소, 받침 Z=교량받침 EL(몰탈상단). 폭=받침 최대 평면거리, 길이=IP1-IP3 평면거리 초과 다음 500mm 단위. 기둥 수 미지정. 실제 ELEVATION에 울산/함양 방향이 함께 있어 받침배치도 방향으로 연결. 산외교 17교각/78받침 추출, 기존 유지 412필드 회귀, 새 정책 6시험 및 내용분류 3시험 PASS. 설치본 및 GUI PASS. 바로가기 재실행하면 최신 소스 사용.
  • 간편 실행(2026-10-28): 작업 폴더의 도면추출 실행.lnk → Code/bridge_extractor_package/tools/desktop_app.py. 기존 GUI 레이아웃을 재사용하되 0.1.3 소스 API에 연결. 현재 PC의 준비된 Python/openpyxl/변환기를 사용하여 수동 설치 불필요. 다른 PC 독립 실행 EXE는 아님. tests/desktop_smoke.py 실제 도면 작업 스레드·엑셀 생성·완료 상태 PASS.
  • 0.1.3: 도면 내부 제목 변형·EL-X 표 기반 역할 인식 확장. ELEVATION 산출근거 원문은 supplementary_drawings에 보존하고 받침 Z를 대체하지 않음. 종단면도(A-A)만으로 종평면 판정 금지. 실제 5개 DWG 이름 변경 후 575필드 일치 및 추가 3개 회귀 시험 통과. outputs/package_renamed_013/verification.json 참조.
  • 배포 파일: Code/bridge_extractor_package/dist/의 wheel 및 sdist. API extract_folder, check_environment, CLI python -m bridge_drawing_extractor. 연동 안내는 같은 프로젝트의 README.md.
  • 변환기는 배포물에 포함하지 않음. converter_path → BRIDGE_DWGREAD → PATH 순서로 연결. Python 의존성 openpyxl>=3.1,<4.
  • 설치된 wheel로 실제 산외교 575필드 일치, API/CLI/JSON/오류 반환 통과. outputs/package_smoke/verification.json, 재현 스크립트 Code/bridge_extractor_package/tests/installed_smoke.py. 기존 의존성이 있는 Windows 환경에서 검증, 다른 OS는 미검증.
  • 최근 확인: 2026-10-28. 재확인 조건: DWG 내용/배치 또는 Python·변환기 변경.

2026-10-29 12개 샘플 배치 결과

  • 정본: 추출결과_12개교량_20261029/. 12 XLSX + JSON/CSV, 현황/미확정 목록 XLSX.
  • 교각64, 받침652, 미확정288셀. 대호지교 필수 도면 미제공252셀 포함.
  • tools/extract_samples.py: 기존 입력폼으로 대상 대응, CAD 문자 재추출 및 샘플별 판독 보정. tools/verify_samples.py:6164셀/127DWG 해시·산식 검사 PASS. 회귀13시험 PASS.
  • 사용자 최신 규칙: 형상으로 T/π 판단, T1/π2, IP위→아래, 두부보 EL=교좌면 최소, 받침Z=몰탈상단, 말뚝최소mm, 치수 다음500mm. 기존 일반도 제외 규칙은 표고 출처에 적용, 형상 판독에는 일반도 사용.
  • 소스 reader 보완됨. dist0.1.5 wheel은 재빌드하지 않았고 GUI에 샘플 배치 보정은 통합하지 않음. 최신 배치 결과를 GUI 일반화 완료로 설명하면 안 됨.

2026-10-29 폴더 자동추출 0.1.6 통합

  • 사용자 입력: rㅡ렇게 해줘. 기존 엑셀 없이 자동 분류/연결/출력 통합 요청으로 수행.
  • 정본 소스 src/bridge_drawing_extractor/inference.py + automatic.py. GUI/바로가기 연결 완료. 배포 wheel0.1.6 설치본 실제 API 확인.
  • 기능: 받침 범위 기반 IP3점 대응·위아래 순서, 종평면 인접 명시 표기/말뚝범위, 통합좌표표. 명시 형식 없으면T1. 레이아웃 미상에서도 XLSX 없이 작동.
  • 검증16시험, 이름변경DWG5개·등록레이아웃없이 2교각28받침IP6점, GUI 완료, 설치wheel 실제API PASS. DOC/05_검증/검증_폴더자동추출통합_2026-10-29_v0.1.00.md.
  • 한계: 이미지OCR/임의기둥형상/모든지반고보간 미지원. 복수방향·개정상충은 미확정. 수동12샘플 결과와 자동출력은 동일하지 않을 수 있음. 모든 새도면 완전추출이라고 설명하지 말 것.

2026-10-29 0.1.7 폭 규칙 (최신)

사용자 원문: 두부보폭은 받침전열과후열사이의 거리보다 2m 더 크게 만들자 500mm단위로 폭=전열/후열 각각 좌표 평균점 거리+2000mm를 500mm 올림. 정확한 배수는 그대로. 열구분/좌표 불명확 시 미확정. GUI와 API 소스 및 wheel0.1.7 반영. 17단위/회귀 PASS. update_sample_widths.py로12교량64교각 폭만 수정한 사본 생성, 나머지 셀 불변 대조. 정본 결과경로: 추출결과_12개교량_20261029/두부보폭_전후열거리_2m반영/. 길이는 기존규칙 유지.

2026-11-02 IP4 인덱스 오류 수정

IP4 행 생성 시 points[3]을 조회하여 IndexError 발생. 실제 IP1~3 범위 안에서만 좌표를 조회하고 IP4는 빈칸 유지하도록 수정. 등록 레이아웃 IP4도 D/E/F 공란 유지. 원본 소스 및 portable 소스 동기화. 현재 12샘플의 종평면/받침/ELEVATION 실제 DWG를 재읽고 엑셀 저장·재읽기 및64교각 IP4 공란 검증 PASS. 목동교·승천천교는 현재 변경된 파일명 기준으로 재수행. 결과: outputs/IP4_12샘플검증_20261102/검증결과.json. 실행 중인 GUI는 다시 시작해야 수정 반영.

2026-11-02 종평면 기초 4항목 보완

inference.py: 지반고 종단표의 일반 측점 격자와 교각 추가점 구분, 기초하단 EL 하부 표기군 분리, 말뚝 인접영역 확대. portable 소스 동기화. 운곡교6/계문철교2 교각32필드(EL/지반/기초/말뚝mm) 저장엑셀 도면 확인값 대조 PASS. testscripts: tools/check_profile_values.py. 샘플12개 엑셀 생성/IP4 검사 통과(7번은 root입력xlsx를 폴더로 잡던 검증 스크립트 수정 후 재수행). 값 상충 및 도면상 직접기초 표기 부재, VAR 길이는 계속 검토필요. 모든64교각 수치 전수확정으로 표현하지 말 것.

2026-11-02 사용자 승인 샘플 엑셀 보정 결과

요청: 프로그램으로12개 추출 후 틀린/애매한값 폴더샘플엑셀로수정. 정본 12개샘플_프로그램추출_엑셀대조보정_20261102/. 12XLSX+JSON/CSV, 보정현황, 자동원본 별도.64교각652받침518보정셀, 미확인 승천천교 방위각12셀.6484셀 재읽기/치수/IP4 검증 PASS. 이전 도면출처만사용 규칙과 다르게 이번 산출물은 사용자명시지시에 따라 샘플 값을 사용. 기양천교 상충EL도 샘플값 채택(미확정원본 보존). 코드 tools/create_reviewed_samples.py,verify_reviewed_samples.py. 보정은 이번12개 산출물 처리이며 일반자동엔진에서항상샘플엑셀을읽도록변경한것은아님.