From 8ddb5bbda7f31ace5ba41fef18adfa4e91b59753 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Wed, 4 Nov 2026 20:09:23 +0900 Subject: [PATCH] =?UTF-8?q?fix(782-3):=208-2=20=EC=8B=9C=EA=B3=B5=EB=8A=A5?= =?UTF-8?q?=EB=A0=A5=20=EB=A1=9C=EC=A7=81=20=E3=80=8C0=20=EC=9D=B4?= =?UTF-8?q?=EB=A9=B4=20=EA=B8=B0=EB=B3=B8=E3=80=8D=20=EA=B0=80=EB=93=9C=20?= =?UTF-8?q?=EC=B9=B8=20=E2=80=94=20=EA=B2=AC=EB=B3=B8=20=EC=9E=90=EB=8F=99?= =?UTF-8?q?=EA=B0=92=201=20=EB=A1=9C=EB=8F=84=20=EC=97=89=EB=9A=B1?= =?UTF-8?q?=ED=95=9C=20=EA=B0=92=20=EC=95=88=20=EB=82=98=EC=98=A4=EA=B2=8C?= =?UTF-8?q?(=EB=B6=84=EC=84=9D=20635)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 가드 칸에 범위 [0, 원문 끝] — 견본 자동값 = 0(원문 기본): E입력 [0, 1](원문 E 표 모두 1 이하) · 굴착기 싸이클입력 [0, 30](원문 3 표 13∼30초) · 디젤 해머 α입력 [0, 4.0] · 워터제트 α입력 [0, 1.20] · 펌프준설 q입력 [0, 387] · 그래브 f입력 · k입력 [0, 1.00] · 콘크리트 운반 배출 [0, 4] · 대기 [0, 10] · 하역 [0, 2] - 범위 없는 가드 칸(트랜처 전진 · 후진거리 · 로더 주행거리 · 스테이빌라이저 혼합횟수 · 플랜트싸이클)은 1 이어도 기본의 3배 안 — 그대로 - 압쇄기 · 골재세척 q입력 뺌(원문 q 한 값 · 1 이면 60배 어긋남) · 스테이빌라이저 유효혼합폭 최대(로터폭 − 0.4, 0)(자동값 음수 막음) - 유압 파일 해머 강관 Ta 표 「16이하」 ↔ β 표 「16 이하」 글자 맞춤(16m 이하 줄 못 찾던 흠) · 그래브 N값 고르기 「해당 없음」 끝으로(첫 값 = 표 줄) - 지킴 시험 test_782_3 가드 칸 자동값 덧 · 기존 로직 · 표 · 키 그대로(로직_08장 새 줄만 바뀜) · check_master 전후 같음 · 계산전부 1513 멈춤 0 Co-Authored-By: Claude Opus 5.5 --- .../master_data/scripts/_건설기계_로직.py | 7 +- .../master_data/scripts/_건설기계_로직3.py | 6 +- .../scripts/_건설기계_로직_준설.py | 14 ++- .../scripts/_건설기계_로직_플랜트.py | 48 +++++--- .../로직_건설품셈_08장_건설기계.json | 103 +++++++++--------- resources/tester/test_782_3_capacity_82.py | 29 +++++ 6 files changed, 130 insertions(+), 77 deletions(-) diff --git a/resources/master_data/scripts/_건설기계_로직.py b/resources/master_data/scripts/_건설기계_로직.py index 90d618930..869b6d25b 100644 --- a/resources/master_data/scripts/_건설기계_로직.py +++ b/resources/master_data/scripts/_건설기계_로직.py @@ -16,12 +16,14 @@ LEVEL = ["양호", "보통", "불량"] CUT = {"대상": "결과", "자리": 3, "방법": "반올림", "출처": "건설품셈 공통 8-1-4 주①"} -def inp(name, desc, unit=None, pick=None, src=None): +def inp(name, desc, unit=None, pick=None, src=None, rng=None): d = {"이름": name, "설명": desc} if unit: d["단위"] = unit if pick is not None: d["고르기"] = pick + if rng is not None: + d["범위"] = [D(str(x)) for x in rng] # 「0 = 기본」 칸 — 견본 자동값 = 아래 끝 0(원문 기본) if src: d["출처"] = src return d @@ -49,7 +51,7 @@ def mid(t, item): def e_in(no, desc="작업효율을 직접 넣을 때 — 0 이면 원문 표 값"): - return inp("E입력", desc, src=f"건설품셈 공통 {no}") + return inp("E입력", desc, src=f"건설품셈 공통 {no}", rng=(0, 1)) # 원문 E 표 값 모두 1 이하 def auto(name, expr): @@ -417,6 +419,7 @@ def excavator_inputs(no, C): "1회 싸이클시간을 직접 넣을 때 — 0 이면 표", "초", src=f"건설품셈 공통 {no} 3", + rng=(0, 30), # 원문 3 표 13∼30초 ), ] diff --git a/resources/master_data/scripts/_건설기계_로직3.py b/resources/master_data/scripts/_건설기계_로직3.py index e822ad818..e4f8fda13 100644 --- a/resources/master_data/scripts/_건설기계_로직3.py +++ b/resources/master_data/scripts/_건설기계_로직3.py @@ -37,6 +37,7 @@ def part3(C) -> list[dict]: "α입력", "토질계수를 직접 넣을 때(2종 이상 토층 가중평균) — 0 이면 표", src=f"{s} 1 가 (1) 주", + rng=(0, "4.0"), # 원문 α 1.0 ∼ 4.0 ), ] common = [ @@ -193,7 +194,9 @@ def part3(C) -> list[dict]: f"{look(f'{no} α강관', 'α', N치=chr(39) + '20 이상' + chr(39))})", ), st("β", look(f"{no} β", "β", 항타길이="항타길이", 판두께="판두께")), - st("Ta", look(f"{no} Ta강관", "Ta", 항타길이="항타길이", 파일경="파일경"), "분/본"), + # 원문 β 표 「16 이하」 · Ta 표 「16이하」 — 같은 칸 글자가 달라 맞춤 + st("Ta길이", "만약(항타길이 == '16 이하', '16이하', 항타길이)"), + st("Ta", look(f"{no} Ta강관", "Ta", 항타길이="Ta길이", 파일경="파일경"), "분/본"), ], "α * β * Ta", {"평균N": 15, "항타길이": "17∼32", "판두께": "12", "파일경": "500∼800"}, @@ -353,6 +356,7 @@ def vibro(C) -> list[dict]: "α입력", "토질계수를 직접 넣을 때(여러 토질 가중평균) — 0 이면 표", src=f"{s} 2 나", + rng=(0, "1.20"), # 원문 α 0.60 ∼ 1.20 ), *fixes(no, 4, "2 다 (2)"), ], diff --git a/resources/master_data/scripts/_건설기계_로직_준설.py b/resources/master_data/scripts/_건설기계_로직_준설.py index a30a33fce..c44748da4 100644 --- a/resources/master_data/scripts/_건설기계_로직_준설.py +++ b/resources/master_data/scripts/_건설기계_로직_준설.py @@ -103,6 +103,7 @@ def marine(C) -> list[dict]: "746㎾당 준설능력을 직접 넣을 때(단거리 능력 (q1+q2)/2 등) — 0 이면 표", "㎥/hr", src=f"{s} 3", + rng=(0, 387), # 원문 q 표 32 ∼ 387 ), inp("전동환산출력", "펌프준설선의 전동환산 출력(bo)", "㎾", src=f"{s} 2"), *es, @@ -152,19 +153,24 @@ def grab(C) -> list[dict]: inp( "fN값", "체적환산계수 표 N의 값(칸이 빈 줄 = 해당 없음)", - pick=["해당 없음", *C(f"{no} f", "N값")], + pick=[*C(f"{no} f", "N값"), "해당 없음"], src=f"{s} 1", ), - inp("f입력", "체적환산계수를 직접 넣을 때 — 0 이면 표", src=f"{s} 1"), + inp( + "f입력", + "체적환산계수를 직접 넣을 때 — 0 이면 표", + src=f"{s} 1", + rng=(0, "1.00"), + ), inp("k분류", "버킷계수 표 토질 분류", pick=C(f"{no} k", "분류"), src=f"{s} 2"), inp("k상태", "버킷계수 표 상태", pick=C(f"{no} k", "상태"), src=f"{s} 2"), inp( "kN값", "버킷계수 표 N의 값(칸이 빈 줄 = 해당 없음)", - pick=["해당 없음", *C(f"{no} k", "N값")], + pick=[*C(f"{no} k", "N값"), "해당 없음"], src=f"{s} 2", ), - inp("k입력", "버킷계수를 직접 넣을 때 — 0 이면 표", src=f"{s} 2"), + inp("k입력", "버킷계수를 직접 넣을 때 — 0 이면 표", src=f"{s} 2", rng=(0, "1.00")), inp("평균수심", "평균수심", "m", src=f"{s} 3"), inp("E1", "흙의 두께", pick=C(f"{no} E1", "구분"), src=f"{s} 4 가"), inp("E2", "해상조건", pick=C(f"{no} E2", "구분"), src=f"{s} 4 나"), diff --git a/resources/master_data/scripts/_건설기계_로직_플랜트.py b/resources/master_data/scripts/_건설기계_로직_플랜트.py index cf5169f56..fcf3c37b8 100644 --- a/resources/master_data/scripts/_건설기계_로직_플랜트.py +++ b/resources/master_data/scripts/_건설기계_로직_플랜트.py @@ -58,7 +58,7 @@ def part2b(C) -> list[dict]: e_in(no), ], [ - st("W", f"로터폭 - {c(no, '유효혼합폭 — Rotor 폭에서 뺌')}", "m"), + st("W", f"최대(로터폭 - {c(no, '유효혼합폭 — Rotor 폭에서 뺌')}, 0)", "m"), st("V", c(no, "작업속도(V)"), "m/hr"), st("P", auto("혼합횟수", c(no, "혼합횟수(평균)")), "회"), st("E", auto("E입력", look(f"{no} E", "E", 작업조건="작업조건"))), @@ -80,21 +80,13 @@ def part2b(C) -> list[dict]: short, name, "㎥/hr", + [e_in(no, "작업효율을 직접 넣을 때 — 0 이면 원문 값")], [ - inp( - "q입력", - "작업능력을 직접 넣을 때 — 0 이면 원문 값", - "㎥/hr", - src=f"건설품셈 공통 {no}", - ), - e_in(no, "작업효율을 직접 넣을 때 — 0 이면 원문 값"), - ], - [ - st("q", auto("q입력", c(no, q)), "㎥/hr"), + st("q", c(no, q), "㎥/hr"), st("E", auto("E입력", c(no, "작업효율(E)"))), ], "q * E", - {"q입력": 0, "E입력": 0}, + {"E입력": 0}, memo="Q = q × E", ) ) @@ -429,8 +421,20 @@ def concrete_haul(C) -> list[dict]: inp("공차속도", "공차시 평균주행속도", "㎞/hr", src=f"{s} 1"), inp("슬럼프", "슬럼프", pick=["4㎝ 이하", "5㎝ 이상"], src=f"{s} 1"), inp("펌프조합", "콘크리트 펌프와 조합작업", pick=["아니오", "예"], src=f"{s} 1"), - inp("배출시간입력", "배출시간(t3) — 0 이면 원문 범위 가운데", "분", src=f"{s} 1"), - inp("대기시간입력", "대기시간(t4) — 0 이면 원문 범위 가운데", "분", src=f"{s} 1"), + inp( + "배출시간입력", + "배출시간(t3) — 0 이면 원문 범위 가운데", + "분", + src=f"{s} 1", + rng=(0, 4), + ), + inp( + "대기시간입력", + "대기시간(t4) — 0 이면 원문 범위 가운데", + "분", + src=f"{s} 1", + rng=(0, 10), + ), e, ], [ @@ -472,8 +476,20 @@ def concrete_haul(C) -> list[dict]: inp("규격", "덤프트럭 규격(톤)", pick=C(f"{no} W", "규격"), src=f"{s} 2 가"), *plant, inp("운반거리", "편도운반거리(L · 15㎞까지)", "㎞", src=f"{s} 2 나"), - inp("하역시간입력", "하역시간(t1) — 0 이면 원문 범위 가운데", "분", src=f"{s} 2"), - inp("대기시간입력", "대기시간(t2) — 0 이면 원문 범위 가운데", "분", src=f"{s} 2"), + inp( + "하역시간입력", + "하역시간(t1) — 0 이면 원문 범위 가운데", + "분", + src=f"{s} 2", + rng=(0, 2), + ), + inp( + "대기시간입력", + "대기시간(t2) — 0 이면 원문 범위 가운데", + "분", + src=f"{s} 2", + rng=(0, 10), + ), e, ], [ diff --git a/resources/master_data/로직_건설품셈_08장_건설기계.json b/resources/master_data/로직_건설품셈_08장_건설기계.json index ce5270c80..586da5582 100644 --- a/resources/master_data/로직_건설품셈_08장_건설기계.json +++ b/resources/master_data/로직_건설품셈_08장_건설기계.json @@ -918,7 +918,7 @@ { "이름": "전진단", "설명": "전진 기어 단", "고르기": [1, 2, 3, 4], "출처": "건설품셈 공통 8-2-1 2 주" }, { "이름": "후진단", "설명": "후진 기어 단", "고르기": [1, 2, 3], "출처": "건설품셈 공통 8-2-1 2 주" }, { "이름": "f", "설명": "체적환산계수 — 토질 · 상태 변화율(건설 공통 1-2-3)", "출처": "건설품셈 공통 8-1-4" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "출처": "건설품셈 공통 8-2-1" } + { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "범위": [0, 1], "출처": "건설품셈 공통 8-2-1" } ], "중간": [ { "이름": "q0", "식": "찾기(CC000035, 급수=급수, 종별=종별).'q°'", "단위": "㎥" }, @@ -972,7 +972,7 @@ { "이름": "전진단", "설명": "전진 기어 단", "고르기": [1, 2, 3, 4], "출처": "건설품셈 공통 8-2-1 2 주" }, { "이름": "후진단", "설명": "후진 기어 단", "고르기": [1, 2, 3], "출처": "건설품셈 공통 8-2-1 2 주" }, { "이름": "f", "설명": "체적환산계수 — 토질 · 상태 변화율(건설 공통 1-2-3)", "출처": "건설품셈 공통 8-1-4" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "출처": "건설품셈 공통 8-2-1" }, + { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "범위": [0, 1], "출처": "건설품셈 공통 8-2-1" }, { "이름": "기계", "설명": "불도저 규격", @@ -1014,7 +1014,7 @@ { "이름": "암질", "설명": "암질", "고르기": ["연질", "중질", "경질"], "출처": "건설품셈 공통 8-2-2 2" }, { "이름": "탄성파속도", "설명": "탄성파속도 — 작업효율 표의 칸 값", "단위": "m/sec", "출처": "건설품셈 공통 8-2-2 2" }, { "이름": "f", "설명": "체적환산계수 — 토질 · 상태 변화율(건설 공통 1-2-3)", "출처": "건설품셈 공통 8-1-4" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "출처": "건설품셈 공통 8-2-2" } + { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "범위": [0, 1], "출처": "건설품셈 공통 8-2-2" } ], "중간": [ { "이름": "An", "식": "찾기(CC000349, 규격=규격, 발톱수=발톱수).An", "단위": "㎡" }, @@ -1069,8 +1069,8 @@ { "이름": "E보정", "설명": "작업효율에서 뺄 경우", "고르기": ["해당 없음", "터파기"], "출처": "건설품셈 공통 8-2-3 2 주" }, { "이름": "협소현장", "설명": "주택가 상하수도관로부설 등 협소현장(주⑦)", "고르기": ["해당 없음", "상하수도관로부설 등 협소현장"], "출처": "건설품셈 공통 8-2-3 2 주⑦" }, { "이름": "f", "설명": "체적환산계수 — 토질 · 상태 변화율(건설 공통 1-2-3)", "출처": "건설품셈 공통 8-1-4" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "출처": "건설품셈 공통 8-2-3" }, - { "이름": "싸이클입력", "설명": "1회 싸이클시간을 직접 넣을 때 — 0 이면 표", "단위": "초", "출처": "건설품셈 공통 8-2-3 3" } + { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "범위": [0, 1], "출처": "건설품셈 공통 8-2-3" }, + { "이름": "싸이클입력", "설명": "1회 싸이클시간을 직접 넣을 때 — 0 이면 표", "단위": "초", "범위": [0, 30], "출처": "건설품셈 공통 8-2-3 3" } ], "중간": [ { "이름": "K", "식": "찾기(CC000042, 현장조건=버킷조건).K" }, @@ -1127,8 +1127,8 @@ { "이름": "E보정", "설명": "작업효율에서 뺄 경우", "고르기": ["해당 없음", "터파기"], "출처": "건설품셈 공통 8-2-3 2 주" }, { "이름": "협소현장", "설명": "주택가 상하수도관로부설 등 협소현장(주⑦)", "고르기": ["해당 없음", "상하수도관로부설 등 협소현장"], "출처": "건설품셈 공통 8-2-3 2 주⑦" }, { "이름": "f", "설명": "체적환산계수 — 토질 · 상태 변화율(건설 공통 1-2-3)", "출처": "건설품셈 공통 8-1-4" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "출처": "건설품셈 공통 8-2-3" }, - { "이름": "싸이클입력", "설명": "1회 싸이클시간을 직접 넣을 때 — 0 이면 표", "단위": "초", "출처": "건설품셈 공통 8-2-3 3" }, + { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "범위": [0, 1], "출처": "건설품셈 공통 8-2-3" }, + { "이름": "싸이클입력", "설명": "1회 싸이클시간을 직접 넣을 때 — 0 이면 표", "단위": "초", "범위": [0, 30], "출처": "건설품셈 공통 8-2-3 3" }, { "이름": "기계", "설명": "굴착기(무한궤도) 규격", @@ -1170,7 +1170,7 @@ { "이름": "굴착심도", "설명": "굴착심도", "단위": "m", "고르기": [0.6, 0.7, 0.8, 0.9, 1.0, 1.1], "출처": "건설품셈 공통 8-2-4 2 가" }, { "이름": "토질", "설명": "토질", "고르기": ["사질토", "점질토"], "출처": "건설품셈 공통 8-2-4 2 나" }, { "이름": "작업조건", "설명": "작업 조건", "고르기": ["양호", "보통", "불량"], "출처": "건설품셈 공통 8-2-4 2 나" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "출처": "건설품셈 공통 8-2-4" } + { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "범위": [0, 1], "출처": "건설품셈 공통 8-2-4" } ], "중간": [ { "이름": "d", "식": "찾기(CC000353, 굴착심도=굴착심도).d" }, @@ -1235,7 +1235,7 @@ { "이름": "토질명", "설명": "토질", "고르기": ["모래, 사질토", "자갈섞인 흙, 점성토", "파쇄암"], "출처": "건설품셈 공통 8-2-5 3" }, { "이름": "E보정", "설명": "작업효율에서 뺄 경우", "고르기": ["해당 없음", "터파기"], "출처": "건설품셈 공통 8-2-5 3 주" }, { "이름": "f", "설명": "체적환산계수 — 토질 · 상태 변화율(건설 공통 1-2-3)", "출처": "건설품셈 공통 8-1-4" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "출처": "건설품셈 공통 8-2-5" } + { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "범위": [0, 1], "출처": "건설품셈 공통 8-2-5" } ], "중간": [ { "이름": "t1", "식": "찾기(CC000047, 기종=기종, 작업방법=작업방법, 현장조건=적재조건).t1", "단위": "초" }, @@ -1300,7 +1300,7 @@ { "이름": "토질명", "설명": "토질", "고르기": ["모래, 사질토", "자갈섞인 흙, 점성토", "파쇄암"], "출처": "건설품셈 공통 8-2-5 3" }, { "이름": "E보정", "설명": "작업효율에서 뺄 경우", "고르기": ["해당 없음", "터파기"], "출처": "건설품셈 공통 8-2-5 3 주" }, { "이름": "f", "설명": "체적환산계수 — 토질 · 상태 변화율(건설 공통 1-2-3)", "출처": "건설품셈 공통 8-1-4" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "출처": "건설품셈 공통 8-2-5" }, + { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "범위": [0, 1], "출처": "건설품셈 공통 8-2-5" }, { "이름": "기계", "설명": "로더 규격", @@ -1371,7 +1371,7 @@ { "이름": "공차주행거리", "설명": "공차시의 주행거리(L2)", "단위": "m", "출처": "건설품셈 공통 8-2-6 3" }, { "이름": "푸쉬도우저", "설명": "푸쉬도우저 사용", "고르기": ["사용", "사용 안 함"], "출처": "건설품셈 공통 8-2-6 3" }, { "이름": "f", "설명": "체적환산계수 — 토질 · 상태 변화율(건설 공통 1-2-3)", "출처": "건설품셈 공통 8-1-4" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "출처": "건설품셈 공통 8-2-6" } + { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "범위": [0, 1], "출처": "건설품셈 공통 8-2-6" } ], "중간": [ { "이름": "K", "식": "찾기(CC000356, 토질상태=토질상태).K" }, @@ -1418,7 +1418,7 @@ { "이름": "t작업", "설명": "t 표의 작업종류", "고르기": ["작업거리가 비교적 짧은 경우", "도로보수", "흙고르기"], "출처": "건설품셈 공통 8-2-7 1" }, { "이름": "E작업", "설명": "작업효율 표의 작업종류", "고르기": ["토사도의 보수 및 정지 등", "흙고르기 등"], "출처": "건설품셈 공통 8-2-7 3" }, { "이름": "작업횟수", "설명": "작업장 전체의 폭을 그 속도로 행하는 작업횟수(P)", "단위": "회", "출처": "건설품셈 공통 8-2-7" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "출처": "건설품셈 공통 8-2-7" }, + { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "범위": [0, 1], "출처": "건설품셈 공통 8-2-7" }, { "이름": "작업폭", "설명": "작업장 전체의 폭(W)", "단위": "m", "출처": "건설품셈 공통 8-2-7" } ], "중간": [ @@ -1466,7 +1466,7 @@ { "이름": "t작업", "설명": "t 표의 작업종류", "고르기": ["작업거리가 비교적 짧은 경우", "도로보수", "흙고르기"], "출처": "건설품셈 공통 8-2-7 1" }, { "이름": "E작업", "설명": "작업효율 표의 작업종류", "고르기": ["토사도의 보수 및 정지 등", "흙고르기 등"], "출처": "건설품셈 공통 8-2-7 3" }, { "이름": "작업횟수", "설명": "작업장 전체의 폭을 그 속도로 행하는 작업횟수(P)", "단위": "회", "출처": "건설품셈 공통 8-2-7" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "출처": "건설품셈 공통 8-2-7" }, + { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "범위": [0, 1], "출처": "건설품셈 공통 8-2-7" }, { "이름": "l작업", "설명": "블레이드 유효길이 표의 작업종류", "고르기": ["단단한 토질에서의 깎기", "부드러운 토질에서의 깎기", "흙밀기, 제설(除雪)", "마무리"], "출처": "건설품셈 공통 8-2-7 2" }, { "이름": "두께", "설명": "굴착 깊이 또는 흙고르기 두께(H)", "단위": "m", "출처": "건설품셈 공통 8-2-7" }, { "이름": "f", "설명": "체적환산계수 — 토질 · 상태 변화율(건설 공통 1-2-3)", "출처": "건설품셈 공통 8-1-4" } @@ -1557,7 +1557,7 @@ { "이름": "적재효율", "설명": "적재기계의 작업효율(Es)", "출처": "건설품셈 공통 8-2-8 8" }, { "이름": "인력종류", "설명": "인력 적재 종류", "고르기": ["토사류", "석재류"], "출처": "건설품셈 공통 8-2-8 9" }, { "이름": "적재시간입력", "설명": "적재시간(t1)을 직접 넣을 때(적재방법 「직접 입력」)", "단위": "분", "출처": "건설품셈 공통 8-2-8 1" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 0.9", "출처": "건설품셈 공통 8-2-8" } + { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 0.9", "범위": [0, 1], "출처": "건설품셈 공통 8-2-8" } ], "중간": [ { "이름": "q", "식": "적재용량 / 단위중량 * 체적변화율", "단위": "㎥" }, @@ -1650,7 +1650,7 @@ { "이름": "적재효율", "설명": "적재기계의 작업효율(Es)", "출처": "건설품셈 공통 8-2-8 8" }, { "이름": "인력종류", "설명": "인력 적재 종류", "고르기": ["토사류", "석재류"], "출처": "건설품셈 공통 8-2-8 9" }, { "이름": "적재시간입력", "설명": "적재시간(t1)을 직접 넣을 때(적재방법 「직접 입력」)", "단위": "분", "출처": "건설품셈 공통 8-2-8 1" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 0.9", "출처": "건설품셈 공통 8-2-8" }, + { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 0.9", "범위": [0, 1], "출처": "건설품셈 공통 8-2-8" }, { "이름": "기계", "설명": "덤프트럭 규격", "고르기": ["0602-0025", "0602-0045", "0602-0060", "0602-0105", "0602-0150"] }, { "이름": "지역", @@ -1693,7 +1693,7 @@ { "이름": "E공종", "설명": "작업효율 표의 공종", "고르기": ["표층", "기층, 보조기층", "노체, 축제, 노상"], "출처": "건설품셈 공통 8-2-9 3" }, { "이름": "E기계", "설명": "작업효율 표의 다짐기계", "고르기": ["머캐덤롤러", "타이어롤러", "탠덤롤러", "진동롤러", "불도저", "양족식롤러(자주식)"], "출처": "건설품셈 공통 8-2-9 3" }, { "이름": "현장조건", "설명": "작업 조건", "고르기": ["양호", "보통", "불량"], "출처": "건설품셈 공통 8-2-9 3" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "출처": "건설품셈 공통 8-2-9" }, + { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "범위": [0, 1], "출처": "건설품셈 공통 8-2-9" }, { "이름": "두께", "설명": "펴는 흙의 두께(D · 다져진 상태)", "단위": "m", "출처": "건설품셈 공통 8-2-9 2 주②" }, { "이름": "f", "설명": "체적환산계수 — 토질 · 상태 변화율(건설 공통 1-2-3)", "출처": "건설품셈 공통 8-1-4" } ], @@ -1736,7 +1736,7 @@ { "이름": "E공종", "설명": "작업효율 표의 공종", "고르기": ["표층", "기층, 보조기층", "노체, 축제, 노상"], "출처": "건설품셈 공통 8-2-9 3" }, { "이름": "E기계", "설명": "작업효율 표의 다짐기계", "고르기": ["머캐덤롤러", "타이어롤러", "탠덤롤러", "진동롤러", "불도저", "양족식롤러(자주식)"], "출처": "건설품셈 공통 8-2-9 3" }, { "이름": "현장조건", "설명": "작업 조건", "고르기": ["양호", "보통", "불량"], "출처": "건설품셈 공통 8-2-9 3" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "출처": "건설품셈 공통 8-2-9" } + { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "범위": [0, 1], "출처": "건설품셈 공통 8-2-9" } ], "중간": [ { "이름": "W", "식": "찾기(CC000062, 다짐기계=다짐기계, 규격=규격).유효다짐폭", "단위": "m" }, @@ -1789,7 +1789,7 @@ { "이름": "E공종", "설명": "작업효율 표의 공종", "고르기": ["표층", "기층, 보조기층", "노체, 축제, 노상"], "출처": "건설품셈 공통 8-2-9 3" }, { "이름": "E기계", "설명": "작업효율 표의 다짐기계", "고르기": ["머캐덤롤러", "타이어롤러", "탠덤롤러", "진동롤러", "불도저", "양족식롤러(자주식)"], "출처": "건설품셈 공통 8-2-9 3" }, { "이름": "현장조건", "설명": "작업 조건", "고르기": ["양호", "보통", "불량"], "출처": "건설품셈 공통 8-2-9 3" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "출처": "건설품셈 공통 8-2-9" }, + { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "범위": [0, 1], "출처": "건설품셈 공통 8-2-9" }, { "이름": "두께", "설명": "펴는 흙의 두께(D · 다져진 상태)", "단위": "m", "출처": "건설품셈 공통 8-2-9 2 주②" }, { "이름": "f", "설명": "체적환산계수 — 토질 · 상태 변화율(건설 공통 1-2-3)", "출처": "건설품셈 공통 8-1-4" }, { @@ -1842,10 +1842,10 @@ { "이름": "로터폭", "설명": "Rotor 폭", "단위": "m", "출처": "건설품셈 공통 8-2-11 1" }, { "이름": "작업조건", "설명": "작업 조건", "고르기": ["용이한 경우", "보통의 경우", "곤란한 경우"], "출처": "건설품셈 공통 8-2-11 2" }, { "이름": "혼합횟수", "설명": "혼합횟수(P) — 0 이면 평균 3회", "단위": "회", "출처": "건설품셈 공통 8-2-11 3" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "출처": "건설품셈 공통 8-2-11" } + { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "범위": [0, 1], "출처": "건설품셈 공통 8-2-11" } ], "중간": [ - { "이름": "W", "식": "로터폭 - 찾기(CC000367, 항목='유효혼합폭 — Rotor 폭에서 뺌').값", "단위": "m" }, + { "이름": "W", "식": "최대(로터폭 - 찾기(CC000367, 항목='유효혼합폭 — Rotor 폭에서 뺌').값, 0)", "단위": "m" }, { "이름": "V", "식": "찾기(CC000367, 항목='작업속도(V)').값", "단위": "m/hr" }, { "이름": "P", "식": "만약(혼합횟수 > 0, 혼합횟수, 찾기(CC000367, 항목='혼합횟수(평균)').값)", "단위": "회" }, { "이름": "E", "식": "만약(E입력 > 0, E입력, 찾기(CC000366, 작업조건=작업조건).E)" } @@ -1996,12 +1996,9 @@ "출처": "건설품셈 공통 8-2-14", "소유": "공용", "비고": "Q = q × E", - "시험입력": { "q입력": 0, "E입력": 0 }, - "입력": [ - { "이름": "q입력", "설명": "작업능력을 직접 넣을 때 — 0 이면 원문 값", "단위": "㎥/hr", "출처": "건설품셈 공통 8-2-14" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 값", "출처": "건설품셈 공통 8-2-14" } - ], - "중간": [{ "이름": "q", "식": "만약(q입력 > 0, q입력, 찾기(CC000386, 항목='작업능력(q)').값)", "단위": "㎥/hr" }, { "이름": "E", "식": "만약(E입력 > 0, E입력, 찾기(CC000386, 항목='작업효율(E)').값)" }], + "시험입력": { "E입력": 0 }, + "입력": [{ "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 값", "범위": [0, 1], "출처": "건설품셈 공통 8-2-14" }], + "중간": [{ "이름": "q", "식": "찾기(CC000386, 항목='작업능력(q)').값", "단위": "㎥/hr" }, { "이름": "E", "식": "만약(E입력 > 0, E입력, 찾기(CC000386, 항목='작업효율(E)').값)" }], "결과": { "식": "q * E", "출처": "건설품셈 공통 8-2-14" }, "끝수": { "대상": "결과", "자리": 3, "방법": "반올림", "출처": "건설품셈 공통 8-1-4 주①" } }, @@ -2031,15 +2028,9 @@ "출처": "건설품셈 공통 8-2-16", "소유": "공용", "비고": "Q = q × E", - "시험입력": { "q입력": 0, "E입력": 0 }, - "입력": [ - { "이름": "q입력", "설명": "작업능력을 직접 넣을 때 — 0 이면 원문 값", "단위": "㎥/hr", "출처": "건설품셈 공통 8-2-16" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 값", "출처": "건설품셈 공통 8-2-16" } - ], - "중간": [ - { "이름": "q", "식": "만약(q입력 > 0, q입력, 찾기(CC000387, 항목='시간당 표준작업량(q)').값)", "단위": "㎥/hr" }, - { "이름": "E", "식": "만약(E입력 > 0, E입력, 찾기(CC000387, 항목='작업효율(E)').값)" } - ], + "시험입력": { "E입력": 0 }, + "입력": [{ "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 값", "범위": [0, 1], "출처": "건설품셈 공통 8-2-16" }], + "중간": [{ "이름": "q", "식": "찾기(CC000387, 항목='시간당 표준작업량(q)').값", "단위": "㎥/hr" }, { "이름": "E", "식": "만약(E입력 > 0, E입력, 찾기(CC000387, 항목='작업효율(E)').값)" }], "결과": { "식": "q * E", "출처": "건설품셈 공통 8-2-16" }, "끝수": { "대상": "결과", "자리": 3, "방법": "반올림", "출처": "건설품셈 공통 8-1-4 주①" } }, @@ -2054,7 +2045,10 @@ "소유": "공용", "비고": "Q = 60/4 · q · E", "시험입력": { "믹서용량": 0.5, "E입력": 0 }, - "입력": [{ "이름": "믹서용량", "설명": "콘크리트 믹서용량(q)", "단위": "㎥", "출처": "건설품셈 공통 8-2-17" }, { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 0.8", "출처": "건설품셈 공통 8-2-17" }], + "입력": [ + { "이름": "믹서용량", "설명": "콘크리트 믹서용량(q)", "단위": "㎥", "출처": "건설품셈 공통 8-2-17" }, + { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 0.8", "범위": [0, 1], "출처": "건설품셈 공통 8-2-17" } + ], "중간": [{ "이름": "E", "식": "만약(E입력 > 0, E입력, 찾기(CC000388, 항목='작업효율(E)').값)" }], "결과": { "식": "60 / 찾기(CC000388, 항목='재료투입 혼합배출 등 작업시간').값 * 믹서용량 * E", "출처": "건설품셈 공통 8-2-17" }, "끝수": { "대상": "결과", "자리": 3, "방법": "반올림", "출처": "건설품셈 공통 8-1-4 주①" } @@ -2081,7 +2075,7 @@ { "이름": "공종", "설명": "공종", "고르기": ["도로포장", "교량", "터널", "사방"], "출처": "건설품셈 공통 8-2-18 2" }, { "이름": "현장조건", "설명": "현장조건", "고르기": ["양호", "보통", "불량"], "출처": "건설품셈 공통 8-2-18 2" }, { "이름": "싸이클", "설명": "1회 싸이클시간 갈래", "고르기": ["표준", "터널 숏크리트 강섬유 혼합"], "출처": "건설품셈 공통 8-2-18 주" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "출처": "건설품셈 공통 8-2-18" } + { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "범위": [0, 1], "출처": "건설품셈 공통 8-2-18" } ], "중간": [ { "이름": "q", "식": "찾기(CC000389, 규격=규격, 슬럼프=슬럼프).실용량", "단위": "㎥" }, @@ -2111,9 +2105,9 @@ { "이름": "공차속도", "설명": "공차시 평균주행속도", "단위": "㎞/hr", "출처": "건설품셈 공통 8-2-19 1" }, { "이름": "슬럼프", "설명": "슬럼프", "고르기": ["4㎝ 이하", "5㎝ 이상"], "출처": "건설품셈 공통 8-2-19 1" }, { "이름": "펌프조합", "설명": "콘크리트 펌프와 조합작업", "고르기": ["아니오", "예"], "출처": "건설품셈 공통 8-2-19 1" }, - { "이름": "배출시간입력", "설명": "배출시간(t3) — 0 이면 원문 범위 가운데", "단위": "분", "출처": "건설품셈 공통 8-2-19 1" }, - { "이름": "대기시간입력", "설명": "대기시간(t4) — 0 이면 원문 범위 가운데", "단위": "분", "출처": "건설품셈 공통 8-2-19 1" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 0.95", "출처": "건설품셈 공통 8-2-19" } + { "이름": "배출시간입력", "설명": "배출시간(t3) — 0 이면 원문 범위 가운데", "단위": "분", "범위": [0, 4], "출처": "건설품셈 공통 8-2-19 1" }, + { "이름": "대기시간입력", "설명": "대기시간(t4) — 0 이면 원문 범위 가운데", "단위": "분", "범위": [0, 10], "출처": "건설품셈 공통 8-2-19 1" }, + { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 0.95", "범위": [0, 1], "출처": "건설품셈 공통 8-2-19" } ], "중간": [ { "이름": "cmc", "식": "만약(플랜트싸이클 > 0, 플랜트싸이클, 찾기(CC000391, 항목='1회 싸이클시간(cm)').값)", "단위": "분" }, @@ -2147,9 +2141,9 @@ { "이름": "플랜트실용량", "설명": "콘크리트플랜트 믹서 실용량(q)", "단위": "㎥", "출처": "건설품셈 공통 8-2-18 1" }, { "이름": "플랜트싸이클", "설명": "콘크리트플랜트 싸이클시간(cmc) — 0 이면 1.5분", "단위": "분", "출처": "건설품셈 공통 8-2-18" }, { "이름": "운반거리", "설명": "편도운반거리(L · 15㎞까지)", "단위": "㎞", "출처": "건설품셈 공통 8-2-19 2 나" }, - { "이름": "하역시간입력", "설명": "하역시간(t1) — 0 이면 원문 범위 가운데", "단위": "분", "출처": "건설품셈 공통 8-2-19 2" }, - { "이름": "대기시간입력", "설명": "대기시간(t2) — 0 이면 원문 범위 가운데", "단위": "분", "출처": "건설품셈 공통 8-2-19 2" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 0.95", "출처": "건설품셈 공통 8-2-19" } + { "이름": "하역시간입력", "설명": "하역시간(t1) — 0 이면 원문 범위 가운데", "단위": "분", "범위": [0, 2], "출처": "건설품셈 공통 8-2-19 2" }, + { "이름": "대기시간입력", "설명": "대기시간(t2) — 0 이면 원문 범위 가운데", "단위": "분", "범위": [0, 10], "출처": "건설품셈 공통 8-2-19 2" }, + { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 0.95", "범위": [0, 1], "출처": "건설품셈 공통 8-2-19" } ], "중간": [ { "이름": "W", "식": "찾기(CC000392, 규격=규격).W", "단위": "㎥" }, @@ -2215,7 +2209,7 @@ { "이름": "종류", "설명": "재료 종류", "고르기": ["토사류", "석재류"], "출처": "건설품셈 공통 8-2-21 2" }, { "이름": "작업로", "설명": "작업로 상태", "고르기": ["양호", "보통", "불량"], "출처": "건설품셈 공통 8-2-21 2 주④" }, { "이름": "f", "설명": "체적환산계수 — 토질 · 상태 변화율(건설 공통 1-2-3)", "출처": "건설품셈 공통 8-1-4" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 0.9", "출처": "건설품셈 공통 8-2-21" } + { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 0.9", "범위": [0, 1], "출처": "건설품셈 공통 8-2-21" } ], "중간": [ { "이름": "t", "식": "찾기(CC000071, 종류=종류).시간", "단위": "분" }, @@ -2257,7 +2251,7 @@ }, "입력": [ { "이름": "토질", "설명": "토질계수(α) 표의 토질", "고르기": ["점토・부식토", "실트・로움・모래", "자갈"], "출처": "건설품셈 공통 8-2-22 1 가 (1)" }, - { "이름": "α입력", "설명": "토질계수를 직접 넣을 때(2종 이상 토층 가중평균) — 0 이면 표", "출처": "건설품셈 공통 8-2-22 1 가 (1) 주" }, + { "이름": "α입력", "설명": "토질계수를 직접 넣을 때(2종 이상 토층 가중평균) — 0 이면 표", "범위": [0, 4.0], "출처": "건설품셈 공통 8-2-22 1 가 (1) 주" }, { "이름": "파일경", "설명": "파일경", "단위": "㎜", "고르기": [400, 500, 600, 800, 900, 1000], "출처": "건설품셈 공통 8-2-22 1 가 (2)" }, { "이름": "해머", "설명": "파일해머의 램중량", "고르기": ["1.5t 급", "2.2t 급", "3.2t 급", "4.0t 급"], "출처": "건설품셈 공통 8-2-22 1 가 (2)" }, { "이름": "관입길이", "설명": "파일 끝이 들어가는 전층의 길이(L)", "단위": "m", "출처": "건설품셈 공통 8-2-22 1 가" }, @@ -2306,7 +2300,7 @@ "시험입력": { "토질": "실트・로움・모래", "α입력": 0, "파일경": 400, "해머": "2.2ton 급", "관입길이": 12, "평균N": 10, "세우기횟수": 1, "평탄성": "양호", "현장": "현장이 넓으며 작업에 장애물이 없는 경우" }, "입력": [ { "이름": "토질", "설명": "토질계수(α) 표의 토질", "고르기": ["점토・부식토", "실트・로움・모래", "자갈"], "출처": "건설품셈 공통 8-2-22 1 가 (1)" }, - { "이름": "α입력", "설명": "토질계수를 직접 넣을 때(2종 이상 토층 가중평균) — 0 이면 표", "출처": "건설품셈 공통 8-2-22 1 가 (1) 주" }, + { "이름": "α입력", "설명": "토질계수를 직접 넣을 때(2종 이상 토층 가중평균) — 0 이면 표", "범위": [0, 4.0], "출처": "건설품셈 공통 8-2-22 1 가 (1) 주" }, { "이름": "파일경", "설명": "파일경", "단위": "㎜", "고르기": [250, 300, 350, 400, 450, 500], "출처": "건설품셈 공통 8-2-22 2 가" }, { "이름": "해머", "설명": "파일해머 규격", "고르기": ["1.5ton 급", "2.2ton 급"], "출처": "건설품셈 공통 8-2-22 2 가" }, { "이름": "관입길이", "설명": "파일 끝이 들어가는 전층의 길이(L)", "단위": "m", "출처": "건설품셈 공통 8-2-22 1 가" }, @@ -2357,7 +2351,8 @@ "중간": [ { "이름": "α", "식": "만약(평균N < 20, 찾기(CC000411, N치='20 미만').α, 찾기(CC000411, N치='20 이상').α)" }, { "이름": "β", "식": "찾기(CC000412, 항타길이=항타길이, 판두께=판두께).β" }, - { "이름": "Ta", "식": "찾기(CC000413, 항타길이=항타길이, 파일경=파일경).Ta", "단위": "분/본" } + { "이름": "Ta길이", "식": "만약(항타길이 == '16 이하', '16이하', 항타길이)" }, + { "이름": "Ta", "식": "찾기(CC000413, 항타길이=Ta길이, 파일경=파일경).Ta", "단위": "분/본" } ], "결과": { "식": "α * β * Ta", "출처": "건설품셈 공통 8-2-23" }, "끝수": null @@ -2475,7 +2470,7 @@ { "이름": "근입길이", "설명": "근입길이(L)", "단위": "m", "출처": "건설품셈 공통 8-2-25 2 가" }, { "이름": "평균N", "설명": "근입길이의 가중평균 N치", "출처": "건설품셈 공통 8-2-25 2 가" }, { "이름": "토질", "설명": "토질계수 표의 토질", "고르기": ["사질토", "점성토", "모래・자갈층", "풍화암", "연암"], "출처": "건설품셈 공통 8-2-25 2 나" }, - { "이름": "α입력", "설명": "토질계수를 직접 넣을 때(여러 토질 가중평균) — 0 이면 표", "출처": "건설품셈 공통 8-2-25 2 나" }, + { "이름": "α입력", "설명": "토질계수를 직접 넣을 때(여러 토질 가중평균) — 0 이면 표", "범위": [0, 1.20], "출처": "건설품셈 공통 8-2-25 2 나" }, { "이름": "f1", "설명": "작업조건 보정계수 f_1(보정 표에서 고른 보정치)", "고르기": [-0.05, 0, 0.05], "출처": "건설품셈 공통 8-2-25 2 다 (2)" }, { "이름": "f2", "설명": "작업조건 보정계수 f_2(보정 표에서 고른 보정치)", "고르기": [-0.05, 0, 0.05], "출처": "건설품셈 공통 8-2-25 2 다 (2)" }, { "이름": "f3", "설명": "작업조건 보정계수 f_3(보정 표에서 고른 보정치)", "고르기": [-0.05, 0, 0.05], "출처": "건설품셈 공통 8-2-25 2 다 (2)" }, @@ -2554,7 +2549,7 @@ { "이름": "회전속도", "설명": "굴착면의 분당 회전속도(R)", "단위": "회/분", "출처": "건설품셈 공통 8-2-28 4" }, { "이름": "투과깊이", "설명": "굴착면 1회전당 컷터의 투과깊이(Pe)", "단위": "㎝/회", "출처": "건설품셈 공통 8-2-28 4" }, { "이름": "현장조건", "설명": "현장조건", "고르기": ["양호", "보통", "불량"], "출처": "건설품셈 공통 8-2-28 3" }, - { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "출처": "건설품셈 공통 8-2-28" } + { "이름": "E입력", "설명": "작업효율을 직접 넣을 때 — 0 이면 원문 표 값", "범위": [0, 1], "출처": "건설품셈 공통 8-2-28" } ], "중간": [ { "이름": "A", "식": "3.14159265358979 * 굴착직경 * 굴착직경 / 4", "단위": "㎡" }, @@ -2616,7 +2611,7 @@ ], "출처": "건설품셈 공통 8-2-29 2" }, - { "이름": "q입력", "설명": "746㎾당 준설능력을 직접 넣을 때(단거리 능력 (q1+q2)/2 등) — 0 이면 표", "단위": "㎥/hr", "출처": "건설품셈 공통 8-2-29 3" }, + { "이름": "q입력", "설명": "746㎾당 준설능력을 직접 넣을 때(단거리 능력 (q1+q2)/2 등) — 0 이면 표", "단위": "㎥/hr", "범위": [0, 387], "출처": "건설품셈 공통 8-2-29 3" }, { "이름": "전동환산출력", "설명": "펌프준설선의 전동환산 출력(bo)", "단위": "㎾", "출처": "건설품셈 공통 8-2-29 2" }, { "이름": "E1", "설명": "흙의 두께", "고르기": ["적당", "약간 얇다", "얇다"], "출처": "건설품셈 공통 8-2-29 4" }, { "이름": "E2", "설명": "평면형상", "고르기": ["적당", "약간 산재한다", "산재한다"], "출처": "건설품셈 공통 8-2-29 4" }, @@ -2661,19 +2656,19 @@ { "이름": "fN값", "설명": "체적환산계수 표 N의 값(칸이 빈 줄 = 해당 없음)", - "고르기": ["해당 없음", "4이하", "4∼10", "10∼20", "20∼30", "30∼40", "40∼50", "10이하", "30이하", "30이상", "50∼60"], + "고르기": ["4이하", "4∼10", "10∼20", "20∼30", "30∼40", "40∼50", "10이하", "30이하", "30이상", "50∼60", "해당 없음"], "출처": "건설품셈 공통 8-2-30 1" }, - { "이름": "f입력", "설명": "체적환산계수를 직접 넣을 때 — 0 이면 표", "출처": "건설품셈 공통 8-2-30 1" }, + { "이름": "f입력", "설명": "체적환산계수를 직접 넣을 때 — 0 이면 표", "범위": [0, 1.00], "출처": "건설품셈 공통 8-2-30 1" }, { "이름": "k분류", "설명": "버킷계수 표 토질 분류", "고르기": ["점토질 토사", "모래질 토사", "자갈섞인 모래질토사", "암반", "자갈"], "출처": "건설품셈 공통 8-2-30 2" }, { "이름": "k상태", "설명": "버킷계수 표 상태", "고르기": ["연니", "연질", "보통질", "경질", "최경질", "극경질", "느슨한것", "다져진것"], "출처": "건설품셈 공통 8-2-30 2" }, { "이름": "kN값", "설명": "버킷계수 표 N의 값(칸이 빈 줄 = 해당 없음)", - "고르기": ["해당 없음", "4이하", "4∼10", "10∼20", "20∼30", "30∼40", "40∼50", "10이하", "30이하", "30이상", "50∼60"], + "고르기": ["4이하", "4∼10", "10∼20", "20∼30", "30∼40", "40∼50", "10이하", "30이하", "30이상", "50∼60", "해당 없음"], "출처": "건설품셈 공통 8-2-30 2" }, - { "이름": "k입력", "설명": "버킷계수를 직접 넣을 때 — 0 이면 표", "출처": "건설품셈 공통 8-2-30 2" }, + { "이름": "k입력", "설명": "버킷계수를 직접 넣을 때 — 0 이면 표", "범위": [0, 1.00], "출처": "건설품셈 공통 8-2-30 2" }, { "이름": "평균수심", "설명": "평균수심", "단위": "m", "출처": "건설품셈 공통 8-2-30 3" }, { "이름": "E1", "설명": "흙의 두께", "고르기": ["적당", "약간 얇다", "얇다", "매우 얇다"], "출처": "건설품셈 공통 8-2-30 4 가" }, { "이름": "E2", "설명": "해상조건", "고르기": ["보통", "약간 나쁘다", "나쁘다"], "출처": "건설품셈 공통 8-2-30 4 나" } diff --git a/resources/tester/test_782_3_capacity_82.py b/resources/tester/test_782_3_capacity_82.py index 187047dc5..6af92cb10 100644 --- a/resources/tester/test_782_3_capacity_82.py +++ b/resources/tester/test_782_3_capacity_82.py @@ -234,3 +234,32 @@ def test_check_master(): for row in files[name]["줄"]: if row["키"] >= "GC001143": mf.run(whole, row["키"], cm.시험입력(row)) # 시험 입력으로 멈춤 없음 + + +GUARD = __import__("re").compile(r"만약\((\w+) > 0, \1,") + + +def test_가드_칸_자동값(whole): + # 분석 635 — 「0 이면 기본」 가드 칸은 견본 자동값 1 로 셈해도 터무니없지 않게: + # 범위 [0, 원문 끝] 칸은 자동값 0(= 원문 기본) · 범위 없는 가드 칸은 1 이어도 기본의 10배 안 + import master_auto as ma + + files = cm.load([LOGIC, LOGIC13]) + rows = [r for f in files.values() for r in f["줄"] if r["키"] >= "GC001143"] + loose = set() + for row in rows: + auto = ma.values(whole, row) + got = mf.run(whole, row["키"], auto) + value = got.get("결과", got.get("계")) + assert value >= 0, row["키"] + spec = {i["이름"]: i for i in row["입력"]} + for name in GUARD.findall(" ".join(ma._texts(row))): + if "범위" in spec.get(name, {}): + assert auto[name] == 0, (row["키"], name) + elif name in spec: + loose.add(name) + base = cm.시험입력(row) + zero = mf.run(whole, row["키"], {**base, name: 0})["결과"] + one = mf.run(whole, row["키"], {**base, name: 1})["결과"] + assert one / zero < 10, (row["키"], name) + assert loose == {"전진거리", "후진거리", "주행거리", "혼합횟수", "플랜트싸이클"}