From d902d9f8dc3128d732af8e189bf29d8195c55b35 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Fri, 11 Sep 2026 15:07:35 +0900 Subject: [PATCH] auto: 2026-09-11 15:07 (EOMSANGDON-HOME) --- ...8_plan_B05_sidebar_ui_page_improvements.md | 2 +- .../2026-09-10_경쟁사_오솔길_분석.md | 167 ------------------ .../2026-09-10_계획서_e_f_g_이관_교차검증.md | 23 --- 3 files changed, 1 insertion(+), 191 deletions(-) delete mode 100644 docs/raw/verification/2026-09-10_경쟁사_오솔길_분석.md delete mode 100644 docs/raw/verification/2026-09-10_계획서_e_f_g_이관_교차검증.md diff --git a/docs/raw/plans/2026-08-18_plan_B05_sidebar_ui_page_improvements.md b/docs/raw/plans/2026-08-18_plan_B05_sidebar_ui_page_improvements.md index 2b2d62d4..022cff7e 100644 --- a/docs/raw/plans/2026-08-18_plan_B05_sidebar_ui_page_improvements.md +++ b/docs/raw/plans/2026-08-18_plan_B05_sidebar_ui_page_improvements.md @@ -39,5 +39,5 @@ ## 연결 -- 위키: [[B05_Profile/B05_structures]], [[B05_Profile/B05_frontend]] +- 위키: [[B05_Profile/B05_Profile_plan_2026-08-18]], [[B05_Profile/B05_structures]], [[B05_Profile/B05_frontend]] - 상시 계획서에는 B05/B06 구조물 연계표와 미결·후속 작업만 유지한다. diff --git a/docs/raw/verification/2026-09-10_경쟁사_오솔길_분석.md b/docs/raw/verification/2026-09-10_경쟁사_오솔길_분석.md deleted file mode 100644 index 27e8be5f..00000000 --- a/docs/raw/verification/2026-09-10_경쟁사_오솔길_분석.md +++ /dev/null @@ -1,167 +0,0 @@ -# 경쟁사 프로그램 「오솔길」 분석 — 2026-09-10 - -## 대상 - -`resources/knowledge/original/경쟁사 프로그램/오솔길/` 에 입수된 경쟁사 설계 프로그램 일체. - -- 캐드 플러그인 `OSKi.arx` (PE32+ DLL, 21MB) · 캐드 템플릿 `오솔길.dwt` -- 매뉴얼 PDF 22개 225쪽 · 소개서 PDF 6개 123쪽 · 매크로 사용법 1개 4쪽 -- 엑셀 매크로 통합문서 `PERSONAL.XLSB(오솔길)` -- 도면 양식 DWG 55개 (`OSK_sym/`) · 설정·계수 텍스트 5개 - -이 세션은 **지식DB 작업**이므로 CLAUDE.md 3장에 따라 계획 절차를 생략했다. `PLAN.md` 는 건드리지 않았다. - -## 프로그램 정체 - -- **AutoCAD / ZWCAD 플러그인**이며 독립 실행 프로그램이 아니다. 캐드를 켠 뒤 `arx` 명령으로 올리면 명령어 상자가 뜬다. -- 개발 커널테크너리지(곽명근), 검수 엘림엔지니어링(산림기술사 오점곤). 매뉴얼 표기 V26.7, 임도 1995년·야계사방댐 2007년 착수. -- **하드웨어 락(Sentinel) 필요**. 락이 입수되지 않아 **실행 검증은 불가**했다. 아래 결과는 전부 파일·문서 분석으로 얻은 것이다. -- 제품 5종 — 임도 자동설계 / 야계사방댐 자동설계 / NaviF·나스(산림조사) / 시공정산(설계변경). - -## 확인 방법 - -| 대상 | 방법 | 결과 | -| --- | --- | --- | -| 엑셀 매크로 VBA | `oletools` 로 `vbaProject.bin` 추출 (임시폴더에만 설치) | 7모듈 4,195줄, 잠금 없이 전량 판독 | -| 매뉴얼·소개서 PDF | `pymupdf` 텍스트 추출 + 쪽 렌더 | 텍스트 18만 자, 쪽 이미지 352장(150dpi) | -| PDF 안 그림 | `page.get_images()` 로 **원본 해상도** 추출 | 343장. 대화상자 기본값이 판독 가능한 화질 | -| 도면 양식 DWG | 저장소 내 LibreDWG `dwg2dxf.exe` 로 DXF 변환 | 56개 전부 성공, 실패 0 | -| 설정파일 `WHDinit` | 매뉴얼 대화상자와 줄 단위 대조 | 전 항목 일치, 완전 해독 | - -DWG 는 AC1024(AutoCAD 2010) 압축 저장이라 문자열 직접 훑기로는 판독이 불가능했고, 변환기를 거쳐야 했다. -변환기는 외부 설치 없이 `B07_DesignDetail/openwebcad/tools/libredwg/` 의 것을 그대로 썼다. - -## 확보한 계산로직 — 64건 - -수식·수치까지 확보 40건, 판정 규칙만 확보 17건, 미확보 7건. - -### 물량 집계 (매뉴얼과 VBA가 일치) - -``` -입적 = ROUND((앞측점 단면적 + 현측점 단면적) ÷ 2 × 점간거리, 2) -보정량 = ROUND(입적 × 환산계수, 2) ← 절토·측구터파기만 -보정량계 = 절토토사 + 절토암 + 측구토사 + 측구암 -유용토 = MIN(보정량계, 성토입적) -차인토량 = 보정량계 − 성토입적 -누가토량 = 앞줄 누가토량 + 현줄 차인토량 -``` - -야계사방댐(터파기 있는 경우)은 유용토 상대가 `성토입적 + 되메우기입적` 으로 바뀐다. - -### 종단 - -- 종단곡선 자동 처리 기준 — **구배 간 기울기 대수차 5% 이상**. 대화상자에도 명문화되어 있다. -- `K(종단곡선변화율) = (전거리 + 후거리) ÷ |전거리 기울기 − 후거리 기울기|` -- 완화 전·후거리 미입력 시 20m 가정. 최소지반고 = 최저지반고 − 6m. - -### 횡단 판정 - -- 석축 높이는 **10cm 단위 절상**(1.31m→1.4m). -- 끝소단은 **남은 사면이 소단적용거리의 1.5배 이상**일 때만 설치. -- 층따기는 **성토면 지반선 기울기 25% 이상**에서만(옵션). -- 지장목제거는 계획선과 지반선이 같으면 **절토로 적용**. -- 면고르기는 사면 길이에서 **소단 길이를 뺀다**. -- 측구 U자형은 깊이 = 저폭, 안·밖 사면 1:1. 성토부에는 측구를 만들지 않는다. - -### 사방댐 - -- 개방형 터파기 `상폭(HW) = 하폭(LW) + 높이(CA) × (좌기울기 + 우기울기)` -- 3·4각형법 `입적 = (밑변 × 높이) × ½ × (수평선 터파기폭 + 꼭지점 터파기폭) ÷ 2` -- 댐 중심 기본 위치는 지반고보다 1.8m 아래(= 9.0 ÷ 5). -- 바닥막이는 **높이 > 0.0 인 것만** 만든다. 다른 값이 채워져 있어도 높이가 0이면 생성하지 않는다. -- 사다리꼴 기울기를 입력하면 **단면적을 사면부와 기초부로 분리 계산**한다. - -### 기본값 출처 확인 - -`WHDinit` 이 횡단면도 기본값 저장 파일임을 대화상자 대조로 확정했다. - -``` -100|100 · 1.3|1.0 · 5.0|5.0|50.0 · 0.30|0.90|1.00 · 0.30|0.30 · 4|4 · 200|20.0 -``` - -VBA 매크로가 산출서 첫 줄에서 역산하던 **보정환산계수(토사 0.9 · 암 1.0)의 출처가 이 파일**임이 확인되었다. -따라서 계수의 주인은 캐드 플러그인 쪽 설정이며, 한 산출서 안에서는 전 구간 하나로 고정된다. - -## 도면 양식에서 확인한 것 - -**계산식은 없었다.** 도면 양식은 표의 껍데기이므로 공식이 들어 있지 않다. 확인된 것은 열 구성과 항목 이름이다. - -### 제출 양식이 발주 지역마다 다르다 - -설치본 `OSKid` 에 `CN` 한 줄이 들어 있고, 확인된 코드는 **KN · KP · JN · CN** 넷이다. -이름만 다른 것이 아니라 **표의 열 구성 자체가 다르다.** - -| 야계 횡단물량표 | KN | KP | JN | -| --- | --- | --- | --- | -| 저수선·저사선·토사조절선 | 있음 | 있음 | **없음** | -| 깍기 상부/하부 | 있음 | — | — | -| 떼붙임·좌안·우안·면적 | — | **있음** | — | -| 평떼·줄떼·찰쌓기·메쌓기 | — | — | **있음** | - -댐 토공수량표도 KP 만 「상장·하장」으로 부르고 **「터파기조건」 열이 추가**된다. -이는 매뉴얼의 `OSKid="KP"` 일 때 사다리꼴 기울기가 필수라는 서술과 이어진다. - -임도 쪽에도 같은 갈래가 있다 — P&B 구조물을 「경남 지역 형식」과 「비경남 지역 형식」 둘로 그린다. -야계 물량 매크로가 터파기 유·무 두 벌로 나뉜 것도 같은 이유다(경남은 터파기·되메우기를 잡지 않는다). - -### 양식 자사화를 파일 교체로 푼다 - -양식 도면 안에 방법이 글로 적혀 있다 — 「해당 Title.dwg 를 열고 **원점(0,0)과 가로·세로만은 유지**하고 무엇이건 바꿔 저장하세요」. -발주처 로고도 별도 폴더(`발주처_시군_공사_마크`)의 JPG 를 갈아 끼우며, 플롯 스타일도 전용(`엘림흑백용.ctb`)이다. - -### 매뉴얼에 없던 항목 넷 - -| 무엇 | 어디 | -| --- | --- | -| 볏집거적 · 새심기 (법면보호공 세부공종) | `OSK_sym/Wchart` | -| 곡선중심 X · Y (곡선설치표 신버전) | `OSK_sym/Curvechart_New` | -| 오차적용경사 (시공정산 RE 정보표) | `OSK_sym/REpyo` | -| 터파기조건 열 (KP 전용) | `OSK_sym/야계사방/토공수량(평단KP)Title` | - -매뉴얼 물량표 설명은 법면보호공을 두 갈래(초류종자살포·절토면보호공)로만 적었으나, 도면 양식은 네 갈래로 되어 있다. -**도면 양식이 매뉴얼보다 자세하다.** 「오차적용경사」는 근거를 확보하지 못했다. - -## 확보하지 못한 것 - -- **횡단 절·성토 단면적을 실제로 구성하는 기하 계산.** 사면·소단·측구·석축을 조합해 폴리곤을 닫는 부분은 컴파일된 `OSKi.arx` 안에 있다. -- 사방댐 각 부재 물량을 J·S·P 파라미터에서 산출하는 식, 유토곡선에서 Q·L 을 재는 알고리즘, 곡선설치에서 IP 를 잡고 BC·EC 를 배치하는 절차, 구조물 물량 산출식. -- 저수선·저사선·토사조절선의 기울기 근거. 매뉴얼상 **사용자 입력값**(엔지니어링 결과값)이며 0이면 해당 선을 그리지 않는다. - -**역공학은 수행하지 않았다.** 라이선스 위반 소지가 있고, 단면적 산출 방식은 우리가 별도로 결정할 사항이라 추적 실익이 없다는 사용자 판단이 있었다. -실무 성과품(입력 `*.rhd` ↔ 출력 `*.csv`·`*.BOM`)을 이용한 역산 검산도 사용자 지시로 보류했다. - -## 판정 - -**통과.** 계산로직 64건을 우리 프로그램 대조용으로 확보했다. 다만 아래를 구분해서 사용해야 한다. - -- **같아야 하는 것** — 유용토·차인토량·누가토량의 정의와 평균단면적법. 업계 공통이다. -- **달라도 되는 것** — 환산계수 0.9, 터파기 기울기 0.7, 완화거리 20m 등. 오솔길이 고른 값일 뿐이며, 우리 기본값은 현행 법령·행정규칙과 사용자 협의로 정한다. - -여기 기록된 수치는 전부 **「경쟁사가 이렇게 한다」는 관찰 기록**이며 우리 기본값으로 채택된 것이 아니다. - -## 남긴 산출물 - -`resources/knowledge/original/경쟁사 프로그램/오솔길 분석/` - -- `20_분석/01_엑셀매크로/` — VBA 모듈 7개 + 공통 보조 프로시저, 계산 로직 단위로 분해 -- `20_분석/02_도면양식/` — DWG 여는 법, 지역별 양식 차이, 임도·사방댐 양식 -- `10_원문/도면양식DXF/` — DWG 56개의 DXF 변환본, 원본 폴더 구조 유지 -- `10_원문/` — 쪽 이미지 352장·박힌 그림 343장 보관, 설치 매뉴얼 1건 전사 완료 - -원본 `오솔길/` 폴더는 손대지 않았다. VBA 원문은 저장하지 않고 재추출 방법만 README 에 남겼다. - -커밋 — `eed22360`(VBA 분석), `b7429cd8`(DWG 분석·폴더 개편), `2b2c064d`(DXF 보관). 모두 push 완료. - -## 미결로 올릴 거리 - -1. 사방댐 물량을 경남식(터파기 없음)과 그 밖 지역식(터파기 있음) 중 무엇을 기본으로 둘 것인가. -2. 사방댐 토공을 평균단면적법과 3·4각형법 중 무엇으로 둘 것인가. -3. 제출 양식이 발주 지역별로 갈리는 것을 언제 어떻게 대응할 것인가. - -세 건 모두 임의 확정하지 않았다. `resources/knowledge/03_미결_및_확인사항.md` 로 올릴 대상이다. - -## 남은 작업 - -- 매뉴얼 PDF 원문 전사 — 352쪽 중 1쪽(설치)만 완료. 임도 112쪽 · 야계사방댐 112쪽 · 소개서 123쪽 · 매크로 4쪽이 남았다. -- 야계 종단·횡단 매뉴얼 본문 절반은 아직 읽지 않았다. 대화상자는 모두 확인했다. -- 소개서는 결과물 사진 위주로 계산로직이 추가로 나올 가능성이 낮다. diff --git a/docs/raw/verification/2026-09-10_계획서_e_f_g_이관_교차검증.md b/docs/raw/verification/2026-09-10_계획서_e_f_g_이관_교차검증.md deleted file mode 100644 index c9c6a8ea..00000000 --- a/docs/raw/verification/2026-09-10_계획서_e_f_g_이관_교차검증.md +++ /dev/null @@ -1,23 +0,0 @@ -# 계획서 e·f·g 이관 교차검증 — 2026-09-10 - -## 대상 - -- `2026-09-09e_계획서_완료근거_이관.md` -- `2026-09-09f_계획서_공통기반과_참고_이관.md` -- `2026-09-09g_계획서_0_3_4장_완료근거_이관.md` - -## 확인 결과 - -- 원문이 인용한 구현 커밋 `5d4473b4`, `018ebe7f`, `5907de85`, `2eb2c972`, `3a64bb5b`, `0ff26d43`, `0747979c`가 모두 저장소에 존재한다. -- `./venv/Scripts/python.exe -m pytest resources/tester/ -q`: **1292 passed, 22 skipped, 실패 0** (206.87초). -- 완료 구현과 운영 원칙은 위키에 반영할 수 있다. -- 답 대기·자료 대기·저장 버튼 실측 미완·근거 미확보 항목은 완료로 승격하지 않고 기존 미결 문서에 연결한다. - -## 판정 - -**통과.** 세 이관 원문을 위키의 완료 요약, 데이터 생명주기, 다중 환경 안전, B07 표준도 및 미결 경계에 반영한다. - -## 위키 검사 - -- 위키 본문 215개에서 비로그 100줄 초과·frontmatter·status·page_id 오류 0건. -- Graphify 증분 갱신은 Markdown 오인으로 992→1,168노드 팽창하여 산출물을 직전 정제본으로 복구함. 신규 의미 노드 반영은 도구 결함 해소 뒤 재시도 대상.