Improve drawing export and foundation quantity views
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
1 parent
a0ec74b09b
commit
d22c5008f0
72 files changed
+24346
-12
No files matched your search
@@ -0,0 +1,123 @@
|
||||
# 원본 수량산출서 분석
|
||||
|
||||
원본 SHA256: `1c5d935a134523a5dc3a292cfc01bf4190b9bc538313322b33add6926e21c90f`
|
||||
|
||||
## 시트 구성
|
||||
|
||||
- 표지및목차: 43행 × 46열, 수식 0개, 병합 5개, visible
|
||||
- 1. 수량집계: 76행 × 31열, 수식 371개, 병합 477개, visible
|
||||
- 3.1 수량산출기준_토공: 84행 × 59열, 수식 0개, 병합 102개, visible
|
||||
- 3.1 수량산출기준_구조체 현황: 160행 × 61열, 수식 0개, 병합 30개, visible
|
||||
- 3.1 수량산출기준_구조체: 160행 × 58열, 수식 0개, 병합 30개, visible
|
||||
- 3.2 관련변수: 66행 × 45열, 수식 0개, 병합 251개, visible
|
||||
- 3.3 수량산출_ex): 79행 × 60열, 수식 117개, 병합 276개, visible
|
||||
- 3.3 수량산출_P1: 79행 × 60열, 수식 121개, 병합 276개, visible
|
||||
- 3.3 수량산출_P2: 79행 × 60열, 수식 121개, 병합 276개, visible
|
||||
- 3.3 수량산출_P3: 79행 × 60열, 수식 121개, 병합 276개, visible
|
||||
- 3.3 수량산출_P4: 79행 × 60열, 수식 121개, 병합 276개, visible
|
||||
- 3.3 수량산출_P5: 79행 × 60열, 수식 121개, 병합 276개, visible
|
||||
- 3.3 수량산출_P6: 79행 × 60열, 수식 121개, 병합 276개, visible
|
||||
|
||||
## 최소 입력과 원본 수식 매핑
|
||||
|
||||
|변수|기호|단위|입력셀(P1)|
|
||||
|---|---|---|---|
|
||||
|받침 EL|Zb|m|3.2 관련변수!N18|
|
||||
|지반고 EL|Zs|m|3.2 관련변수!N19|
|
||||
|지하수위 WL|Zw|m|3.2 관련변수!N20|
|
||||
|토사 깊이|H1|m|3.2 관련변수!N21|
|
||||
|풍화암 깊이|H2|m|3.2 관련변수!N22|
|
||||
|연암 깊이|H3|m|3.2 관련변수!N23|
|
||||
|두부보 길이|Lc|m|3.2 관련변수!N24|
|
||||
|두부보 폭|Bc|m|3.2 관련변수!N25|
|
||||
|두부보 하부높이|H1|m|3.2 관련변수!N26|
|
||||
|두부보 상부높이|H2|m|3.2 관련변수!N27|
|
||||
|횡경사(%)|s|%|3.2 관련변수!N28|
|
||||
|두부보 돌출부 폭|a|m|3.2 관련변수!N29|
|
||||
|두부보 변화부 곡률|R|m|3.2 관련변수!N30|
|
||||
|기둥 직경|Dc|m|3.2 관련변수!N31|
|
||||
|저판 저면 EL|Zf|m|3.2 관련변수!N32|
|
||||
|저판 길이|Lf|m|3.2 관련변수!N33|
|
||||
|저판 폭|Bf|m|3.2 관련변수!N34|
|
||||
|저판 높이|Hf|m|3.2 관련변수!N35|
|
||||
|말뚝 직경|Dp|m|3.2 관련변수!N36|
|
||||
|말뚝 두께|Tp|m|3.2 관련변수!N37|
|
||||
|말뚝 길이|Lp|m|3.2 관련변수!N38|
|
||||
|말뚝 수|Np|개|3.2 관련변수!N39|
|
||||
|받침 길이|Lb|m|3.2 관련변수!N40|
|
||||
|받침 폭|Bb|m|3.2 관련변수!N41|
|
||||
|받침 수|Nb|개|3.2 관련변수!N42|
|
||||
|받침 블럭 길이|Lbc|m|3.2 관련변수!N43|
|
||||
|받침 블럭 폭|Bbc|m|3.2 관련변수!N44|
|
||||
|받침 블럭 높이|Hbc|m|3.2 관련변수!N45|
|
||||
|솔플레이트 두께|Ts|m|3.2 관련변수!N46|
|
||||
|
||||
## 수량항목
|
||||
|
||||
|항목|필요 입력(직접 참조)|실제 수식/고정값|원본 위치|
|
||||
|---|---|---|---|
|
||||
|구조물터파기 / 육상토사 / 0-2m||`=($AO$6*$AO$10+$AO$7*$AO$11)*AK6/2`|3.3 수량산출_P1!W6|
|
||||
|구조물터파기 / 육상토사 / 2-4m||`=($AO$6*$AO$10+$AO$7*$AO$11)*AK7/2`|3.3 수량산출_P1!W7|
|
||||
|구조물터파기 / 육상토사 / 4-6m||`=($AO$6*$AO$10+$AO$7*$AO$11)*AK8/2`|3.3 수량산출_P1!W8|
|
||||
|구조물터파기 / 육상토사 / 6-8m||`=($AO$6*$AO$10+$AO$7*$AO$11)*AK9/2`|3.3 수량산출_P1!W9|
|
||||
|구조물터파기 / 용수토사 / 0-2m||`=($AO$6*$AO$10+$AO$7*$AO$11)*AK10/2`|3.3 수량산출_P1!W10|
|
||||
|구조물터파기 / 용수토사 / 2-4m||`=($AO$6*$AO$10+$AO$7*$AO$11)*AK11/2`|3.3 수량산출_P1!W11|
|
||||
|구조물터파기 / 용수토사 / 4-6m||`=($AO$6*$AO$10+$AO$7*$AO$11)*AK12/2`|3.3 수량산출_P1!W12|
|
||||
|구조물터파기 / 용수토사 / 6-8m||`=($AO$6*$AO$10+$AO$7*$AO$11)*AK13/2`|3.3 수량산출_P1!W13|
|
||||
|구조물터파기 / 육상풍화암 / 0-2m||`=($AO$7*$AO$11+$AO$8*$AO$12)*AK14/2`|3.3 수량산출_P1!W14|
|
||||
|구조물터파기 / 육상풍화암 / 2-4m||`=($AO$7*$AO$11+$AO$8*$AO$12)*AK15/2`|3.3 수량산출_P1!W15|
|
||||
|구조물터파기 / 육상풍화암 / 4-6m||`=($AO$7*$AO$11+$AO$8*$AO$12)*AK16/2`|3.3 수량산출_P1!W16|
|
||||
|구조물터파기 / 육상풍화암 / 6-8m||`=($AO$7*$AO$11+$AO$8*$AO$12)*AK17/2`|3.3 수량산출_P1!W17|
|
||||
|구조물터파기 / 용수풍화암 / 0-2m||`=($AO$7*$AO$11+$AO$8*$AO$12)*AK18/2`|3.3 수량산출_P1!W18|
|
||||
|구조물터파기 / 용수풍화암 / 2-4m||`=($AO$7*$AO$11+$AO$8*$AO$12)*AK19/2`|3.3 수량산출_P1!W19|
|
||||
|구조물터파기 / 용수풍화암 / 4-6m||`=($AO$7*$AO$11+$AO$8*$AO$12)*AK20/2`|3.3 수량산출_P1!W20|
|
||||
|구조물터파기 / 용수풍화암 / 6-8m||`=($AO$7*$AO$11+$AO$8*$AO$12)*AK21/2`|3.3 수량산출_P1!W21|
|
||||
|구조물터파기 / 육상연암 / 0-2m||`=($AO$8*$AO$12+$AO$9*$AO$13)*AK22/2`|3.3 수량산출_P1!W22|
|
||||
|구조물터파기 / 육상연암 / 2-4m||`=($AO$8*$AO$12+$AO$9*$AO$13)*AK23/2`|3.3 수량산출_P1!W23|
|
||||
|구조물터파기 / 육상연암 / 4-6m||`=($AO$8*$AO$12+$AO$9*$AO$13)*AK24/2`|3.3 수량산출_P1!W24|
|
||||
|구조물터파기 / 육상연암 / 6-8m||`=($AO$8*$AO$12+$AO$9*$AO$13)*AK25/2`|3.3 수량산출_P1!W25|
|
||||
|구조물터파기 / 용수연암 / 0-2m||`=($AO$8*$AO$12+$AO$9*$AO$13)*AK26/2`|3.3 수량산출_P1!W26|
|
||||
|구조물터파기 / 용수연암 / 2-4m||`=($AO$8*$AO$12+$AO$9*$AO$13)*AK27/2`|3.3 수량산출_P1!W27|
|
||||
|구조물터파기 / 용수연암 / 4-6m||`=($AO$8*$AO$12+$AO$9*$AO$13)*AK28/2`|3.3 수량산출_P1!W28|
|
||||
|구조물터파기 / 용수연암 / 6-8m||`=($AO$8*$AO$12+$AO$9*$AO$13)*AK29/2`|3.3 수량산출_P1!W29|
|
||||
|잔토||`=AO21+AO22+AO23`|3.3 수량산출_P1!W30|
|
||||
|되메우기 / 토사, 다짐 / 토사, 다짐||`=AO17-(AO21+AO22+AO23)`|3.3 수량산출_P1!W31|
|
||||
|거푸집 / 강재 거푸집 / 코핑부|BG12, BG13, BG14, BG15, BG16, BG17, BG18, BG19|`=(((BG19+0.2)+(BG12+2*BG17))*BG14/2-(BG18^2/2)*(2*ASIN(SQRT((((BG12+2*BG17)-(BG19+0.2))^2/4+BG14^2)/(4*BG18^2)))-SIN(2*ASIN(SQRT((((BG12+2*BG17)-(BG19+0.2))^2/4+BG14^2)/(4*BG18^2)))))+((BG12+(BG12+2*BG17))*BG15/2)+((BG12*((0.01*BG16*BG12)+BG17)/(BG15+0.01*BG16*BG12))*(0.01*BG16*BG12)/2)+(2*BG13*BG18*(2*ASIN(SQRT((((BG12+2*BG17)-(BG19+0.2))^2/4+BG14^2)/(4*BG18^2)))))+(BG13*SQRT(BG17^2+BG15^2))+(BG13*SQRT(BG17^2+(BG15+0.01*BG16*BG12)^2)))`|3.3 수량산출_P1!W50|
|
||||
|거푸집 / 강재 거푸집 / 기둥부|BG14, BG15, BG19, BG20, BG6, BG7|`=PI()*BG19*(BG6-BG14-BG15-BG7+BG20)`|3.3 수량산출_P1!W51|
|
||||
|거푸집 / 합판3회 / 받침블럭|BG30, BG31, BG32, BG33|`=(2*BG31*BG33+2*BG32*BG33)*BG30`|3.3 수량산출_P1!W52|
|
||||
|거푸집 / 합판6회 / 버림콘크리트|BG21, BG22|`=2*(BG21+0.2)*0.1+2*(BG22+0.2)*0.1`|3.3 수량산출_P1!W53|
|
||||
|거푸집 / 유로폼 (복잡) / 0~7m|BG21, BG22, BG23|`=2*BG21*BG23+2*BG22*BG23`|3.3 수량산출_P1!W54|
|
||||
|거푸집 / 유로폼 (복잡) / 7~10m||`0`|3.3 수량산출_P1!W55|
|
||||
|거푸집 / 유로폼 (복잡) / 10~13m||`0`|3.3 수량산출_P1!W56|
|
||||
|콘크리트 / 저판 (25-27-15) / 저판 (25-27-15)|BG21, BG22, BG23|`=BG21*BG22*BG23`|3.3 수량산출_P1!W57|
|
||||
|콘크리트 / 본체 (25-40-15) / 본체 (25-40-15)|BG12, BG13, BG14, BG15, BG16, BG17, BG18, BG19, BG20, BG30, BG31, BG32, BG33, BG6, BG7|`=((((BG19+0.2)+(BG12+2*BG17))*BG14/2-(BG18^2/2)*(2*ASIN(SQRT((((BG12+2*BG17)-(BG19+0.2))^2/4+BG14^2)/(4*BG18^2)))-SIN(2*ASIN(SQRT((((BG12+2*BG17)-(BG19+0.2))^2/4+BG14^2)/(4*BG18^2)))))+((BG12+(BG12+2*BG17))*BG15/2)+((BG12*((0.01*BG16*BG12)+BG17)/(BG15+0.01*BG16*BG12))*(0.01*BG16*BG12)/2))*BG13+PI()*BG19^2/4*(BG6-BG14-BG15-BG7+BG20)+BG31*BG32*BG33*BG30)`|3.3 수량산출_P1!W58|
|
||||
|콘크리트 / 버림콘크리트(40-15-8) / 버림콘크리트(40-15-8)|BG21, BG22|`=(BG21+0.2)*(BG22+0.2)*0.1`|3.3 수량산출_P1!W59|
|
||||
|콘크리트 타설 / 펌프카타설 / 0~15(육상)||`=W57+W58+W59`|3.3 수량산출_P1!W60|
|
||||
|가설계단 / 워킹타워 / 워킹타워|BG6, BG7|`=BG6-BG7`|3.3 수량산출_P1!W61|
|
||||
|교량받침(2800kN) / 양방향 H=166 / 양방향 H=166|BG30|`=BG30`|3.3 수량산출_P1!W62|
|
||||
|무수축몰탈 / T=300mm / T=300mm|BG28, BG29, BG30|`=(((BG28+0.2)*(BG29+0.2)+(BG28+0.1)*(BG29+0.1))*0.05/2)*BG30`|3.3 수량산출_P1!W63|
|
||||
|솔플레이트|BG28, BG29, BG30, BG34|`=(BG28+0.1)*(BG29+0.1)*BG34*BG30*7.85`|3.3 수량산출_P1!W64|
|
||||
|스페이서 / 슬래브 및 기초용 / 슬래브 및 기초용|BG21, BG22, BG23|`=2*BG21*BG23+2*BG22*BG23`|3.3 수량산출_P1!W65|
|
||||
|스페이서 / 벽체용 / 벽체용||`=W50+W51`|3.3 수량산출_P1!W66|
|
||||
|철근가공조립 / 매우복잡 / 매우복잡||`19.316`|3.3 수량산출_P1!W67|
|
||||
|복합말뚝 / E.O.I.D / E.O.I.D||`=K68`|3.3 수량산출_P1!W68|
|
||||
|복합말뚝 / Restrike / Restrike||`=K69`|3.3 수량산출_P1!W69|
|
||||
|복합말뚝 / 자재비(직항) / 자재비(직항)|BG27|`=BG27`|3.3 수량산출_P1!W70|
|
||||
|복합말뚝 / 천공비 / 천공비|BG26, BG27|`=BG26*BG27`|3.3 수량산출_P1!W71|
|
||||
|복합말뚝 / 주면고정액 / 주면고정액|BG24, BG26, BG27|`=PI()/4*(((BG24+0.1)^2)-BG24^2)*BG26*BG27`|3.3 수량산출_P1!W72|
|
||||
|복합말뚝 / 두부보강 / 두부보강|BG27|`=BG27`|3.3 수량산출_P1!W73|
|
||||
|점검시설||`=K74`|3.3 수량산출_P1!W74|
|
||||
|콘크리트 양생|BG12, BG13, BG21, BG22|`=BG21*BG22+BG12*BG13`|3.3 수량산출_P1!W75|
|
||||
|비파괴검사 / M.T / M.T|BG24, BG27|`=BG27/10*3*PI()*BG24`|3.3 수량산출_P1!W76|
|
||||
|
||||
## 원본의 중요한 제약
|
||||
|
||||
- 설명식과 실제 수식이 불일치하는 부분을 수정하지 않는다. W51은 표시 Hcol 설명과 달리 Zb-H1-H2-Zs+Zf를 사용한다. 원본 P1 값은 236.80068785698427㎡이다. 기둥 실제 높이와 일치한다고 간주하지 않는다.
|
||||
- AO8은 풍화암 BG10을 사용하고 AO12는 연암 BG11을 사용한다. 그대로 재현한다.
|
||||
- W50 설명에는 2(Ac1+Ac2+Ac3)이 있으나 실제 수식은 해당 부분에 계수 2가 없다. W58과 공유되는 곡률 ASIN 식을 그대로 보존한다.
|
||||
- W63의 규격 표기는 T=300mm이지만 수식은 0.05m를 사용한다. 규격 텍스트와 계산 기준을 검토해야 한다.
|
||||
- W67은 수식이 아닌 철근량 직접값, K68/K69/K74는 시험/시설 횟수 직접값이다. 자동 수량으로 가장하지 않는다.
|
||||
- 실제 수식에 ROUND 계열은 없다. 원값으로 계산 후 원본 표시형식(상세 주로 소수3자리, 집계 주로2자리)만 적용한다.
|
||||
- 13시트 모두 visible, 데이터 유효성 규칙 없음, 외부통합문서 링크와 매크로 없음. 이름 정의 3개는 원본 보존하며 계산 수식에서 사용되지 않는다.
|
||||
- 토공 심도는 0~8m 구간만 있다. 8m 초과는 원본 적용 범위 밖이다.
|
||||
- 단일 원형기둥·단일 직사각형기초·균일 말뚝의 곡률 두부보 산식이다. 다기둥/꺾인/비대칭 구조의 수량을 임의 배수로 확장하지 않는다.
|
||||
@@ -0,0 +1,43 @@
|
||||
# 교각 수량산출 대시보드 개선
|
||||
|
||||
## 변경 파일과 역할
|
||||
|
||||
- `workspace.ts`: 기존 연결 API를 유지한 화면 조립, 교각 선택, 저장, 재계산, Excel 출력, 전체 미리보기 전환.
|
||||
- `workspace.css`: 화면 범위를 제한한 3열 배치, 상태/태그/표/반응형 스타일.
|
||||
- `dashboard-types.ts`: 화면 선택 상태와 실제 원본 행 기반 표시 자료.
|
||||
- `input-panel.ts`: 입력 그룹 아코디언, 필수 진행률, 누락 항목 이동, 자동/직접/Excel 기본값 구분.
|
||||
- `results-panel.ts`: 요약 카드, 부재/공종/자재 보기, 검색, 접기, 선택 행과 상태 표시.
|
||||
- `review-panel.ts`: 미니 문서 뷰어, 전체화면, 선택 항목 산식·입력값·대입식·결과.
|
||||
- `excel-preview.ts`: 기존 원본 미리보기의 축소 모드, 페이지 표시, 선택 셀 강조와 이동.
|
||||
|
||||
## 사용 흐름
|
||||
|
||||
교각 선택 → 입력 그룹 확인 및 누락 보완 → 원본 기준 검토 → 재계산 → 중앙 행 선택 → 우측 원본 셀/산식 확인 → Excel 출력.
|
||||
|
||||
자동값은 읽기 전용이며 직접값은 교각별 기존 저장 필드를 사용한다. Excel에서 가져온 시험 횟수·규격은 별도 출처 태그로 구분한다. 진행률의 분모는 실제 계산에 필요한 항목을 기준으로 하며 시안의 예시 숫자를 고정하지 않는다.
|
||||
|
||||
요약은 원본 W60 콘크리트, W67 철근, W50~W56 거푸집, W6~W29 토공을 사용한다. 집계는 같은 단위의 원본 항목만 합산하며 콘크리트와 타설 작업을 중복 합산하지 않는다. 미산정 결과는 0으로 대체하지 않는다.
|
||||
|
||||
## 기존 기능 유지
|
||||
|
||||
이번 UI 변경에서 계산 엔진, 모델 매핑, 원본 분석, Excel 출력 서버/패키지 보존 로직은 변경하지 않았다. 기존 재료표 메뉴, 교각별 직접값 저장, 형상 변경 재계산 상태, 출력 완료 조건을 유지한다. 선택 행은 실제 원본 셀로 연결되며, 원본 산식과 실제 적용식이 다르면 함께 확인할 수 있다.
|
||||
|
||||
## 검증
|
||||
|
||||
- TypeScript 검사 통과.
|
||||
- 수량산출 단위 테스트 10개 통과.
|
||||
- Vite 빌드 통과. 기존 단일 번들 크기 경고는 남아 있다.
|
||||
- 실제 운곡교 샘플: 1920×1080 / 1366×768에서 세 패널이 화면 안에 배치되는지 확인.
|
||||
- 누락 필드 이동, 입력 저장과 교각 전환, 재계산 변경 강조, 53개 원본 행, 검색, 공종/자재 보기 확인.
|
||||
- 행 선택에 따른 산식 상세와 원본 셀 강조 연동, 13시트 전체 미리보기, 전체화면, Excel 다운로드 확인.
|
||||
- 기존 재료표 화면 정상 표시, 브라우저 pageerror 0건.
|
||||
- 근거: `dashboard-verification.json`, 검증 출력: `../outputs/verification/운곡교P1_대시보드검증.xlsx`.
|
||||
|
||||
검증 출력의 누락 현장 조건은 원본 예시값으로 입력한 테스트 조건이며 현장 확정 수량이 아니다. 이번 검증은 Microsoft Excel 앱에서 직접 열기/재계산까지 확인한 결과는 아니다.
|
||||
|
||||
## 시안과 차이 및 기존 한계
|
||||
|
||||
- 시안의 6페이지 예시 대신 실제 원본 13시트를 표시한다. 원본 표지·양식의 색상과 배치는 유지한다.
|
||||
- 원본에 없는 입력변수나 공제조건은 새 계산 조건으로 만들지 않았다. 원본 고정 기준은 검토 영역에서 확인한다.
|
||||
- 작은 미리보기는 원본 전체 폭을 축소하므로 정밀 검토에는 확대 또는 전체화면을 사용한다.
|
||||
- 지원 형상 및 원본 수식 불일치에 대한 기존 검토 제한은 유지한다. 모든 교각 형식의 설계 검증이 완료되었다는 의미는 아니다.
|
||||
@@ -0,0 +1,44 @@
|
||||
# 교각 수량산출 구현 결과
|
||||
|
||||
## 샘플 분석과 입력
|
||||
|
||||
원본은 13시트, 관련변수29개, 상세 P1 수식121개다. 숨김 시트/외부통합문서 연결/매크로/유효성 규칙은 없고, 이름 정의3개는 원본 그대로 보존한다. 상세 항목53개와 공제·중간식·집계를 그대로 재현했다. `ANALYSIS.md`에 변수/원식/참조 위치를, `MAPPING.md`에 항목별 자동·수동 입력 출처를 정리했다.
|
||||
|
||||
최소 입력은 모델에 없는 값만 필요하다. 모델 기본정보, 코핑/기둥/기초/말뚝/받침의 제원과 수는 자동 연결하며 기존 철근재료표에서 미산정이 없으면 할증 전 철근량도 재사용한다. 지하수위·받침 제원 등은 입력에 존재하면 자동 연결한다. 없는 토층 깊이/곡률R/횡경사s/돌출폭a/시험·시설 횟수/확정 규격은 직접 입력한다. Tp는 원본에 있지만 계산에 사용되지 않는 참고변수다. 운곡교 P1에서는 자동20개와 직접18개였다.
|
||||
|
||||
## 데이터 흐름과 구현
|
||||
|
||||
기존 모델 참조 → 원본 변수 매핑 → 부족한 입력 저장 → 원식 파서 → 항목별 계산·참조 추적 → 원본 보존 Excel 출력이다. 3D 체적만으로 수량을 대체하지 않았다. 결과는 계산 중 반올림하지 않고 원본 표시형식만 적용한다.
|
||||
|
||||
5. 재료표에 재료표/교각 수량산출/미리보기 메뉴를 추가했다. 입력·결과·원식 추적, 재계산 상태, Excel 출력이 구현됐다. 직접값은 교각별 `input.quantityTakeoff`에 넣어 기존 프로젝트 저장/복원/백업을 사용한다. 형상 갱신 시 수동값은 유지한다. 기존 재료표와 코어 계산은 변경하지 않았다.
|
||||
|
||||
## Excel 출력
|
||||
|
||||
원본 ZIP 패키지를 복사하고 입력셀/제목/수식 캐시만 수정한다. 활성 P1슬롯의 수식121개는 유지한다. 선택한 실제 교각명으로 바꾸고 비선택 P2~P6는 미사용 빈 페이지로 유지해 예시 수량이 집계에 섞이지 않게 한다. 원본 `_ex)`는 참고 예시로 남긴다. 출력 시 원본의 13시트/병합/열너비/인쇄 설정을 유지하고 Excel 전체 재계산 설정을 켠다.
|
||||
|
||||
실제 모델 연동 검증본은 `outputs/verification/운곡교P1_모델연동.xlsx`, 원본 입력 일치 검증본은 `원본P1_수식검증.xlsx`다. 직접값에는 검증용 원본 예시 조건을 적용했으므로 현장 조건이 확정된 설계 결과로 간주하지 않는다.
|
||||
|
||||
## 검증
|
||||
|
||||
- 원본 계산값 1,214개: 차이0 (상대/절대 허용오차1e-8).
|
||||
- 출력 Excel을 Artifact Tool에서 재계산: 수식셀609개, 차이0.
|
||||
- 활성 수식121개, 13시트 유지. WMF/도형/스타일/테마/인쇄기 설정 등57개 패키지 부품 바이트 동일.
|
||||
- 병합/열너비/인쇄 설정 동일, 출력 캐시 Excel 오류0, 비선택 교각 수량 빈 상태 확인.
|
||||
- 브라우저 실제 샘플 로드/입력/교각 전환/입력 유지/산출/셀 추적/실제 Excel 다운로드/기존 재료표 복귀 확인. 페이지 오류0.
|
||||
- 타입 검사, 프로덕션 빌드, 수량산출 전용6개 테스트 통과. 기존 번들 크기 경고는 남아 있다.
|
||||
- 전체552개 중548개 통과. 기존 실패4개는 axis, bearing-coordinate-frame, integrated-block, validate-and-foundation이며 코어를 수정하지 않았다.
|
||||
- 실제 Microsoft Excel COM 재계산은 호출 거부/대기시간 초과로 완료하지 못했다. 테스트에서 만든 숨김 Excel만 종료했고 기존 사용자 Excel과 원본은 건드리지 않았다. 실제 Excel 재계산 성공으로 보고하지 않는다.
|
||||
|
||||
## 원본 불일치 및 남은 범위
|
||||
|
||||
W51의 Hcol 설명/실제 식, W50 계수, W63 표시두께/계산두께는 원본부터 서로 다르다. 프로그램은 실제 셀 수식을 임의 수정하지 않고 적용 확인을 요구한다. 현재 직선/단차 코핑과 원본 곡률 코핑식의 차이, 고정 버림/몰탈/여유 조건도 검토해야 한다.
|
||||
|
||||
다기둥/꺾인 교각/일체 교좌면/PHC 시공/비균일 말뚝/8m초과 토공은 원본 규칙이 없어 완료 출력을 제한한다. 해당 형식을 임의 배수로 확장하지 않는다. 총괄 수량은 행·단위별 합산 엔진만 준비했고 별도 UI/Excel은 후속 범위다. 미리보기는 원본 병합/서식/행·열 크기의 셀 양식이며 집계/변수/상세 시트를 전환할 수 있다. 원본 인쇄영역 밖 도형은 Excel에서 확인한다.
|
||||
|
||||
## 수정 파일
|
||||
|
||||
신규 기능은 수량산출 폴더의 `template-data.ts`, `formula.ts`, `schema.ts`, `model.ts`, `workspace.ts/css`, `export.ts`, `server.ts`, 도구·테스트로 분리했다. 외부 변경은 `src/main.ts`의 기존 상태/재료표 결과 연결과 `vite.config.ts`의 로컬 API 등록만 수행했다. 원본 수량산출서는 보존했다.
|
||||
|
||||
미리보기 후속 개선: 표지를 기본 시작으로 원본13시트 전체 보기, 개별 선택, 이전/다음 이동, 원본 산출기준 설명 그림 표시를 구현·브라우저 검증했다. 표지의 실제 프로젝트/교량/교각명을 확인했고 P2~P6는 미사용으로 표시한다.
|
||||
|
||||
최신 입력 정책: 사용자 지정으로 시험·시설·재료 규격은 원본 기본값 적용. s/a는 모델에서 판단하며 직선 R은 해당 없음 처리. 원본 곡률식 W50/W58의 수학적 직선 극한을 적용하므로 현재 출력은119개 원식 유지+2개 직선식이며 원본 파일은 그대로다. 모델 제원 없는 받침 A/B/T는 추정하지 않는다. 원본 값 비교 검증과 별도로 직선 극한 검증, 기본값 적용·사용자값 보존·제원 있는 모델의 직접입력4개 검증을 추가했다.
|
||||
@@ -0,0 +1,91 @@
|
||||
# 변수 자동/수동 매핑 (운곡교 P1 현재 모델 기준)
|
||||
|
||||
|변수|기호|단위|원본 입력셀|자동 추출 가능 여부|출처|
|
||||
|---|---|---|---|---|---|
|
||||
|받침 EL|Zb|m|3.2 관련변수!N18|자동|model.copingRefTop (원본 Zb 의미 검토)|
|
||||
|지반고 EL|Zs|m|3.2 관련변수!N19|자동|input.groundEl|
|
||||
|지하수위 WL|Zw|m|3.2 관련변수!N20|직접 입력/검토|input.groundWaterEl / 지하수 미지정은 직접 확인|
|
||||
|토사 깊이|H1|m|3.2 관련변수!N21|직접 입력/검토|3.2 관련변수!N21 · 모델에 없는 조건|
|
||||
|풍화암 깊이|H2|m|3.2 관련변수!N22|직접 입력/검토|3.2 관련변수!N22 · 모델에 없는 조건|
|
||||
|연암 깊이|H3|m|3.2 관련변수!N23|직접 입력/검토|3.2 관련변수!N23 · 모델에 없는 조건|
|
||||
|두부보 길이|Lc|m|3.2 관련변수!N24|자동|model.copingL|
|
||||
|두부보 폭|Bc|m|3.2 관련변수!N25|자동|model.copingB|
|
||||
|두부보 하부높이|H1|m|3.2 관련변수!N26|자동|model.h2 · 하부 테이퍼 높이|
|
||||
|두부보 상부높이|H2|m|3.2 관련변수!N27|자동|model.h1 · 상부 높이|
|
||||
|횡경사(%)|s|%|3.2 관련변수!N28|자동|모델 양단 상면 높이차/Lc ×100 · 단차 포함 등가경사|
|
||||
|두부보 돌출부 폭|a|m|3.2 관련변수!N29|자동|현재 코핑 모델은 수직 끝단 · 별도 돌출부 없음|
|
||||
|두부보 변화부 곡률|R|m|3.2 관련변수!N30|자동|직선 모델: 곡률 없음 · 원본 곡률항의 직선 극한 사용|
|
||||
|기둥 직경|Dc|m|3.2 관련변수!N31|자동|model.columns[].diameter|
|
||||
|저판 저면 EL|Zf|m|3.2 관련변수!N32|자동|model.footings[0].bottom|
|
||||
|저판 길이|Lf|m|3.2 관련변수!N33|자동|model.footings[0].length|
|
||||
|저판 폭|Bf|m|3.2 관련변수!N34|자동|model.footings[0].width|
|
||||
|저판 높이|Hf|m|3.2 관련변수!N35|자동|기초 상면-하면|
|
||||
|말뚝 직경|Dp|m|3.2 관련변수!N36|자동|model.piles[].diameter|
|
||||
|말뚝 두께|Tp|m|3.2 관련변수!N37|자동|입력 말뚝두께 mm→m|
|
||||
|말뚝 길이|Lp|m|3.2 관련변수!N38|자동|말뚝 상면-하면|
|
||||
|말뚝 수|Np|개|3.2 관련변수!N39|자동|model.piles.length|
|
||||
|받침 길이|Lb|m|3.2 관련변수!N40|직접 입력/검토|받침 plan.A mm→m|
|
||||
|받침 폭|Bb|m|3.2 관련변수!N41|직접 입력/검토|받침 plan.B mm→m|
|
||||
|받침 수|Nb|개|3.2 관련변수!N42|자동|model.blocks.length|
|
||||
|받침 블럭 길이|Lbc|m|3.2 관련변수!N43|자동|모델 분리블럭 크기|
|
||||
|받침 블럭 폭|Bbc|m|3.2 관련변수!N44|자동|모델 분리블럭 크기|
|
||||
|받침 블럭 높이|Hbc|m|3.2 관련변수!N45|자동|동일 평면 블럭 높이 합/Nb (원식의 등가 높이)|
|
||||
|솔플레이트 두께|Ts|m|3.2 관련변수!N46|직접 입력/검토|실제 솔플레이트 plan.T 또는 입력 공통 T mm→m|
|
||||
|
||||
## 수량 항목별 필요한 변수와 추적 위치
|
||||
|
||||
|수량 항목|필요 입력변수|계산식 참조 위치|자동/수동|
|
||||
|---|---|---|---|
|
||||
|구조물터파기 / 육상토사 / 0-2m|지반고 EL(Zs), 지하수위 WL(Zw), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W6 · 원식은 ANALYSIS.md|자동 3 / 직접 4|
|
||||
|구조물터파기 / 육상토사 / 2-4m|지반고 EL(Zs), 지하수위 WL(Zw), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W7 · 원식은 ANALYSIS.md|자동 3 / 직접 4|
|
||||
|구조물터파기 / 육상토사 / 4-6m|지반고 EL(Zs), 지하수위 WL(Zw), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W8 · 원식은 ANALYSIS.md|자동 3 / 직접 4|
|
||||
|구조물터파기 / 육상토사 / 6-8m|지반고 EL(Zs), 지하수위 WL(Zw), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W9 · 원식은 ANALYSIS.md|자동 3 / 직접 4|
|
||||
|구조물터파기 / 용수토사 / 0-2m|지반고 EL(Zs), 지하수위 WL(Zw), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W10 · 원식은 ANALYSIS.md|자동 3 / 직접 4|
|
||||
|구조물터파기 / 용수토사 / 2-4m|지반고 EL(Zs), 지하수위 WL(Zw), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W11 · 원식은 ANALYSIS.md|자동 3 / 직접 4|
|
||||
|구조물터파기 / 용수토사 / 4-6m|지반고 EL(Zs), 지하수위 WL(Zw), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W12 · 원식은 ANALYSIS.md|자동 3 / 직접 4|
|
||||
|구조물터파기 / 용수토사 / 6-8m|지반고 EL(Zs), 지하수위 WL(Zw), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W13 · 원식은 ANALYSIS.md|자동 3 / 직접 4|
|
||||
|구조물터파기 / 육상풍화암 / 0-2m|지반고 EL(Zs), 지하수위 WL(Zw), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W14 · 원식은 ANALYSIS.md|자동 3 / 직접 4|
|
||||
|구조물터파기 / 육상풍화암 / 2-4m|지반고 EL(Zs), 지하수위 WL(Zw), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W15 · 원식은 ANALYSIS.md|자동 3 / 직접 4|
|
||||
|구조물터파기 / 육상풍화암 / 4-6m|지반고 EL(Zs), 지하수위 WL(Zw), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W16 · 원식은 ANALYSIS.md|자동 3 / 직접 4|
|
||||
|구조물터파기 / 육상풍화암 / 6-8m|지반고 EL(Zs), 지하수위 WL(Zw), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W17 · 원식은 ANALYSIS.md|자동 3 / 직접 4|
|
||||
|구조물터파기 / 용수풍화암 / 0-2m|지반고 EL(Zs), 지하수위 WL(Zw), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W18 · 원식은 ANALYSIS.md|자동 3 / 직접 4|
|
||||
|구조물터파기 / 용수풍화암 / 2-4m|지반고 EL(Zs), 지하수위 WL(Zw), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W19 · 원식은 ANALYSIS.md|자동 3 / 직접 4|
|
||||
|구조물터파기 / 용수풍화암 / 4-6m|지반고 EL(Zs), 지하수위 WL(Zw), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W20 · 원식은 ANALYSIS.md|자동 3 / 직접 4|
|
||||
|구조물터파기 / 용수풍화암 / 6-8m|지반고 EL(Zs), 지하수위 WL(Zw), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W21 · 원식은 ANALYSIS.md|자동 3 / 직접 4|
|
||||
|구조물터파기 / 육상연암 / 0-2m|지반고 EL(Zs), 지하수위 WL(Zw), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W22 · 원식은 ANALYSIS.md|자동 3 / 직접 4|
|
||||
|구조물터파기 / 육상연암 / 2-4m|지반고 EL(Zs), 지하수위 WL(Zw), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W23 · 원식은 ANALYSIS.md|자동 3 / 직접 4|
|
||||
|구조물터파기 / 육상연암 / 4-6m|지반고 EL(Zs), 지하수위 WL(Zw), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W24 · 원식은 ANALYSIS.md|자동 3 / 직접 4|
|
||||
|구조물터파기 / 육상연암 / 6-8m|지반고 EL(Zs), 지하수위 WL(Zw), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W25 · 원식은 ANALYSIS.md|자동 3 / 직접 4|
|
||||
|구조물터파기 / 용수연암 / 0-2m|지반고 EL(Zs), 지하수위 WL(Zw), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W26 · 원식은 ANALYSIS.md|자동 3 / 직접 4|
|
||||
|구조물터파기 / 용수연암 / 2-4m|지반고 EL(Zs), 지하수위 WL(Zw), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W27 · 원식은 ANALYSIS.md|자동 3 / 직접 4|
|
||||
|구조물터파기 / 용수연암 / 4-6m|지반고 EL(Zs), 지하수위 WL(Zw), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W28 · 원식은 ANALYSIS.md|자동 3 / 직접 4|
|
||||
|구조물터파기 / 용수연암 / 6-8m|지반고 EL(Zs), 지하수위 WL(Zw), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W29 · 원식은 ANALYSIS.md|자동 3 / 직접 4|
|
||||
|잔토|지반고 EL(Zs), 기둥 직경(Dc), 저판 저면 EL(Zf), 저판 길이(Lf), 저판 폭(Bf), 저판 높이(Hf)|3.3 수량산출_P1!W30 · 원식은 ANALYSIS.md|자동 6 / 직접 0|
|
||||
|되메우기 / 토사, 다짐 / 토사, 다짐|지반고 EL(Zs), 토사 깊이(H1), 풍화암 깊이(H2), 연암 깊이(H3), 기둥 직경(Dc), 저판 저면 EL(Zf), 저판 길이(Lf), 저판 폭(Bf), 저판 높이(Hf)|3.3 수량산출_P1!W31 · 원식은 ANALYSIS.md|자동 6 / 직접 3|
|
||||
|거푸집 / 강재 거푸집 / 코핑부|두부보 길이(Lc), 두부보 폭(Bc), 두부보 하부높이(H1), 두부보 상부높이(H2), 횡경사(%)(s), 두부보 돌출부 폭(a), 기둥 직경(Dc)|3.3 수량산출_P1!W50 · 원식은 ANALYSIS.md|자동 7 / 직접 0|
|
||||
|거푸집 / 강재 거푸집 / 기둥부|받침 EL(Zb), 지반고 EL(Zs), 두부보 하부높이(H1), 두부보 상부높이(H2), 기둥 직경(Dc), 저판 저면 EL(Zf)|3.3 수량산출_P1!W51 · 원식은 ANALYSIS.md|자동 6 / 직접 0|
|
||||
|거푸집 / 합판3회 / 받침블럭|받침 수(Nb), 받침 블럭 길이(Lbc), 받침 블럭 폭(Bbc), 받침 블럭 높이(Hbc)|3.3 수량산출_P1!W52 · 원식은 ANALYSIS.md|자동 4 / 직접 0|
|
||||
|거푸집 / 합판6회 / 버림콘크리트|저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W53 · 원식은 ANALYSIS.md|자동 2 / 직접 0|
|
||||
|거푸집 / 유로폼 (복잡) / 0~7m|저판 길이(Lf), 저판 폭(Bf), 저판 높이(Hf)|3.3 수량산출_P1!W54 · 원식은 ANALYSIS.md|자동 3 / 직접 0|
|
||||
|거푸집 / 유로폼 (복잡) / 7~10m||3.3 수량산출_P1!W55 · 원식은 ANALYSIS.md|자동 0 / 직접 0|
|
||||
|거푸집 / 유로폼 (복잡) / 10~13m||3.3 수량산출_P1!W56 · 원식은 ANALYSIS.md|자동 0 / 직접 0|
|
||||
|콘크리트 / 저판 (25-27-15) / 저판 (25-27-15)|저판 길이(Lf), 저판 폭(Bf), 저판 높이(Hf)|3.3 수량산출_P1!W57 · 원식은 ANALYSIS.md|자동 3 / 직접 0|
|
||||
|콘크리트 / 본체 (25-40-15) / 본체 (25-40-15)|받침 EL(Zb), 지반고 EL(Zs), 두부보 길이(Lc), 두부보 폭(Bc), 두부보 하부높이(H1), 두부보 상부높이(H2), 횡경사(%)(s), 두부보 돌출부 폭(a), 기둥 직경(Dc), 저판 저면 EL(Zf), 받침 수(Nb), 받침 블럭 길이(Lbc), 받침 블럭 폭(Bbc), 받침 블럭 높이(Hbc)|3.3 수량산출_P1!W58 · 원식은 ANALYSIS.md|자동 14 / 직접 0|
|
||||
|콘크리트 / 버림콘크리트(40-15-8) / 버림콘크리트(40-15-8)|저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W59 · 원식은 ANALYSIS.md|자동 2 / 직접 0|
|
||||
|콘크리트 타설 / 펌프카타설 / 0~15(육상)|받침 EL(Zb), 지반고 EL(Zs), 두부보 길이(Lc), 두부보 폭(Bc), 두부보 하부높이(H1), 두부보 상부높이(H2), 횡경사(%)(s), 두부보 돌출부 폭(a), 기둥 직경(Dc), 저판 저면 EL(Zf), 저판 길이(Lf), 저판 폭(Bf), 저판 높이(Hf), 받침 수(Nb), 받침 블럭 길이(Lbc), 받침 블럭 폭(Bbc), 받침 블럭 높이(Hbc)|3.3 수량산출_P1!W60 · 원식은 ANALYSIS.md|자동 17 / 직접 0|
|
||||
|가설계단 / 워킹타워 / 워킹타워|받침 EL(Zb), 지반고 EL(Zs)|3.3 수량산출_P1!W61 · 원식은 ANALYSIS.md|자동 2 / 직접 0|
|
||||
|교량받침(2800kN) / 양방향 H=166 / 양방향 H=166|받침 수(Nb)|3.3 수량산출_P1!W62 · 원식은 ANALYSIS.md|자동 1 / 직접 0|
|
||||
|무수축몰탈 / T=300mm / T=300mm|받침 길이(Lb), 받침 폭(Bb), 받침 수(Nb)|3.3 수량산출_P1!W63 · 원식은 ANALYSIS.md|자동 1 / 직접 2|
|
||||
|솔플레이트|받침 길이(Lb), 받침 폭(Bb), 받침 수(Nb), 솔플레이트 두께(Ts)|3.3 수량산출_P1!W64 · 원식은 ANALYSIS.md|자동 1 / 직접 3|
|
||||
|스페이서 / 슬래브 및 기초용 / 슬래브 및 기초용|저판 길이(Lf), 저판 폭(Bf), 저판 높이(Hf)|3.3 수량산출_P1!W65 · 원식은 ANALYSIS.md|자동 3 / 직접 0|
|
||||
|스페이서 / 벽체용 / 벽체용|받침 EL(Zb), 지반고 EL(Zs), 두부보 길이(Lc), 두부보 폭(Bc), 두부보 하부높이(H1), 두부보 상부높이(H2), 횡경사(%)(s), 두부보 돌출부 폭(a), 기둥 직경(Dc), 저판 저면 EL(Zf)|3.3 수량산출_P1!W66 · 원식은 ANALYSIS.md|자동 10 / 직접 0|
|
||||
|철근가공조립 / 매우복잡 / 매우복잡||3.3 수량산출_P1!W67 · 원식은 ANALYSIS.md|자동 0 / 직접 0|
|
||||
|복합말뚝 / E.O.I.D / E.O.I.D||3.3 수량산출_P1!W68 · 원식은 ANALYSIS.md|자동 0 / 직접 0|
|
||||
|복합말뚝 / Restrike / Restrike||3.3 수량산출_P1!W69 · 원식은 ANALYSIS.md|자동 0 / 직접 0|
|
||||
|복합말뚝 / 자재비(직항) / 자재비(직항)|말뚝 수(Np)|3.3 수량산출_P1!W70 · 원식은 ANALYSIS.md|자동 1 / 직접 0|
|
||||
|복합말뚝 / 천공비 / 천공비|말뚝 길이(Lp), 말뚝 수(Np)|3.3 수량산출_P1!W71 · 원식은 ANALYSIS.md|자동 2 / 직접 0|
|
||||
|복합말뚝 / 주면고정액 / 주면고정액|말뚝 직경(Dp), 말뚝 길이(Lp), 말뚝 수(Np)|3.3 수량산출_P1!W72 · 원식은 ANALYSIS.md|자동 3 / 직접 0|
|
||||
|복합말뚝 / 두부보강 / 두부보강|말뚝 수(Np)|3.3 수량산출_P1!W73 · 원식은 ANALYSIS.md|자동 1 / 직접 0|
|
||||
|점검시설||3.3 수량산출_P1!W74 · 원식은 ANALYSIS.md|자동 0 / 직접 0|
|
||||
|콘크리트 양생|두부보 길이(Lc), 두부보 폭(Bc), 저판 길이(Lf), 저판 폭(Bf)|3.3 수량산출_P1!W75 · 원식은 ANALYSIS.md|자동 4 / 직접 0|
|
||||
|비파괴검사 / M.T / M.T|말뚝 직경(Dp), 말뚝 수(Np)|3.3 수량산출_P1!W76 · 원식은 ANALYSIS.md|자동 2 / 직접 0|
|
||||
@@ -0,0 +1,16 @@
|
||||
# PDF 삽도 및 프로젝트 PLAN 연결
|
||||
|
||||
- 원본 `교각수량산출.pdf` 23페이지 중 3.1에 해당하는 4~8페이지를 Poppler 180dpi PNG로 그대로 렌더했다. 토공 4~5, 구조체 현황 6, 구조체 7~8페이지를 해당 시트 미리보기에 배치한다. 행·열 머리글이 없는 원본 인쇄 형태이며 그림·설명·원본 수식을 그대로 표시한다.
|
||||
- 3.2의 고정 샘플 교량 삽도는 더 이상 사용하지 않는다. 도면작성의 `keyplanEntities`, `drawingSvg`를 가져와 현재 생성된 프로젝트 모델의 교각 배치와 번호, 북쪽 방향을 표시한다. 연결선은 실제 교각 중심을 잇는 선이며 도로 선형을 임의로 만드는 것은 아니다.
|
||||
- 새 `plan-preview.ts`가 미리보기와 Excel 출력에 같은 PLAN을 제공한다. 교각 선택/형상 갱신 시 현재 모델을 사용한다. 자동값·직접값과 변수표 계산은 유지한다.
|
||||
- Excel 출력 시 3.2의 화면 안 샘플 삽도에 연결된 이미지 관계만 새 PLAN PNG로 교체한다. 원본 Excel은 덮어쓰지 않고 3.1의 원래 Excel 도형과 수식은 유지한다.
|
||||
- 변경: `excel-preview.ts/css`, `plan-preview.ts`, `review-panel.ts`, `workspace.ts`, `export.ts`, `tools/preserve_template.py`, `assets/reference-pdf-04~08.png`.
|
||||
|
||||
## 검증
|
||||
|
||||
- TypeScript 검사, 수량산출 테스트 10개, Vite 빌드 통과.
|
||||
- 실제 운곡교 샘플에서 PDF 이미지 5개, 고정 샘플 삽도 미사용, 생성 PLAN의 P1~P6 표시 확인.
|
||||
- 1920×1080, 1366×768, 입력 저장·재계산·산식 연결·기존 재료표·Excel 다운로드 회귀 검증 통과. 브라우저 오류 0건.
|
||||
- 출력 ZIP 내 `xl/media/quantity-project-plan.png`와 3.2 이미지 관계 정상 확인.
|
||||
- 원본 Excel SHA256은 `1c5d935a134523a5dc3a292cfc01bf4190b9bc538313322b33add6926e21c90f`로 변경 없음.
|
||||
- 검증 출력은 `outputs/verification/운곡교P1_PDF삽도_PLAN검증.xlsx`. 입력 현장 조건은 원본 예시를 적용한 검증용이며 확정 설계 수량이 아니다. 실제 Excel 앱 재계산 검증까지 수행했다는 의미는 아니다.
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"checked": 584,
|
||||
"differences": [],
|
||||
"engine": "Artifact Tool recalculation of generated model workbook"
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"automaticFields": 23,
|
||||
"manualFields": 15,
|
||||
"rows": 53,
|
||||
"projectSwitchPreservesInput": true,
|
||||
"excelDownloaded": true,
|
||||
"legacyMaterials": true,
|
||||
"errors": []
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"threeColumns": true,
|
||||
"viewports": [
|
||||
1920,
|
||||
1366
|
||||
],
|
||||
"sourceRows": 53,
|
||||
"missingFieldNavigation": true,
|
||||
"accordionInputs": true,
|
||||
"search": true,
|
||||
"workAndMaterialViews": true,
|
||||
"selectionPreviewFormulaSynchronized": true,
|
||||
"inputPersistence": true,
|
||||
"recalculationHighlights": true,
|
||||
"all13SheetPreview": true,
|
||||
"download": true,
|
||||
"legacyMaterials": true,
|
||||
"errors": []
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"compared": 1214,
|
||||
"differences": 0,
|
||||
"tolerance": "1e-8 relative / absolute",
|
||||
"engines": "TypeScript evaluator vs original Excel cached values",
|
||||
"allSourceFormulasUnmodified": true
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"total": 552,
|
||||
"passed": 548,
|
||||
"failed": 4,
|
||||
"existing_failed_files": [
|
||||
"axis.test.ts",
|
||||
"bearing-coordinate-frame.test.ts",
|
||||
"integrated-block.test.ts",
|
||||
"validate-and-foundation.test.ts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"status": "not_verified",
|
||||
"engine": "Microsoft Excel COM",
|
||||
"attempts": 3,
|
||||
"reason": "E_ACCESSDENIED in sandbox; isolated retries received RPC_E_CALL_REJECTED/timeouts",
|
||||
"existing_user_workbooks_modified": false,
|
||||
"test_created_excel_processes_closed": true,
|
||||
"alternative_verification": "Artifact Tool recalc 609 formula cells, 0 differences; 1214 source cached results matched"
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"sheets": 13,
|
||||
"protected_parts_byte_identical": 57,
|
||||
"active_pier_formulas_total": 121,
|
||||
"active_pier_formulas_unchanged": 119,
|
||||
"straight_limit_formulas": [
|
||||
"W50",
|
||||
"W58"
|
||||
],
|
||||
"merges_print_settings_column_widths_preserved": true,
|
||||
"cached_excel_errors": [],
|
||||
"unused_pier_quantities_blank": true,
|
||||
"template_sha256": "1c5d935a134523a5dc3a292cfc01bf4190b9bc538313322b33add6926e21c90f",
|
||||
"model_linked_values": {
|
||||
"N18": 43.411,
|
||||
"N19": 28.931,
|
||||
"N24": 12.5,
|
||||
"N25": 3.5,
|
||||
"N31": 2,
|
||||
"N32": 26.208,
|
||||
"N33": 10.4,
|
||||
"N34": 8.15,
|
||||
"N35": 2,
|
||||
"N36": 0.6096,
|
||||
"N38": 24.4,
|
||||
"N39": 20,
|
||||
"N42": 10
|
||||
},
|
||||
"native_excel_recalculation": "not_verified: Excel COM rejected calls after initialization; artifact recalculation and original cached-result comparison used"
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"threeColumns": true,
|
||||
"viewports": [
|
||||
1920,
|
||||
1366
|
||||
],
|
||||
"sourceRows": 53,
|
||||
"missingFieldNavigation": true,
|
||||
"accordionInputs": true,
|
||||
"search": true,
|
||||
"workAndMaterialViews": true,
|
||||
"selectionPreviewFormulaSynchronized": true,
|
||||
"inputPersistence": true,
|
||||
"recalculationHighlights": true,
|
||||
"all13SheetPreview": true,
|
||||
"download": true,
|
||||
"legacyMaterials": true,
|
||||
"errors": []
|
||||
}
|
||||
@@ -0,0 +1,179 @@
|
||||
{
|
||||
"sha256": "1c5d935a134523a5dc3a292cfc01bf4190b9bc538313322b33add6926e21c90f",
|
||||
"sheets": [
|
||||
{
|
||||
"name": "표지및목차",
|
||||
"state": "visible",
|
||||
"rows": 43,
|
||||
"cols": 46,
|
||||
"formulas": 0,
|
||||
"merged": 5,
|
||||
"print_area": "'표지및목차'!$A$1:$AH$43",
|
||||
"hidden_rows": [],
|
||||
"hidden_columns": []
|
||||
},
|
||||
{
|
||||
"name": "1. 수량집계",
|
||||
"state": "visible",
|
||||
"rows": 76,
|
||||
"cols": 31,
|
||||
"formulas": 371,
|
||||
"merged": 477,
|
||||
"print_area": "'1. 수량집계'!$A$2:$AE$86",
|
||||
"hidden_rows": [],
|
||||
"hidden_columns": []
|
||||
},
|
||||
{
|
||||
"name": "3.1 수량산출기준_토공",
|
||||
"state": "visible",
|
||||
"rows": 84,
|
||||
"cols": 59,
|
||||
"formulas": 0,
|
||||
"merged": 102,
|
||||
"print_area": "'3.1 수량산출기준_토공'!$A$2:$AA$95",
|
||||
"hidden_rows": [
|
||||
62,
|
||||
63,
|
||||
64,
|
||||
65,
|
||||
66,
|
||||
67,
|
||||
68,
|
||||
69,
|
||||
70,
|
||||
71,
|
||||
72,
|
||||
73,
|
||||
74,
|
||||
75,
|
||||
76,
|
||||
77,
|
||||
78,
|
||||
79,
|
||||
80,
|
||||
81,
|
||||
82,
|
||||
83,
|
||||
84
|
||||
],
|
||||
"hidden_columns": []
|
||||
},
|
||||
{
|
||||
"name": "3.1 수량산출기준_구조체 현황",
|
||||
"state": "visible",
|
||||
"rows": 160,
|
||||
"cols": 61,
|
||||
"formulas": 0,
|
||||
"merged": 30,
|
||||
"print_area": "'3.1 수량산출기준_구조체 현황'!$A$2:$AC$51",
|
||||
"hidden_rows": [],
|
||||
"hidden_columns": []
|
||||
},
|
||||
{
|
||||
"name": "3.1 수량산출기준_구조체",
|
||||
"state": "visible",
|
||||
"rows": 160,
|
||||
"cols": 58,
|
||||
"formulas": 0,
|
||||
"merged": 30,
|
||||
"print_area": "'3.1 수량산출기준_구조체'!$A$2:$AC$102",
|
||||
"hidden_rows": [],
|
||||
"hidden_columns": []
|
||||
},
|
||||
{
|
||||
"name": "3.2 관련변수",
|
||||
"state": "visible",
|
||||
"rows": 66,
|
||||
"cols": 45,
|
||||
"formulas": 0,
|
||||
"merged": 251,
|
||||
"print_area": "'3.2 관련변수'!$A$2:$AA$46",
|
||||
"hidden_rows": [],
|
||||
"hidden_columns": []
|
||||
},
|
||||
{
|
||||
"name": "3.3 수량산출_ex)",
|
||||
"state": "visible",
|
||||
"rows": 79,
|
||||
"cols": 60,
|
||||
"formulas": 117,
|
||||
"merged": 276,
|
||||
"print_area": "'3.3 수량산출_ex)'!$A$2:$AE$92",
|
||||
"hidden_rows": [],
|
||||
"hidden_columns": []
|
||||
},
|
||||
{
|
||||
"name": "3.3 수량산출_P1",
|
||||
"state": "visible",
|
||||
"rows": 79,
|
||||
"cols": 60,
|
||||
"formulas": 121,
|
||||
"merged": 276,
|
||||
"print_area": "'3.3 수량산출_P1'!$A$2:$AE$92",
|
||||
"hidden_rows": [],
|
||||
"hidden_columns": []
|
||||
},
|
||||
{
|
||||
"name": "3.3 수량산출_P2",
|
||||
"state": "visible",
|
||||
"rows": 79,
|
||||
"cols": 60,
|
||||
"formulas": 121,
|
||||
"merged": 276,
|
||||
"print_area": "'3.3 수량산출_P2'!$A$2:$AE$92",
|
||||
"hidden_rows": [],
|
||||
"hidden_columns": []
|
||||
},
|
||||
{
|
||||
"name": "3.3 수량산출_P3",
|
||||
"state": "visible",
|
||||
"rows": 79,
|
||||
"cols": 60,
|
||||
"formulas": 121,
|
||||
"merged": 276,
|
||||
"print_area": "'3.3 수량산출_P3'!$A$2:$AE$92",
|
||||
"hidden_rows": [],
|
||||
"hidden_columns": []
|
||||
},
|
||||
{
|
||||
"name": "3.3 수량산출_P4",
|
||||
"state": "visible",
|
||||
"rows": 79,
|
||||
"cols": 60,
|
||||
"formulas": 121,
|
||||
"merged": 276,
|
||||
"print_area": "'3.3 수량산출_P4'!$A$2:$AE$92",
|
||||
"hidden_rows": [],
|
||||
"hidden_columns": []
|
||||
},
|
||||
{
|
||||
"name": "3.3 수량산출_P5",
|
||||
"state": "visible",
|
||||
"rows": 79,
|
||||
"cols": 60,
|
||||
"formulas": 121,
|
||||
"merged": 276,
|
||||
"print_area": "'3.3 수량산출_P5'!$A$2:$AE$92",
|
||||
"hidden_rows": [],
|
||||
"hidden_columns": []
|
||||
},
|
||||
{
|
||||
"name": "3.3 수량산출_P6",
|
||||
"state": "visible",
|
||||
"rows": 79,
|
||||
"cols": 60,
|
||||
"formulas": 121,
|
||||
"merged": 276,
|
||||
"print_area": "'3.3 수량산출_P6'!$A$2:$AE$92",
|
||||
"hidden_rows": [],
|
||||
"hidden_columns": []
|
||||
}
|
||||
],
|
||||
"names": {
|
||||
"asd": "{\"'공사부문'!$A$6:$A$32\"}",
|
||||
"XXXXXX": "{\"'공사부문'!$A$6:$A$32\"}",
|
||||
"ㅁㄴㅇ": "{\"'공사부문'!$A$6:$A$32\"}"
|
||||
},
|
||||
"external_links": 0,
|
||||
"macros": false
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user