feat(534-5): E05 안정성평가 보고서 다듬기 — 목차(쪽 = 실제 PDF 쪽) · 머리말 사업명 · 꼬리말 n / N(표지 뺌) · 측점표 = 판정 일람표(대책 필요 열 · 쪽마다 고르게 나눔) · 대표 단면 그림(안전율 상자 · 지층 무늬 범례 · 성토 점 · 축척 막대 · 해석에 쓴 넓힌 지반선 · 흑백 선 모양 · 높이 = 엔진 값) · 부록 절편 계산표(대표 단면마다 지배 조건 한 쪽) · 「사용자 확정 전」 표기 한 규칙(기준 안전율 · 노면 하중 · 우기 지하수 갈래 · 물성 · 광역 기본값 줄) · 표지 꾸밈 · 옛 작업본 갱신 = 목차 자리 · 서식 붙임 · Build 나눔(Cells · Section · Print) · 공용 PDF 엔진에 머리말 · 꼬리말 칸 덧붙임(기본 동작 그대로)(요구 347-5 · 351)

시험 고침: 534-3 양식 시험의 시트 목록 · 쪽 수 기대(목차 · 부록 더함) · E05 시험 시트 수 7 → 9 · PDF = report_pdf(목차 쪽 번호 = 실제 · 꼬리말 · 머리말) · 부록 절편 · 측점표 쪽 나눔 · 옛 작업본 갱신 시험 덧.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-26 00:54:07 +09:00
co-authored by Claude Opus 5.5
parent 54bc1e369e
commit 35f40d2083
14 changed files with 1622 additions and 402 deletions
+520 -30
View File
@@ -293,6 +293,156 @@
"선": "thin"
}
}
},
{
"크기": 8,
"굵게": true,
"채움": "#DDEBF7",
"가로": "center",
"세로": "center",
"줄바꿈": true,
"테두리": {
"위": {
"선": "thin"
},
"아래": {
"선": "thin"
},
"왼": {
"선": "thin"
},
"오른": {
"선": "thin"
}
}
},
{
"크기": 8,
"가로": "center",
"세로": "center",
"형식": "0.00",
"테두리": {
"위": {
"선": "thin"
},
"아래": {
"선": "thin"
},
"왼": {
"선": "thin"
},
"오른": {
"선": "thin"
}
}
},
{
"크기": 8,
"가로": "center",
"세로": "center",
"형식": "0.0",
"테두리": {
"위": {
"선": "thin"
},
"아래": {
"선": "thin"
},
"왼": {
"선": "thin"
},
"오른": {
"선": "thin"
}
}
},
{
"크기": 8,
"가로": "center",
"세로": "center",
"형식": "0",
"테두리": {
"위": {
"선": "thin"
},
"아래": {
"선": "thin"
},
"왼": {
"선": "thin"
},
"오른": {
"선": "thin"
}
}
},
{
"크기": 11,
"가로": "left",
"세로": "center",
"테두리": {
"아래": {
"선": "hair"
}
}
},
{
"크기": 11,
"가로": "right",
"세로": "center",
"형식": "0",
"테두리": {
"아래": {
"선": "hair"
}
}
},
{
"크기": 11,
"굵게": true,
"가로": "left",
"세로": "center",
"테두리": {
"아래": {
"선": "hair"
}
}
},
{
"크기": 8,
"굵게": true,
"채움": "#F2F2F2",
"가로": "center",
"세로": "center",
"형식": "0.00",
"테두리": {
"위": {
"선": "thin"
},
"아래": {
"선": "thin"
},
"왼": {
"선": "thin"
},
"오른": {
"선": "thin"
}
}
},
{
"크기": 22,
"굵게": true,
"가로": "center",
"세로": "center",
"테두리": {
"위": {
"선": "thick"
},
"아래": {
"선": "thick"
}
}
}
],
"시트": [
@@ -302,7 +452,7 @@
"칸": {
"B4": {
"값": "비탈면 안정성 검토 보고서",
"서식": 1
"서식": 26
},
"C4": {
"서식": 1
@@ -416,6 +566,10 @@
},
"E15": {
"서식": 2
},
"B18": {
"값": "검토 기준 — 건설공사 비탈면 설계기준(KDS 11 70 05) · 한계평형해석(Bishop 간편법)",
"서식": 2
}
},
"병합": [
@@ -427,7 +581,8 @@
"C11:E11",
"C12:E12",
"B14:E14",
"B15:E15"
"B15:E15",
"B18:E18"
],
"열": {
"A": {
@@ -451,7 +606,7 @@
},
"행": {
"4": {
"높이": 60
"높이": 72
},
"5": {
"높이": 24
@@ -476,6 +631,9 @@
},
"12": {
"높이": 30
},
"18": {
"높이": 24
}
},
"보기": {
@@ -496,6 +654,82 @@
}
}
},
{
"id": "s9",
"이름": "목차",
"칸": {
"A1": {
"값": "목 차",
"서식": 1
},
"A3": {
"값": "장",
"서식": 6
},
"B3": {
"값": "내용",
"서식": 6
},
"C3": {
"값": "쪽",
"서식": 6
},
"A4": {
"서식": 24
},
"B4": {
"서식": 22
},
"C4": {
"서식": 23
}
},
"병합": [
"A1:C1"
],
"열": {
"A": {
"폭": 10
},
"B": {
"폭": 64
},
"C": {
"폭": 10
}
},
"행": {
"1": {
"높이": 48
},
"2": {
"높이": 12
},
"3": {
"높이": 24
},
"4": {
"높이": 26
}
},
"보기": {
"눈금선": false
},
"인쇄": {
"용지": "A4",
"방향": "portrait",
"맞춤": {
"폭": 1,
"높이": 0
},
"여백": {
"위": 30,
"아래": 15,
"왼": 20,
"오른": 20
}
}
},
{
"id": "s2",
"이름": "개요",
@@ -1566,6 +1800,9 @@
},
"G26": {
"서식": 5
},
"D22": {
"서식": 5
}
},
"병합": [
@@ -1586,7 +1823,8 @@
"B18:G18",
"B19:G19",
"A21:G21",
"A24:G24"
"A24:G24",
"D22:G22"
],
"열": {
"A": {
@@ -1679,7 +1917,7 @@
"이름": "측점표",
"칸": {
"A1": {
"값": "측점별 안전율",
"값": "측점별 안정성 판정 일람표",
"서식": 1
},
"B1": {
@@ -1710,7 +1948,7 @@
"서식": 1
},
"A2": {
"값": "판정 — 모든 조건의 안전율이 기준 이상이면 O.K · 하나라도 미달이면 N.G",
"값": "판정 — 모든 조건의 안전율이 기준 이상이면 O.K · 하나라도 미달이면 N.G · N.G 측점 = 대책 검토 필요",
"서식": 2
},
"B2": {
@@ -1841,21 +2079,32 @@
},
"J6": {
"서식": 7
},
"K4": {
"값": "대책 필요",
"서식": 6
},
"K5": {
"서식": 6
},
"K6": {
"서식": 7
}
},
"병합": [
"A1:J1",
"A2:J2",
"A1:K1",
"A2:K2",
"A4:A5",
"B4:B5",
"C4:C5",
"D4:F4",
"G4:I4",
"J4:J5"
"J4:J5",
"K4:K5"
],
"열": {
"A": {
"폭": 16
"폭": 20
},
"B": {
"폭": 13
@@ -1883,6 +2132,9 @@
},
"J": {
"폭": 9
},
"K": {
"폭": 12
}
},
"행": {
@@ -2175,64 +2427,64 @@
"높이": 22
},
"3": {
"높이": 20
"높이": 24
},
"4": {
"높이": 20
"높이": 24
},
"5": {
"높이": 20
"높이": 24
},
"6": {
"높이": 20
"높이": 24
},
"7": {
"높이": 20
"높이": 24
},
"8": {
"높이": 20
"높이": 24
},
"9": {
"높이": 20
"높이": 24
},
"10": {
"높이": 20
"높이": 24
},
"11": {
"높이": 20
"높이": 24
},
"12": {
"높이": 20
"높이": 24
},
"13": {
"높이": 20
"높이": 24
},
"14": {
"높이": 20
"높이": 24
},
"15": {
"높이": 20
"높이": 24
},
"16": {
"높이": 20
"높이": 24
},
"17": {
"높이": 20
"높이": 24
},
"18": {
"높이": 20
"높이": 24
},
"19": {
"높이": 20
"높이": 24
},
"20": {
"높이": 20
"높이": 24
},
"21": {
"높이": 20
"높이": 24
},
"22": {
"높이": 20
"높이": 24
},
"23": {
"높이": 32
@@ -2998,6 +3250,13 @@
},
"G22": {
"서식": 16
},
"A9": {
"값": "기본값",
"서식": 4
},
"B9": {
"서식": 5
}
},
"병합": [
@@ -3008,6 +3267,7 @@
"B6:H6",
"B7:H7",
"B8:H8",
"B9:H9",
"A10:H10",
"A20:H20"
],
@@ -3055,6 +3315,9 @@
},
"21": {
"높이": 32
},
"9": {
"높이": 32
}
},
"보기": {
@@ -3423,6 +3686,233 @@
"오른": 10
}
}
},
{
"id": "s10",
"이름": "부록_절편",
"칸": {
"A1": {
"값": "부록 ① 절편 계산표",
"서식": 3
},
"A2": {
"값": "단위 — 길이 m · 힘 kN/m(폭 1 m) · 압력 · 점착력 kPa · 각 °",
"서식": 2
},
"A3": {
"값": "번호",
"서식": 18
},
"A4": {
"서식": 21
},
"A5": {
"값": "합계",
"서식": 18
},
"B3": {
"값": "폭 b (m)",
"서식": 18
},
"B4": {
"서식": 19
},
"B5": {
"서식": 25
},
"C3": {
"값": "높이 h (m)",
"서식": 18
},
"C4": {
"서식": 19
},
"C5": {
"서식": 25
},
"D3": {
"값": "저면 경사 α (°)",
"서식": 18
},
"D4": {
"서식": 20
},
"D5": {
"서식": 25
},
"E3": {
"값": "무게 W (kN/m)",
"서식": 18
},
"E4": {
"서식": 19
},
"E5": {
"서식": 25
},
"F3": {
"값": "상재 Q (kN/m)",
"서식": 18
},
"F4": {
"서식": 19
},
"F5": {
"서식": 25
},
"G3": {
"값": "간극수압 u (kPa)",
"서식": 18
},
"G4": {
"서식": 19
},
"G5": {
"서식": 25
},
"H3": {
"값": "저면 길이 l (m)",
"서식": 18
},
"H4": {
"서식": 19
},
"H5": {
"서식": 25
},
"I3": {
"값": "점착력 c (kPa)",
"서식": 18
},
"I4": {
"서식": 19
},
"I5": {
"서식": 25
},
"J3": {
"값": "마찰각 φ (°)",
"서식": 18
},
"J4": {
"서식": 20
},
"J5": {
"서식": 25
},
"K3": {
"값": "유효 수직력 N' (kN/m)",
"서식": 18
},
"K4": {
"서식": 19
},
"K5": {
"서식": 25
},
"L3": {
"값": "구동력 (W+Q)·sinα (kN/m)",
"서식": 18
},
"L4": {
"서식": 19
},
"L5": {
"서식": 25
},
"M3": {
"값": "저항력 S (kN/m)",
"서식": 18
},
"M4": {
"서식": 19
},
"M5": {
"서식": 25
}
},
"병합": [
"A1:M1",
"A2:M2"
],
"열": {
"A": {
"폭": 5
},
"B": {
"폭": 7.6
},
"C": {
"폭": 7.6
},
"D": {
"폭": 7.6
},
"E": {
"폭": 7.6
},
"F": {
"폭": 7.6
},
"G": {
"폭": 7.6
},
"H": {
"폭": 7.6
},
"I": {
"폭": 7.6
},
"J": {
"폭": 7.6
},
"K": {
"폭": 7.6
},
"L": {
"폭": 7.6
},
"M": {
"폭": 7.6
}
},
"행": {
"1": {
"높이": 24
},
"2": {
"높이": 16
},
"3": {
"높이": 34
},
"4": {
"높이": 12
},
"5": {
"높이": 14
}
},
"보기": {
"눈금선": false
},
"인쇄": {
"용지": "A4",
"방향": "portrait",
"맞춤": {
"폭": 1,
"높이": 0
},
"여백": {
"위": 15,
"아래": 15,
"왼": 10,
"오른": 10
},
"쪽나눔": [
5
]
}
}
],
"활성": "s1"
@@ -4,8 +4,11 @@
## 공통
- 몫: 사용자 몫(표지 · 개요) = 처음 만들 때만 채움 · 다시 만들 때(보고서 갱신) 안 건드림. 프로그램 몫(입력조건 · 측점표 · 대표단면 · 3D요약) = 갱신 때 통째 다시 씀.
- 서식 번호(`서식` 표): 1 title · 2 sub · 3 section · 4 label · 5 text · 6 head · 7 body(가운데 글) · 8 fs(0.00) · 9 int(0) · 10 ng(N.G 빨강 채움) · 11 ok(O.K 초록) · 12 notice · 13 num1(#,##0.0) · 14 num0(#,##0) · 15 para(위 맞춤 긴 글) · 16 prop(0.0) · 17 chain(#,##0.00).
- 몫: 사용자 몫(표지 · 개요) = 처음 만들 때만 채움 · 다시 만들 때(보고서 갱신) 안 건드림. 프로그램 몫(목차 · 입력조건 · 측점표 · 대표단면 · 3D요약 · 광역요약 · 보강검토 · 부록_절편) = 갱신 때 통째 다시 씀 · 작업본에 없는 프로그램 몫 시트는 양식 차례 자리에 끼움 · 새 서식은 작업본 서식 표 끝에 붙여 번호를 바꿈.
- 시트 차례: 표지 · 목차 · 개요 · 입력조건 · 측점표 · 대표단면 · 3D요약 · 광역요약 · (보강검토) · 부록_절편.
- PDF: 표지 = 쪽 번호 · 머리말 없음 · 본문 = 머리말(왼 사업명 = 표지 `C8` · 오른 보고서 이름) · 꼬리말 「- n / N -」(목차 = 1 쪽).
- 사용자 확정 전 표기 한 규칙 — 기본값 그대로 = 「(기본값 · 사용자 확정 전)」 · 바꿈 = 「(사용자 입력)」 · 물성 = 「문헌 추정치 · 사용자 확정 전」.
- 서식 번호(`서식` 표): 1 title · 2 sub · 3 section · 4 label · 5 text · 6 head · 7 body(가운데 글) · 8 fs(0.00) · 9 int(0) · 10 ng(N.G 빨강 채움) · 11 ok(O.K 초록) · 12 notice · 13 num1(#,##0.0) · 14 num0(#,##0) · 15 para(위 맞춤 긴 글) · 16 prop(0.0) · 17 chain(#,##0.00) · 18 head8 · 19 num8(0.00) · 20 num8(0.0) · 21 int8 · 22 목차 내용 · 23 목차 쪽 · 24 목차 장 · 25 sum8(0.00 · 회색) · 26 표지 제목.
- 판정 글(`O.K` · `N.G`) 칸 = 엔진 판정을 값으로 씀 · N.G 칸은 서식 10 · O.K 칸은 서식 11 을 직접 붙임 — 인쇄 HTML · xlsx 는 `조건부서식` 을 안 먹이므로(화면만). 양식의 `조건부서식`(글포함 `N.G` → 빨강)은 사용자가 화면에서 고친 판정 글용.
- 수식이 보는 끝 행 = 20000(측점표 · 3D요약). 측점이 이보다 많으면 개요 수식의 `20000` 을 같이 늘림.
- 빈 값은 칸을 안 적거나 `값` 을 안 둠(빈 글 `""` 금지).
@@ -19,6 +22,16 @@
| C8:E8 · C9:E9 · C10:E10 · C11:E11 · C12:E12 | 사업명 · 노선명 · 발주처 · 작성일 · 작성자 값(병합 · 서식 5) — 왼위 칸 `C8` … `C12` 에 값 |
| B14:E14 | 「문헌 추정치 · 현장 시험 없음」(고정 글 · 건드리지 않음) |
## s9 목차 (프로그램 몫)
| 칸 | 내용 |
| --- | --- |
| `A1:C1` | 제목(고정 글) |
| 3 행 | 머리 — 장 · 내용 · 쪽 |
| 4 행부터 보이는 본문 시트 하나 = 한 줄 | A 장(`1.` … · 부록 = `부록`)(24) · B 내용(22) · C 시작 쪽(23 · 표지 뺀 본문 차례 · 목차 = 1) |
- 쪽 번호 = 시트 하나씩 인쇄 → PDF 쪽 수로 셈(보고서 만들 때 · PDF 내보내기 때 다시) · 브라우저가 없으면 「-」.
## s2 개요 (사용자 몫 · 수식은 양식에 들어 있음)
- 빌더가 쓸 것: 없음(수식이 `측점표` · `입력조건` 을 가리킴). 의견 칸 `A22:F30`(병합 · 서식 15) = 사용자 글.
@@ -34,11 +47,12 @@
| | `C12` `C13` `C14` (C:G 병합) | 비고 글 |
| 지하수 규칙 | `B17` `B18` `B19` (B:G 병합) | 건기 · 우기 · 지진 시 규칙 글 |
| 노면 하중 | `B22` | 수(kPa · 서식 16) |
| | `D22` (D:G 병합) | 비고 — 사용자 확정 전 표기 |
| 지반 물성치 | **26 행부터 한 줄씩** · 머리 25 행(머리 줄 반복) | A 지층 · B 적용 구간(전체 또는 구간 글) · C γt · D γsat · E c · F φ(서식 16) · G 출처(서식 5) · A·B = 서식 7 |
- 지반 물성치가 표의 맨 끝이라 줄 수가 늘어도 다른 칸이 안 밀림. 구간별 덮어쓰기 줄 = 같은 표에 줄 추가(B 열에 구간).
## s4 측점표 (프로그램 몫 · 머리 줄 4~5 행 쪽마다 반복 · 가로 · 폭 1쪽)
## s4 측점표 (프로그램 몫 · 판정 일람표 · 머리 줄 4~5 행 쪽마다 반복 · 가로 · 폭 1쪽)
- 자료는 **6 행부터 측점 하나 = 한 줄** · 서식은 6 행 서식을 줄마다 그대로.
@@ -50,9 +64,10 @@
| D · E · F | 건기 · 우기 · 지진 안전율 Fs(지진 끔 = 칸 없음) | 8 |
| G · H · I | 건기 · 우기 · 지진 기준 안전율 | 8 |
| J | 판정 `O.K` · `N.G`(엔진 판정 값) | N.G = 10 · O.K = 11 |
| K | 대책 필요(`대책 검토` · O.K = `-`) | 7 |
- 개요 · 3D 수식이 `A6:A20000` · `B` · `D` · `E` · `F` · `J` 열을 읽음 → 이 열 배치 바꾸지 않음.
- 줄 수 = 측점 수(시험: 측점 수 = 줄 수). 쪽 나눔은 자동(`인쇄.쪽나눔` 안 씀).
- 줄 수 = 측점 수(시험: 측점 수 = 줄 수). 쪽 나눔 = 빌더가 쪽마다 고르게(`인쇄.쪽나눔` · 마지막 쪽에 한두 줄만 남지 않게).
## s5 대표단면 (프로그램 몫 · 단면 하나 = 28 행 덩이 = 한 쪽)
@@ -62,14 +77,14 @@
| --- | --- | --- |
| 1 | `A1:H1` 병합 | 단면 제목(`대표 단면 ① — 측점 · 구분 · 높이`) |
| 2 | `B2:H2` 병합 | 선정 사유 글 |
| 3~22 | 그림 `A3:H22` | 그림 한 장 — 그림 칸 크기 약 712 × 533 px(가로 : 세로 = 4 : 3) · 열쇠 `fig/<측점 키>.png` · 닻은 `dr` 만큼 내림 |
| 3~22 | 그림 `A3:H22` | 그림 한 장 — 행 24 pt · 그림 칸 712 × 640 px · 안전율 상자 · 지층 범례(무늬) · 축척 막대 · 열쇠 `fig/<측점 키>.png` · 닻은 `dr` 만큼 내림 |
| 23 | 머리(고정 글) | 조건 · 해석 방법 · 안전율 · 기준 · 판정 · 활동면 반경 R · 중심 x · 중심 y |
| 24 · 25 · 26 | A = 건기 · 우기 · 지진(고정 글) | B 해석 방법 글(서식 7) · C Fs(8) · D 기준(8) · E 판정(7→ N.G 10 · O.K 11) · F 반경 · G 중심 x · H 중심 y(13) |
| 27 | `B27:H27` 병합 | 비고 글 |
| 28 | 빈 줄 | 쪽 끝 |
- `인쇄.쪽나눔` = `[28, 56, …, 28 × 단면 수]`(마지막 덩이 끝 쪽 나눔은 있어도 빈 쪽이 안 생김).
- 지진을 안 쓰면 26 행(덩이 안) 칸을 비움.
- 지진을 안 쓰면 26 행(덩이 안) B = 「검토 안 함」. 비원호 면 = F · G · H 「-」. 비고 끝 = 「부록 ⓝ 절편 계산표」.
## s6 3D요약 (프로그램 몫 · 머리 줄 19 행 반복)
@@ -85,6 +100,7 @@
| 칸 | 내용 |
| --- | --- |
| `B5` `B6` `B7` `B8` (각 B:H 병합 · 서식 5) | 노선 띠 · 토층 물성 · 시나리오(표준 SINMAP 습윤지수 · 최악 완전 포화) · 해석 때 글 |
| `B9` (B:H 병합) | 기본값 그대로인 설정 · 물성 — 사용자 확정 전 한 줄 |
| `C12`~`C17` | 등급 1~6(안정 · 보통 안정 · 준안정 · 위험 하한 · 위험 상한 · 불안정) 면적 m²(서식 14) · `D` 비율 = 양식 수식 · `C18` 합계 = 양식 수식 |
| `E11`~`G14` | 측점 등급 표 — 낮음 · 보통 · 높음별 SI<1 셀 비율 기준 글(7) · 측점 수(14) |
| 22 행부터 보통 · 높음 측점 하나 = 한 줄 | A 측점(서식 7) · B 누가거리(17) · C 최소 Fs · D 최소 SI(8) · E 측점 등급 + SI<1 비율 글(7) · F 위험 면적 m²(14) · G 최대 경사 °(16) · 없으면 `A22` 「위험 측점 없음」 |
@@ -100,3 +116,17 @@
| 그 아래 벽 하나 × 경우 하나 = 한 줄 | A 측점(7) · B 벽 이름 · 평상시 / 지진 시 · 토압법 · 배면 수위(5) · C 활동 · E 전도 · G 지지력 Fs(8) · D · F · H 기준(8 · KDS 11 80 05) · I 판정(7 → 10 · 11) · 없으면 「벽 검토 없음」 |
- 6 행 · 10 행 서식을 줄마다 복사 · 저장본 = (측점 · 종류 · 비탈)마다 가장 최근 하나.
## s10 부록_절편 (프로그램 몫 · 대표 단면마다 한 쪽)
양식 1~5 행 = 덩이 꼴(1 제목 · 2 단위 · 3 머리 · 4 절편 줄 서식 · 5 합계 서식). 대표 단면마다 지배 조건(Fs / 기준 가장 낮음) 임계면의 절편표.
| 덩이 안 행 | 칸 | 내용 |
| --- | --- | --- |
| 1 | `A:M` 병합 | 「부록 ⓝ 절편 계산표 — 측점 · 구분 · 조건 · 방법 · Fs」 |
| 2 | `A:M` 병합 | 임계면 · 단위 글 |
| 3 | 머리 | 번호 · 폭 b · 높이 h · 저면 경사 α · 무게 W · 상재 Q · 간극수압 u · 저면 길이 l · c · φ · 유효 수직력 N' · 구동력 (W+Q)·sinα · 저항력 S |
| 4 … | 절편 하나 = 한 줄 | 서식 21(번호) · 20(α · φ) · 19(그 밖) |
| 끝 | 합계 | A 「합계」 · E ΣW · F ΣQ · L Σ구동력 · M Σ저항력(서식 25) |
- 저항력 S = 동원 전단 × Fs = c·l + N'·tanφ · 덩이 끝마다 쪽 나눔 · 대표 단면 없음 = `A1` 「부록 — 절편 계산표 없음」.