chore(rebar): Pier_T_rebar 작업 폴더 초기 구성 및 외부 의존 파일 통합

- Code\rebar_pipeline, review_pipeline, pier-program을 정션에서 실제 폴더로 전환
- Code\rhino_mcp 및 CLAUDE_rhino배경.md 추가, .mcp.json은 PYTHONPATH로 새 위치 사용
- pier-program 내부 .git 제거(이력은 backup\pier-program_20261028.bundle에 보관)
- worktree 가이드 반영(CLAUDE.local.md, HANDOFF.md)
- D:\Rhino-MCP 경로 참조를 새 위치로 치환

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ahnyongjooandClaude Sonnet 5.5 committed 2026-10-28 11:20:18 +09:00
commit 964a841de1
3978 files changed
+58013356

No files matched your search

@@ -0,0 +1 @@
{"version": "1", "sources": ["8a7d7d1baac8a882130389776ff4d2c41c1c91306642be907a31bdb599adc479", "0549a0f9165f5105192e45a86bd8b4603e38f89e880a2f0e09d0aae2d651cabf", "7e28c5f9919ef054b6328aa8bfc4a12cba08550de4351606b614c3e7643d2b8a", "0919ec2f363c68495acd11f6c4aa2cda66dd0cce225df7df1115a5c58e57f78e"], "fields": {"params:pile.segments.0.d": {"v": 2350.0, "hits": [{"text": "2,350", "x": 86041.5, "y": -503184.1, "layer": "CS-DIMT", "dwg": "D1", "kind": "mm"}, {"text": "2,350", "x": 105105.4, "y": -503184.1, "layer": "CS-DIMT", "dwg": "D1", "kind": "mm"}, {"text": "2,350", "x": 84510.9, "y": -706661.9, "layer": "CS-DIMT", "dwg": "D4", "kind": "mm"}], "shared": 1}, "params:coping.side.half_width_top": {"v": 1100.0, "hits": [{"text": "1,100", "x": 105655.6, "y": -471154.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "mm"}, {"text": "1,100", "x": 104555.6, "y": -471154.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "mm"}, {"text": "1,100", "x": 79592.6, "y": -464894.9, "layer": "CS-DIMT", "dwg": "D1", "kind": "mm"}, {"text": "1,100", "x": 79592.6, "y": -465994.9, "layer": "CS-DIMT", "dwg": "D1", "kind": "mm"}], "shared": 1}, "params:coping.plan_end.half_width": {"v": 1100.0, "hits": [{"text": "1,100", "x": 105655.6, "y": -471154.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "mm"}, {"text": "1,100", "x": 104555.6, "y": -471154.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "mm"}, {"text": "1,100", "x": 79592.6, "y": -464894.9, "layer": "CS-DIMT", "dwg": "D1", "kind": "mm"}, {"text": "1,100", "x": 79592.6, "y": -465994.9, "layer": "CS-DIMT", "dwg": "D1", "kind": "mm"}], "shared": 1}, "params:bearing_seats.bearings.1.el_x": {"v": 60427, "hits": [{"text": "60.427", "x": 122114.4, "y": -474311.3, "layer": "CS-TABL-TEX2", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:bearing_seats.bearings.1.centre.0": {"v": 2250.0, "hits": [{"text": "2,250", "x": 87166.7, "y": -471214.1, "layer": "CS-DIMT", "dwg": "D1", "kind": "mm"}, {"text": "2,250", "x": 84916.7, "y": -471214.1, "layer": "CS-DIMT", "dwg": "D1", "kind": "mm"}, {"text": "2,250", "x": 87166.7, "y": -461345.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "mm"}, {"text": "2,250", "x": 84916.7, "y": -461345.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "mm"}, {"text": "2.250", "x": 70129.7, "y": -707086.0, "layer": "CS-TABL-TEX2", "dwg": "D3", "kind": "m"}], "shared": 1}, "params:bearing_seats.bearings.0.el_x": {"v": 60112, "hits": [{"text": "60.112", "x": 122114.4, "y": -473511.3, "layer": "CS-TABL-TEX2", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:bearing_seats.bearings.0.centre.0": {"v": -2250.0, "hits": [{"text": "2,250", "x": 87166.7, "y": -471214.1, "layer": "CS-DIMT", "dwg": "D1", "kind": "mm"}, {"text": "2,250", "x": 84916.7, "y": -471214.1, "layer": "CS-DIMT", "dwg": "D1", "kind": "mm"}, {"text": "2,250", "x": 87166.7, "y": -461345.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "mm"}, {"text": "2,250", "x": 84916.7, "y": -461345.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "mm"}, {"text": "2.250", "x": 70129.7, "y": -707086.0, "layer": "CS-TABL-TEX2", "dwg": "D3", "kind": "m"}], "shared": 1}, "params:bearing_seats.pedestal.size_y": {"v": 1400.0, "hits": [{"text": "1400", "x": 136064.0, "y": -473511.3, "layer": "CS-TABL-TEX2", "dwg": "D1", "kind": "mm"}, {"text": "1400", "x": 136064.0, "y": -474311.3, "layer": "CS-TABL-TEX2", "dwg": "D1", "kind": "mm"}, {"text": "1,400", "x": 38753.3, "y": -703047.6, "layer": "CS-DIMT", "dwg": "D3", "kind": "mm"}, {"text": "1,400", "x": 44353.6, "y": -708046.3, "layer": "CS-DIMT", "dwg": "D3", "kind": "mm"}], "shared": 1}, "params:bearing_seats.pedestal.size_x": {"v": 1300.0, "hits": [{"text": "1,300", "x": 116364.4, "y": -492294.7, "layer": "CS-DIMT", "dwg": "D1", "kind": "mm"}, {"text": "1,300", "x": 124764.4, "y": -492294.7, "layer": "CS-DIMT", "dwg": "D1", "kind": "mm"}, {"text": "1300", "x": 140564.0, "y": -473511.3, "layer": "CS-TABL-TEX2", "dwg": "D1", "kind": "mm"}, {"text": "1300", "x": 140564.0, "y": -474311.3, "layer": "CS-TABL-TEX2", "dwg": "D1", "kind": "mm"}, {"text": "1,300", "x": 42194.0, "y": -706070.0, "layer": "CS-DIMT", "dwg": "D3", "kind": "mm"}], "shared": 1}, "params:shaft_rebar.design_lengths.P3-2": {"v": 3342.0, "hits": [{"text": "3.342", "x": 91321.6, "y": -707137.5, "layer": "CS-TABL-TEX2", "dwg": "D4", "kind": "m"}], "shared": 1}, "params:shaft_rebar.design_lengths.P3-1": {"v": 2652.0, "hits": [{"text": "2.652", "x": 91321.6, "y": -706777.5, "layer": "CS-TABL-TEX2", "dwg": "D4", "kind": "m"}], "shared": 1}, "params:shaft_rebar.design_lengths.P1-2": {"v": 3400.0, "hits": [{"text": "3.400", "x": 101634.2, "y": -707137.5, "layer": "CS-TABL-TEX2", "dwg": "D4", "kind": "m"}], "shared": 1}, "params:shaft_rebar.design_lengths.P1-1": {"v": 8750.0, "hits": [{"text": "8.750", "x": 101634.2, "y": -706417.5, "layer": "CS-TABL-TEX2", "dwg": "D4", "kind": "m"}], "shared": 1}, "expected:G1.seats.pedestal_across": {"v": 1300, "hits": [{"text": "1,300", "x": 116364.4, "y": -492294.7, "layer": "CS-DIMT", "dwg": "D1", "kind": "mm"},Line truncated
@@ -0,0 +1,661 @@
{
"_schema": "pier-T-expected/1",
"_note": "독립 기대값: D1 치수 문자·EL 문자·표에서 옮긴 값. params와 별도. [작도] = 치수 문자 없음(작도값)",
"pier_id": "P1",
"tol_mm": 1.0,
"checkers": {
"G1": "g1_shaft.py",
"G2": "g2_straight.py",
"G3": "g3_shaft.py",
"G4": "g4_ramp.py"
},
"negative": {
"G1": [
{
"id": "BS02",
"d": [
3,
0,
0
]
},
{
"id": "BP01",
"d": [
0,
0,
2
]
}
],
"G5": [
{
"id": "BB02",
"d": [
5,
0,
0
]
},
{
"id": "SP01",
"d": [
0,
0,
5
]
}
],
"G2": [
{
"mark": "P1",
"d": [
5,
0,
0
]
},
{
"mark": "P2",
"d": [
0,
0,
5
]
}
],
"G3": [
{
"mark": "P1-1",
"d": [
5,
0,
0
]
},
{
"mark": "P2-1",
"d": [
0,
0,
5
]
}
],
"G4": [
{
"mark": "C1",
"d": [
0,
5,
0
]
},
{
"mark": "C7",
"d": [
0,
0,
5
]
}
]
},
"planned_fail": [],
"G1": {
"pile": {
"z_bottom": 32752,
"segments": [
{
"d": 2350,
"length": 7500
},
{
"d": 2500,
"length": 5200
}
],
"src": "'EL=32.752', '75, 2,350, 75', '2,500', '7,500', '5,200'"
},
"column": {
"d": 2000,
"z0": 45452,
"length": 12000,
"src": "'2,000', 'EL=45.452', '11,500' + '500'"
},
"coping": {
"top_length": 7000,
"bottom_length": 7600,
"column_face_half": 1000,
"soffit_rise": 1500,
"soffit_radius": 5000,
"width_y": 2200,
"side_bottom_width": 2000,
"z_top_left": 59952,
"z_top_right": 60267,
"top_step": 315,
"plan_end_corner_x": 3650,
"src": "'7,000', '7,600' (2,800+2,000+2,800), '1,500', '1,000', 'R=5,000', '2,200' (1,100+1,100), 'EL=59.952', 'EL=60.267', '315'; plan_end_corner_x [작도] D1 평면 51A"
},
"total_height": 27200,
"seats": {
"table": {
"1": [
60112,
110,
50,
900,
800
],
"2": [
60427,
110,
50,
900,
800
]
},
"pos": {
"1": [
-2250,
0
],
"2": [
2250,
0
]
},
"pedestal_along": 1400,
"pedestal_across": 1300,
"rotation_deg": {
"1": -5.55,
"2": -9.194
},
"pad_margin": [
200,
100
],
"src": "ELEVATION TABLE; 평면 '2,250' x2; C3 1,400, C6 1,300; rotation [작도] D1 평면"
}
},
"G5": {
"el_x": {
"1": 60112,
"2": 60427
},
"S": {
"1": -5.526,
"2": -5.526
},
"W": {
"1": 900,
"2": 900
},
"L": 1000,
"T": 50,
"h3": 190,
"bearing_size": {
"1": [
900,
800
],
"2": [
900,
800
]
},
"bearing_shrink": 100,
"thick_end": "-Y",
"colours": {
"bearing": [
0,
0,
0
],
"sole_plate": [
150,
150,
150
]
},
"src": "ELEVATION TABLE (EL.'X', h3, A, B, h4 = T); 솔플레이트 상세 TABLE (S, L, W, T1 78 / T2 22 -> 두꺼운 쪽 -Y, R4)"
},
"rebar_palette": {
"32": [
214,
39,
40
],
"29": [
255,
127,
14
],
"25": [
188,
60,
160
],
"19": [
44,
160,
44
],
"16": [
31,
119,
180
],
"22": [
23,
190,
207
],
"13": [
140,
86,
75
],
"35": [
148,
103,
189
]
},
"G2": {
"schedule_L": {
"P1": 16300,
"P2": 7758,
"P3": 2274
},
"schedule_n": {
"P1": 54,
"P2": 107,
"P3": 108
},
"dia": {
"P1": 35,
"P2": 16,
"P3": 16
},
"chain_anchor": 45492.0,
"main": {
"mark": "P1",
"radius": 875,
"divisions": 54,
"start_deg": 0.0,
"below_anchor": 2000,
"coupler": 40
},
"hoops": {
"mark": "P2",
"radius": 901,
"pitch": 150,
"below": 13
},
"ties": {
"mark": "P3",
"pitch": 300,
"below": 6,
"per_level": 2,
"y_lift": 16
},
"src": "D4 재료표(기둥) L·N, D3 상세 r 901; D2 단면 '125, 875, 875, 125' DIVISION 54; D2 사슬 '2,000', H4 14@150, H5 78@150, H1 7@300, H2 39@300 (기점 EL 45.492); K1 커플러 40, K2 hoop 13단 아래, K3 Y +16 (사용자 결정 2026-10-13)"
},
"G3": {
"schedule_L": {
"P1-1": 8750,
"P1-2": 3400,
"P2-1": 9000,
"P3-1": 2652,
"P3-2": 3342
},
"schedule_n": {
"P1-1": 61,
"P1-2": 61,
"P2-1": 48,
"P3-1": 48,
"P3-2": 30
},
"dia": {
"P1-1": 35,
"P1-2": 22,
"P2-1": 16,
"P3-1": 16,
"P3-2": 16
},
"shaft_top": 45452.0,
"main": {
"pieces": [
"P1-2",
"P1-1"
],
"radius": 999.5,
"divisions": 61,
"start_deg": 1.475
},
"hoops": {
"mark": "P2-1",
"radius": 1025,
"chain": {
"first": 110,
"groups": [
[
13,
150
],
[
34,
300
]
]
}
},
"ties": {
"mark": "P3-1",
"chain": {
"first": 260,
"groups": [
[
6,
300
],
[
17,
600
]
]
},
"y_lift": 16
},
"u_bars": {
"mark": "P3-2",
"bottom_above": 100
},
"plate": {
"size": 1250,
"thickness": 4
},
"src": "D4 재료표(기둥)·PLATE 재료표; 구조물 치수표 H 12,700, H1 17@600, H2 6@300, H3 34@300, H4 13@150, H5·H6 340, 사슬 '260'·'110'·'100'; 단면 원 r 1,025, DIVISION 61 (첫 1.475°); S1~S6 사용자 결정 2026-10-13"
},
"G4": {
"schedule": {
"C1": [
8617,
9
],
"C2": [
7177,
9
],
"C4": [
8617,
8
],
"C5": [
7177,
8
],
"C3": [
7230,
9
],
"C6": [
9003,
9
],
"S3": [
1250,
44
],
"S4": [
1250,
44
],
"C7": [
7480,
20
],
"C8": [
6071,
40
],
"C9": [
9251,
15
],
"C10": [
7426,
30
],
"C11": [
8110,
20
],
"C12": [
5333,
40
],
"C13": [
11309,
18
],
"C14": [
18057,
12
],
"C15": [
2700,
51
],
"C16": [
4000,
17
],
"S1": [
2700,
22
],
"S2": [
2600,
24
]
},
"dia": {
"C1": 29,
"C2": 29,
"C4": 29,
"C5": 29,
"C3": 25,
"C6": 25,
"S3": 25,
"S4": 25,
"C7": 19,
"C8": 19,
"C9": 19,
"C10": 19,
"C11": 19,
"C12": 19,
"C13": 19,
"C14": 19,
"C15": 19,
"C16": 19,
"S1": 16,
"S2": 16
},
"fixed_length": [
"C1",
"C2",
"C3",
"C4",
"C5",
"C6",
"C15",
"C16",
"S1",
"S2",
"S3",
"S4"
],
"layers": {
"C1": {
"z": 59852,
"y": {
"start": -1000,
"pitch": 250,
"n": 9
},
"x_top": [
-3425.6,
3492.1
]
},
"C4": {
"z": 59852,
"y": {
"start": -875,
"pitch": 250,
"n": 8
},
"x_top": [
-3425.6,
3492.1
]
},
"C2": {
"z": 59752,
"y": {
"start": -1000,
"pitch": 250,
"n": 9
},
"x_top": [
-3455.6,
3515.0
]
},
"C5": {
"z": 59752,
"y": {
"start": -875,
"pitch": 250,
"n": 8
},
"x_top": [
-3455.6,
3515.0
]
},
"C3": {
"z": 59652,
"y": {
"start": -1000,
"pitch": 250,
"n": 9
},
"x_top": [
-3485.6,
3537.8
]
},
"C16": {
"z": 60167,
"y": {
"start": -1000,
"pitch": 125,
"n": 17
},
"x_top": [
100,
3400
]
}
},
"stirrups": {
"x": {
"start": -3375,
"pitch": 125,
"n": 55
},
"inner_dx": 20,
"top_cover": 77.5,
"bottom_cover": 77.5,
"outer_y": [
-875,
750
],
"zones": {
"left": [
"C7",
"C8",
-3375,
-1000
],
"centre": [
"C9",
"C10",
-875,
875
],
"right": [
"C11",
"C12",
1000,
3375
]
}
},
"loops": {
"per_level": 3,
"levels": {
"C14": [
59827,
59577,
59327,
59077
],
"C13": [
58827,
58577,
58327,
58077,
57827,
57577
]
}
},
"c6": {
"z_bottom": 57552,
"y": [
-906.5,
-750,
-500,
-250,
0,
250,
500,
750,
906.5
],
"y_note": "T1 @250 9본; 하면 직선부(EL 57.552)에서는 바깥 2본이 측면 테이퍼 피복 100.2로 ±906.5"
},
"c15": {
"a": 2000
},
"seats": {
"1": {
"S1": 11,
"S2": 12,
"S3": 22,
"S4": 22
},
"2": {
"S1": 11,
"S2": 12,
"S3": 22,
"S4": 22
}
},
"src": "D3 재료표·철근 상세; D2 정면 작도(상면 3단 EL·x 끝, 스터럽 55곳, C13·C14 단, C16); 단면 A-A·B-B(행 @125/@250, 스터럽 y·피복 77.5); 교좌면 E-E·F-F; 결정 T1~T6 (2026-10-14)"
}
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,7 @@
{
"name": "Ramp-A교P1형",
"desc": "단일 현장타설말뚝(Ø2.35 암반 근입 + Ø2.5) · 원형 기둥 Ø2.0 · Y형 코핑(하면 R5,000, 끝면 평면 볼록, 상면 315 단차) · 받침 2개(회전) · 철근 G2 기둥 · G3 말뚝 철근망(PLATE) · G4 코핑(철근별 중심선 449본)",
"source": "Ramp-A교P1",
"created": "2026-10-14 08:49:45",
"inputs_sha": "c55f791089aa00a4"
}
@@ -0,0 +1,309 @@
{
"_schema": "variability/1",
"status": "초안 — 템플릿 담당자 확정 전",
"grades": {
"V1": "값 변수",
"V2": "목록 변수",
"V3": "생성 변수",
"F": "고정"
},
"sections": {
"params:_schema": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"params:pier_id": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "교각 식별자",
"info": false
},
"params:_meta": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"params:scope": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "모델링 게이트 범위(실행 설정)",
"info": false
},
"params:builders": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "게이트별 생성기(실행 설정)",
"info": false
},
"params:pile": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"kind"
],
"note": "단일 말뚝 구간",
"info": false
},
"params:column": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"shape"
],
"note": "기둥 지름·높이 (단면 형식 shape는 고정)",
"info": false
},
"params:coping": {
"grade": "V2",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"form"
],
"note": "코핑 외곽·치수 (형식 form은 고정)",
"info": false
},
"params:materials": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [],
"note": "재료 강도 주기",
"info": false
},
"params:bearing_seats": {
"grade": "V1",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [
"pedestal",
"pedestals"
],
"note": "받침 표 값 + 평면 위치 (대좌 구조는 고정)",
"info": false
},
"params:sole_plates": {
"grade": "V1",
"source": [
"표"
],
"fixed_fields": [
"bearing_size"
],
"note": "솔플레이트 표 값 (받침 크기 규칙은 고정)",
"info": false
},
"params:rebar_marks": {
"grade": "V1",
"source": [
"표"
],
"fixed_fields": [
"*.shape"
],
"note": "재료표 직경·형상 (마크 체계의 형상은 고정)",
"info": false
},
"params:rebar_marks_src": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"params:display": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "표시·색 설정",
"info": false
},
"params:column_rebar": {
"grade": "V2",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"form"
],
"note": "기둥 철근 사슬·위치",
"info": false
},
"params:shaft_rebar": {
"grade": "V2",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"form"
],
"note": "말뚝 철근",
"info": false
},
"params:coping_rebar": {
"grade": "V3",
"source": [
"판독 스크립트"
],
"fixed_fields": [
"form",
"host",
"group"
],
"note": "코핑 철근 — 철근별 중심선 목록(판독 스크립트로 생성)",
"info": false
},
"expected:_schema": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"expected:_note": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"expected:pier_id": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "교각 식별자",
"info": false
},
"expected:tol_mm": {
"grade": "V1",
"source": [
"사람 입력"
],
"fixed_fields": [],
"note": "허용 오차",
"info": false
},
"expected:checkers": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "게이트별 검사기(실행 설정)",
"info": false
},
"expected:negative": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "음성 시험 대상(실행 설정)",
"info": false
},
"expected:planned_fail": {
"grade": "V1",
"source": [
"사람 입력"
],
"fixed_fields": [],
"note": "계획된 FAIL (사람 결정 기록)",
"info": false
},
"expected:G1": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:G5": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:rebar_palette": {
"grade": "V1",
"source": [
"사람 입력"
],
"fixed_fields": [],
"note": "철근 직경별 색 (사람 결정 기록)",
"info": false
},
"expected:G2": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:G3": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:G4": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
}
}
}
@@ -0,0 +1 @@
{"version": "1", "sources": ["5805357b67af903ef0a9f17007a31e3ab513accb69d83e5b8950a0272c20707a"], "fields": {"params:lean_concrete.z_top": {"v": 42763, "hits": [{"text": "EL. 42.763", "x": -83822.7, "y": -22989.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 2}, "params:footing.thickness": {"v": 2500.0, "hits": [{"text": "2.500", "x": 34776.8, "y": -20361.5, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.500", "x": 31339.8, "y": -24224.6, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.500", "x": 34738.1, "y": -28183.5, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.500", "x": 31301.2, "y": -32046.5, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.500", "x": 34722.4, "y": -35946.1, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.500", "x": 31285.4, "y": -39809.2, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}], "shared": 3}, "params:footing.z_bottom": {"v": 42763, "hits": [{"text": "EL. 42.763", "x": -83822.7, "y": -22989.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 2}, "params:column.height": {"v": 22600, "hits": [{"text": "22.600", "x": 16273.9, "y": -34758.9, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:column.diameter": {"v": 2500.0, "hits": [{"text": "2.500", "x": 34776.8, "y": -20361.5, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.500", "x": 31339.8, "y": -24224.6, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.500", "x": 34738.1, "y": -28183.5, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.500", "x": 31301.2, "y": -32046.5, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.500", "x": 34722.4, "y": -35946.1, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.500", "x": 31285.4, "y": -39809.2, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}], "shared": 3}, "params:coping.z_top_right": {"v": 71063.0, "hits": [{"text": "EL. 71.063", "x": -82908.4, "y": -11189.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 3}, "params:coping.z_top_left": {"v": 71193.0, "hits": [{"text": "EL. 71.193", "x": -95476.1, "y": -11059.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 3}, "params:coping.plan_length": {"v": 10000.0, "hits": [{"text": "10.000", "x": 10218.2, "y": -19324.1, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "10.000", "x": 10218.2, "y": -26123.3, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:coping.profile_xz.6.1": {"v": 71193.0, "hits": [{"text": "EL. 71.193", "x": -95476.1, "y": -11059.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 3}, "params:coping.profile_xz.5.1": {"v": 71193.0, "hits": [{"text": "EL. 71.193", "x": -95476.1, "y": -11059.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 3}, "params:coping.profile_xz.4.1": {"v": 71063.0, "hits": [{"text": "EL. 71.063", "x": -82908.4, "y": -11189.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 3}, "params:coping.profile_xz.3.1": {"v": 71063.0, "hits": [{"text": "EL. 71.063", "x": -82908.4, "y": -11189.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 3}, "params:bearing_seats.bearings.3.el_x": {"v": 71310, "hits": [{"text": "71.310", "x": -69076.6, "y": -32940.4, "layer": "CS-TABL-TEX2", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:bearing_seats.bearings.3.seat_z": {"v": 71063.0, "hits": [{"text": "EL. 71.063", "x": -82908.4, "y": -11189.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 3}, "params:bearing_seats.bearings.2.el_x": {"v": 71440, "hits": [{"text": "71.440", "x": -69076.6, "y": -32140.4, "layer": "CS-TABL-TEX2", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:bearing_seats.bearings.2.seat_z": {"v": 71193.0, "hits": [{"text": "EL. 71.193", "x": -95476.1, "y": -11059.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 3}, "params:bearing_seats.bearings.1.el_x": {"v": 71288, "hits": [{"text": "71.288", "x": -69076.6, "y": -31340.4, "layer": "CS-TABL-TEX2", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:bearing_seats.bearings.1.seat_z": {"v": 71063.0, "hits": [{"text": "EL. 71.063", "x": -82908.4, "y": -11189.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 3}, "params:bearing_seats.bearings.0.el_x": {"v": 71418, "hits": [{"text": "71.418", "x": -69076.6, "y": -30540.4, "layer": "CS-TABL-TEX2", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:bearing_seats.bearings.0.seat_z": {"v": 71193.0, "hits": [{"text": "EL. 71.193", "x": -95476.1, "y": -11059.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 3}, "params:column_rebar.ties.straight": {"v": 2295, "hits": [{"text": "2.295", "x": 100886.3, "y": -24794.6, "layer": "CS-TABL-TEX2", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:column_rebar.hoops.zones.2.a": {"v": 3610, "hits": [{"text": "3.610", "x": 100886.3, "y": -25604.6, "layer": "CS-TABL-TEX2", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:column_rebar.hoops.zones.1.a": {"v": 7164, "hits": [{"text": "7.Line truncated
@@ -0,0 +1,7 @@
{
"name": "산외교울산P1형",
"desc": "직접기초(말뚝 없음) · 원형 기둥 Ø2.5 · 직선 경사 코핑(끝면 300 경사, 상면 130 단차, 평면 R500) · 받침 4개 · 철근 G2~G4 울산 형식(코핑 철근은 철근별 중심선)",
"source": "_휴지통/산외교울산P1_20261013_131140",
"created": "2026-10-13 13:18:47",
"inputs_sha": "d701f1270fd40f2c"
}
@@ -0,0 +1,316 @@
{
"_schema": "variability/1",
"status": "초안 — 템플릿 담당자 확정 전",
"grades": {
"V1": "값 변수",
"V2": "목록 변수",
"V3": "생성 변수",
"F": "고정"
},
"sections": {
"params:_schema": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"params:pier_id": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "교각 식별자",
"info": false
},
"params:_meta": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"params:scope": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "모델링 게이트 범위(실행 설정)",
"info": false
},
"params:builders": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "게이트별 생성기(실행 설정)",
"info": false
},
"params:lean_concrete": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [],
"note": "버림콘크리트 치수·EL",
"info": false
},
"params:footing": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [],
"note": "기초 치수·EL (rot_deg = 기초 회전 각도 값)",
"info": false
},
"params:column": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"shape"
],
"note": "기둥 지름·높이 (단면 형식 shape는 고정)",
"info": false
},
"params:coping": {
"grade": "V2",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"form"
],
"note": "코핑 외곽·치수 (형식 form은 고정)",
"info": false
},
"params:materials": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [],
"note": "재료 강도 주기",
"info": false
},
"params:bearing_seats": {
"grade": "V1",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [
"pedestal",
"pedestals"
],
"note": "받침 표 값 + 평면 위치 (대좌 구조는 고정)",
"info": false
},
"params:sole_plates": {
"grade": "V1",
"source": [
"표"
],
"fixed_fields": [
"bearing_size"
],
"note": "솔플레이트 표 값 (받침 크기 규칙은 고정)",
"info": false
},
"params:display": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "표시·색 설정",
"info": false
},
"params:rebar_marks": {
"grade": "V1",
"source": [
"표"
],
"fixed_fields": [
"*.shape"
],
"note": "재료표 직경·형상 (마크 체계의 형상은 고정)",
"info": false
},
"params:rebar_marks_src": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"params:column_rebar": {
"grade": "V2",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"form"
],
"note": "기둥 철근 사슬·위치",
"info": false
},
"params:footing_rebar": {
"grade": "V2",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"form"
],
"note": "기초 철근 위치 사슬",
"info": false
},
"params:coping_rebar": {
"grade": "V3",
"source": [
"판독 스크립트"
],
"fixed_fields": [
"form",
"host",
"group"
],
"note": "코핑 철근 — 철근별 중심선 목록(판독 스크립트로 생성)",
"info": false
},
"expected:_schema": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"expected:_note": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"expected:pier_id": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "교각 식별자",
"info": false
},
"expected:tol_mm": {
"grade": "V1",
"source": [
"사람 입력"
],
"fixed_fields": [],
"note": "허용 오차",
"info": false
},
"expected:checkers": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "게이트별 검사기(실행 설정)",
"info": false
},
"expected:negative": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "음성 시험 대상(실행 설정)",
"info": false
},
"expected:rebar_palette": {
"grade": "V1",
"source": [
"사람 입력"
],
"fixed_fields": [],
"note": "철근 직경별 색 (사람 결정 기록)",
"info": false
},
"expected:planned_fail": {
"grade": "V1",
"source": [
"사람 입력"
],
"fixed_fields": [],
"note": "계획된 FAIL (사람 결정 기록)",
"info": false
},
"expected:G1": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:G5": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:G2": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:G3": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:G4": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
}
}
}
@@ -0,0 +1 @@
{"version": "1", "sources": ["8bc02c331e860a1fed9727e5d3f7d51b1dff661e7adaeb8264a778ac8cd69aca"], "fields": {"params:lean_concrete.z_top": {"v": 38916, "hits": [{"text": "EL. 38.916", "x": -80350.7, "y": -22099.7, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 2}, "params:footing.thickness": {"v": 2500.0, "hits": [{"text": "2.500", "x": 35840.2, "y": -21067.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.500", "x": 32403.3, "y": -24930.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.500", "x": 35801.6, "y": -28888.9, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.500", "x": 32364.7, "y": -32752.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.500", "x": 35785.9, "y": -36651.6, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.500", "x": 32348.9, "y": -40514.6, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}], "shared": 3}, "params:footing.z_bottom": {"v": 38916, "hits": [{"text": "EL. 38.916", "x": -80350.7, "y": -22099.7, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 2}, "params:footing.size_y": {"v": 7500.0, "hits": [{"text": "7.500", "x": 23726.8, "y": -42666.7, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "7.500", "x": 50548.0, "y": -25340.1, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "7.500", "x": 110601.4, "y": -34064.6, "layer": "CS-TABL-TEX2", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:footing.size_x": {"v": 7800.0, "hits": [{"text": "7.800", "x": 9723.9, "y": -42738.9, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "7.800", "x": 56135.0, "y": -30506.7, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "7.800", "x": 56135.0, "y": -19977.1, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "7.800", "x": 110601.4, "y": -33794.6, "layer": "CS-TABL-TEX2", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:column.height": {"v": 27300, "hits": [{"text": "27.300", "x": 15737.0, "y": -34424.7, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "27.300", "x": 110516.2, "y": -23714.6, "layer": "CS-TABL-TEX2", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:column.diameter": {"v": 2500.0, "hits": [{"text": "2.500", "x": 35840.2, "y": -21067.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.500", "x": 32403.3, "y": -24930.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.500", "x": 35801.6, "y": -28888.9, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.500", "x": 32364.7, "y": -32752.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.500", "x": 35785.9, "y": -36651.6, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.500", "x": 32348.9, "y": -40514.6, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}], "shared": 3}, "params:coping.z_top_right": {"v": 71916.0, "hits": [{"text": "EL. 71.916", "x": -79586.4, "y": -10299.7, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 3}, "params:coping.z_top_left": {"v": 72046.0, "hits": [{"text": "EL. 72.046", "x": -92154.1, "y": -10169.7, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 3}, "params:coping.plan_length": {"v": 10000.0, "hits": [{"text": "10.000", "x": 9681.3, "y": -19135.6, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "10.000", "x": 9681.3, "y": -25941.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:coping.profile_xz.6.1": {"v": 72046.0, "hits": [{"text": "EL. 72.046", "x": -92154.1, "y": -10169.7, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 3}, "params:coping.profile_xz.5.1": {"v": 72046.0, "hits": [{"text": "EL. 72.046", "x": -92154.1, "y": -10169.7, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 3}, "params:coping.profile_xz.4.1": {"v": 71916.0, "hits": [{"text": "EL. 71.916", "x": -79586.4, "y": -10299.7, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 3}, "params:coping.profile_xz.3.1": {"v": 71916.0, "hits": [{"text": "EL. 71.916", "x": -79586.4, "y": -10299.7, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 3}, "params:bearing_seats.bearings.3.el_x": {"v": 72163, "hits": [{"text": "72.163", "x": -65754.6, "y": -33539.3, "layer": "CS-TABL-TEX2", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:bearing_seats.bearings.3.seat_z": {"v": 71916.0, "hits": [{"text": "EL. 71.916", "x": -79586.4, "y": -10299.7, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 3}, "params:bearing_seats.bearings.2.el_x": {"v": 72293, "hits": [{"text": "72.293", "x": -65754.6, "y": -32739.3, "layer": "CS-TABL-TEX2", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:bearing_seats.bearings.2.seat_z": {"v": 72046.0, "hits": [{"text": "EL. 72.046", "x": -92154.1, "y": -10169.7, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 3}, "params:bearing_seats.bearings.1.el_x": {"v": 72133, "hits": [{"text": "72.133", "x": -65754.6, "y": -31939.3, "layer": "CS-TABL-TEX2", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:bearing_seats.bearings.1.seat_z": {"v": 71916.0, "hits": [{"Line truncated
@@ -0,0 +1,7 @@
{
"name": "산외교울산P2형",
"desc": "강관말뚝 Ø508 6×5 기초(평면 37° 회전) · 기둥 Ø2.5 · 직선 경사 코핑(끝면 300 경사, 상면 130 단차, 평면 R500) · 받침 4개 · 철근 G2 링(주철근 68) · G3 기초(B7 320 [추론], 기초 회전 포함) · G4 코핑·받침(철근별 중심선 372본)",
"source": "산외교울산P2",
"created": "2026-10-16 15:37:46",
"inputs_sha": "3f3b19ffe8d277a9"
}
@@ -0,0 +1,327 @@
{
"_schema": "variability/1",
"status": "초안 — 템플릿 담당자 확정 전",
"grades": {
"V1": "값 변수",
"V2": "목록 변수",
"V3": "생성 변수",
"F": "고정"
},
"sections": {
"params:_schema": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"params:pier_id": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "교각 식별자",
"info": false
},
"params:_meta": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"params:scope": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "모델링 게이트 범위(실행 설정)",
"info": false
},
"params:builders": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "게이트별 생성기(실행 설정)",
"info": false
},
"params:lean_concrete": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [],
"note": "버림콘크리트 치수·EL",
"info": false
},
"params:footing": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [],
"note": "기초 치수·EL (rot_deg = 기초 회전 각도 값)",
"info": false
},
"params:column": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"shape"
],
"note": "기둥 지름·높이 (단면 형식 shape는 고정)",
"info": false
},
"params:coping": {
"grade": "V2",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"form"
],
"note": "코핑 외곽·치수 (형식 form은 고정)",
"info": false
},
"params:materials": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [],
"note": "재료 강도 주기",
"info": false
},
"params:bearing_seats": {
"grade": "V1",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [
"pedestal",
"pedestals"
],
"note": "받침 표 값 + 평면 위치 (대좌 구조는 고정)",
"info": false
},
"params:sole_plates": {
"grade": "V1",
"source": [
"표"
],
"fixed_fields": [
"bearing_size"
],
"note": "솔플레이트 표 값 (받침 크기 규칙은 고정)",
"info": false
},
"params:display": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "표시·색 설정",
"info": false
},
"params:rebar_marks": {
"grade": "V1",
"source": [
"표"
],
"fixed_fields": [
"*.shape"
],
"note": "재료표 직경·형상 (마크 체계의 형상은 고정)",
"info": false
},
"params:rebar_marks_src": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"params:column_rebar": {
"grade": "V2",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"form"
],
"note": "기둥 철근 사슬·위치",
"info": false
},
"params:footing_rebar": {
"grade": "V2",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"form"
],
"note": "기초 철근 위치 사슬",
"info": false
},
"params:coping_rebar": {
"grade": "V3",
"source": [
"판독 스크립트"
],
"fixed_fields": [
"form",
"host",
"group"
],
"note": "코핑 철근 — 철근별 중심선 목록(판독 스크립트로 생성)",
"info": false
},
"params:piles": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"kind"
],
"note": "말뚝 개수·간격·길이 (말뚝 유무는 템플릿 형식)",
"info": false
},
"expected:_schema": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"expected:_note": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"expected:pier_id": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "교각 식별자",
"info": false
},
"expected:tol_mm": {
"grade": "V1",
"source": [
"사람 입력"
],
"fixed_fields": [],
"note": "허용 오차",
"info": false
},
"expected:checkers": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "게이트별 검사기(실행 설정)",
"info": false
},
"expected:negative": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "음성 시험 대상(실행 설정)",
"info": false
},
"expected:rebar_palette": {
"grade": "V1",
"source": [
"사람 입력"
],
"fixed_fields": [],
"note": "철근 직경별 색 (사람 결정 기록)",
"info": false
},
"expected:planned_fail": {
"grade": "V1",
"source": [
"사람 입력"
],
"fixed_fields": [],
"note": "계획된 FAIL (사람 결정 기록)",
"info": false
},
"expected:G1": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:G5": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:G2": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:G3": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:G4": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
}
}
}
@@ -0,0 +1 @@
{"version": "1", "sources": ["d1a5109698fe92427ea144a3abdf6c37843f592919598c998f90f7e9c0b6c9c6"], "fields": {"params:lean_concrete.z_top": {"v": 10032.0, "hits": [{"text": "EL. 10.032", "x": 38279.4, "y": 25864.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 2}, "params:lean_concrete.size_y": {"v": 7900.0, "hits": [{"text": "7.900", "x": 33285.3, "y": 21448.5, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "7.900", "x": 60895.3, "y": 21448.5, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:lean_concrete.size_x": {"v": 7900.0, "hits": [{"text": "7.900", "x": 33285.3, "y": 21448.5, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "7.900", "x": 60895.3, "y": 21448.5, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:footing.thickness": {"v": 2600.0, "hits": [{"text": "2.600", "x": 23703.0, "y": 25577.5, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.600", "x": 44703.9, "y": 25577.5, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.600", "x": 67247.0, "y": 25577.5, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.600", "x": 55299.8, "y": 25577.5, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.600", "x": 362744.4, "y": 26344.9, "layer": "CS-TABL-TEX2", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:footing.z_bottom": {"v": 10032.0, "hits": [{"text": "EL. 10.032", "x": 38279.4, "y": 25864.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 2}, "params:column.height": {"v": 16900.0, "hits": [{"text": "16.900", "x": 23703.0, "y": 30776.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "16.900", "x": 44703.9, "y": 30776.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "16.900", "x": 232792.5, "y": 26676.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:coping.side_taper.half_width_top": {"v": 1500.0, "hits": [{"text": "1.500", "x": 24861.0, "y": 55715.5, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "1.500", "x": 24861.0, "y": 54215.5, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:coping.z_top_right": {"v": 32936.0, "hits": [{"text": "EL. 32.936", "x": 40329.4, "y": 39324.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 4}, "params:coping.z_top_left": {"v": 32531.5, "hits": [{"text": "EL. 32.532", "x": 25384.4, "y": 39177.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 4}, "params:coping.top_length": {"v": 12000.0, "hits": [{"text": "12.000", "x": 34331.8, "y": 60537.2, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.000", "x": 33183.9, "y": 42836.9, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.000", "x": 225531.8, "y": 42003.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.000", "x": 225531.8, "y": 36021.3, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}], "shared": 2}, "params:coping.plan_length": {"v": 12000.0, "hits": [{"text": "12.000", "x": 34331.8, "y": 60537.2, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.000", "x": 33183.9, "y": 42836.9, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.000", "x": 225531.8, "y": 42003.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.000", "x": 225531.8, "y": 36021.3, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}], "shared": 2}, "params:coping.profile_xz.12.1": {"v": 32531.5, "hits": [{"text": "EL. 32.532", "x": 25384.4, "y": 39177.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 4}, "params:coping.profile_xz.11.1": {"v": 32531.5, "hits": [{"text": "EL. 32.532", "x": 25384.4, "y": 39177.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 4}, "params:coping.profile_xz.4.1": {"v": 32936.0, "hits": [{"text": "EL. 32.936", "x": 40329.4, "y": 39324.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 4}, "params:coping.profile_xz.3.1": {"v": 32936.0, "hits": [{"text": "EL. 32.936", "x": 40329.4, "y": 39324.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 4}, "params:coping.profile_xz.1.0": {"v": 1200.0, "hits": [{"text": "1.200", "x": 32685.3, "y": 32414.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "1.200", "x": 33885.3, "y": 32414.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "1.200", "x": 317431.1, "y": 23834.1, "layer": "CS-DIML", "dwg": "D1", "kind": "m"}, {"text": "1.200", "x": 318315.8, "y": 23834.1, "layer": "CS-DIML", "dwg": "D1", "kind": "m"}], "shared": 2}, "params:coping.profile_xz.0.0": {"v": -1200.0, "hits": [{"text": "1.200", "x": 32685.3, "y": 32414.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "1.200", "x": 33885.3, "y": 32414.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "1.200", "x": 317431.1, "y": 23834.1, "layer": "CS-DIML", "dwg": "D1", "kind": "m"}, {"text": "1.200", "x": 318315.8, "y": 23834.1, "layer": "CS-DIML", "dwg": "D1", "kind": "m"}], "shared": 2}, "params:bearing_seats.bearings.9.el_x": {"v": 33180, "hits": [{"text": "33.180", "x": 120393.1, "y": 3Line truncated
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,7 @@
{
"name": "새재1교P1형",
"desc": "직접기초(말뚝 없음) · 원형 기둥 Ø2.2 · 직선 경사 코핑(끝면 수직, 상면 5단, 측면 3,000→2,200 테이퍼, 평면 직사각) · 받침 10개(대좌 5개 공유, 받침 평면 회전) · 철근 G2 기둥(주철근 2겹 49본) · G3 기초(철근별 중심선 307본) · G4 코핑·받침좌 철근(철근별 중심선 873본)",
"source": "새재1교P1",
"created": "2026-10-15 11:48:35",
"inputs_sha": "19d5dc4fdc89c918"
}
@@ -0,0 +1,316 @@
{
"_schema": "variability/1",
"status": "초안 — 템플릿 담당자 확정 전",
"grades": {
"V1": "값 변수",
"V2": "목록 변수",
"V3": "생성 변수",
"F": "고정"
},
"sections": {
"params:_schema": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"params:pier_id": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "교각 식별자",
"info": false
},
"params:_meta": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"params:scope": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "모델링 게이트 범위(실행 설정)",
"info": false
},
"params:builders": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "게이트별 생성기(실행 설정)",
"info": false
},
"params:lean_concrete": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [],
"note": "버림콘크리트 치수·EL",
"info": false
},
"params:footing": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [],
"note": "기초 치수·EL (rot_deg = 기초 회전 각도 값)",
"info": false
},
"params:column": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"shape"
],
"note": "기둥 지름·높이 (단면 형식 shape는 고정)",
"info": false
},
"params:coping": {
"grade": "V2",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"form"
],
"note": "코핑 외곽·치수 (형식 form은 고정)",
"info": false
},
"params:materials": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [],
"note": "재료 강도 주기",
"info": false
},
"params:bearing_seats": {
"grade": "V1",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [
"pedestal",
"pedestals"
],
"note": "받침 표 값 + 평면 위치 (대좌 구조는 고정)",
"info": false
},
"params:sole_plates": {
"grade": "V1",
"source": [
"표"
],
"fixed_fields": [
"bearing_size"
],
"note": "솔플레이트 표 값 (받침 크기 규칙은 고정)",
"info": false
},
"params:rebar_marks": {
"grade": "V1",
"source": [
"표"
],
"fixed_fields": [
"*.shape"
],
"note": "재료표 직경·형상 (마크 체계의 형상은 고정)",
"info": false
},
"params:rebar_marks_src": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"params:display": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "표시·색 설정",
"info": false
},
"params:column_rebar": {
"grade": "V2",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"form"
],
"note": "기둥 철근 사슬·위치",
"info": false
},
"params:footing_rebar": {
"grade": "V3",
"source": [
"판독 스크립트"
],
"fixed_fields": [
"form"
],
"note": "기초 철근 위치 사슬 — 철근별 중심선 목록(판독 스크립트로 생성)",
"info": false
},
"params:coping_rebar": {
"grade": "V3",
"source": [
"판독 스크립트"
],
"fixed_fields": [
"form",
"host",
"group"
],
"note": "코핑 철근 — 철근별 중심선 목록(판독 스크립트로 생성)",
"info": false
},
"expected:_schema": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"expected:pier_id": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "교각 식별자",
"info": false
},
"expected:tol_mm": {
"grade": "V1",
"source": [
"사람 입력"
],
"fixed_fields": [],
"note": "허용 오차",
"info": false
},
"expected:_note": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"expected:checkers": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "게이트별 검사기(실행 설정)",
"info": false
},
"expected:negative": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "음성 시험 대상(실행 설정)",
"info": false
},
"expected:planned_fail": {
"grade": "V1",
"source": [
"사람 입력"
],
"fixed_fields": [],
"note": "계획된 FAIL (사람 결정 기록)",
"info": false
},
"expected:G1": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:G5": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:rebar_palette": {
"grade": "V1",
"source": [
"사람 입력"
],
"fixed_fields": [],
"note": "철근 직경별 색 (사람 결정 기록)",
"info": false
},
"expected:G2": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:G3": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:G4": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
}
}
}
@@ -0,0 +1 @@
{"version": "1", "sources": ["8cfa9ac10f9412ae04184d25a6f1a04e5bed2c5e2f3c8a4992eecd7bac444720"], "fields": {"params:lean_concrete.z_top": {"v": 12175.0, "hits": [{"text": "EL. 12.175", "x": 396252.3, "y": 327649.9, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 2}, "params:footing.thickness": {"v": 2200.0, "hits": [{"text": "2.200", "x": 380729.3, "y": 327178.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.200", "x": 401729.3, "y": 327178.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.200", "x": 411564.4, "y": 327178.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "2.200", "x": 425364.4, "y": 327178.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:footing.z_bottom": {"v": 12175.0, "hits": [{"text": "EL. 12.175", "x": 396252.3, "y": 327649.9, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 2}, "params:column.height": {"v": 3800.0, "hits": [{"text": "3.800", "x": 380729.3, "y": 330178.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "3.800", "x": 401729.3, "y": 330178.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "3.800", "x": 580526.6, "y": 325219.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:coping.side_taper.half_width_bottom": {"v": 1250.0, "hits": [{"text": "1.250", "x": 634685.3, "y": 324237.5, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "1.250", "x": 716534.3, "y": 325863.6, "layer": "CS-TABL-TEX2", "dwg": "D1", "kind": "m"}, {"text": "1.250", "x": 716534.3, "y": 330063.6, "layer": "CS-TABL-TEX2", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:coping.side_taper.half_width_top": {"v": 1650.0, "hits": [{"text": "1.650", "x": 380204.3, "y": 350838.5, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "1.650", "x": 380204.3, "y": 352488.5, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:coping.z_top_right": {"v": 21127.7, "hits": [{"text": "EL. 21.128", "x": 397352.3, "y": 336602.6, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 4}, "params:coping.z_top_left": {"v": 21175.0, "hits": [{"text": "EL. 21.175", "x": 382407.3, "y": 336649.9, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 4}, "params:coping.top_length": {"v": 12000.0, "hits": [{"text": "12.000", "x": 390742.9, "y": 357359.6, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.000", "x": 390206.7, "y": 340192.1, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.000", "x": 573265.9, "y": 332947.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.000", "x": 572939.5, "y": 341144.7, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}], "shared": 2}, "params:coping.plan_length": {"v": 12000.0, "hits": [{"text": "12.000", "x": 390742.9, "y": 357359.6, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.000", "x": 390206.7, "y": 340192.1, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.000", "x": 573265.9, "y": 332947.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.000", "x": 572939.5, "y": 341144.7, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}], "shared": 2}, "params:coping.profile_xz.12.1": {"v": 21175.0, "hits": [{"text": "EL. 21.175", "x": 382407.3, "y": 336649.9, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 4}, "params:coping.profile_xz.11.1": {"v": 21175.0, "hits": [{"text": "EL. 21.175", "x": 382407.3, "y": 336649.9, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 4}, "params:coping.profile_xz.4.1": {"v": 21127.7, "hits": [{"text": "EL. 21.128", "x": 397352.3, "y": 336602.6, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 4}, "params:coping.profile_xz.3.1": {"v": 21127.7, "hits": [{"text": "EL. 21.128", "x": 397352.3, "y": 336602.6, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 4}, "params:coping.profile_xz.1.0": {"v": 1350.0, "hits": [{"text": "1.350", "x": 389633.2, "y": 329599.9, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "1.350", "x": 390983.2, "y": 329599.9, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:coping.profile_xz.0.0": {"v": -1350.0, "hits": [{"text": "1.350", "x": 389633.2, "y": 329599.9, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "1.350", "x": 390983.2, "y": 329599.9, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:bearing_seats.bearings.9.el_x": {"v": 21372, "hits": [{"text": "21.372", "x": 505672.8, "y": 332652.4, "layer": "CS-TABL-TEX2", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:bearing_seats.bearings.9.seat_z": {"v": 21127.7, "hits": [{"text": "EL. 21.128", "x": 397352.3, "y": 336602.6, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 4}, "params:bearing_seats.bearings.8.el_x": {"v": 21433, "hits": [{"text": "21.433", "x": 505672.8, "y": 333452.4, "layer": "CS-TABL-TEX2", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:bearing_seats.bearings.7.el_x": {"v": 21486, "hits": [{"text": "21.486", "x": 505672.8, "y": 334252.4, "layer": "Line truncated
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,7 @@
{
"name": "옥성교P1형",
"desc": "말뚝기초(강관 Ø609 5×5) · 원형 기둥 Ø2.5 · 직선 경사 코핑(끝면 수직, 상면 5단, 측면 3,300→2,500 테이퍼) · 평면 사각 18° · 받침 10개(대좌 5개 공유) · 철근 G2 기둥(2겹) · G3 기초(철근별 중심선 518본) · G4 코핑·교좌면(철근별 중심선 1,163본, 평면 전단)",
"source": "옥성교P1",
"created": "2026-10-14 16:05:54",
"inputs_sha": "a0343ac8d86ca674"
}
@@ -0,0 +1,327 @@
{
"_schema": "variability/1",
"status": "초안 — 템플릿 담당자 확정 전",
"grades": {
"V1": "값 변수",
"V2": "목록 변수",
"V3": "생성 변수",
"F": "고정"
},
"sections": {
"params:_schema": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"params:pier_id": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "교각 식별자",
"info": false
},
"params:_meta": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"params:scope": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "모델링 게이트 범위(실행 설정)",
"info": false
},
"params:builders": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "게이트별 생성기(실행 설정)",
"info": false
},
"params:lean_concrete": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [],
"note": "버림콘크리트 치수·EL",
"info": false
},
"params:footing": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [],
"note": "기초 치수·EL (rot_deg = 기초 회전 각도 값)",
"info": false
},
"params:piles": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"kind"
],
"note": "말뚝 개수·간격·길이 (말뚝 유무는 템플릿 형식)",
"info": false
},
"params:column": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"shape"
],
"note": "기둥 지름·높이 (단면 형식 shape는 고정)",
"info": false
},
"params:coping": {
"grade": "V2",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"form"
],
"note": "코핑 외곽·치수 (형식 form은 고정)",
"info": false
},
"params:materials": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [],
"note": "재료 강도 주기",
"info": false
},
"params:bearing_seats": {
"grade": "V1",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [
"pedestal",
"pedestals"
],
"note": "받침 표 값 + 평면 위치 (대좌 구조는 고정)",
"info": false
},
"params:sole_plates": {
"grade": "V1",
"source": [
"표"
],
"fixed_fields": [
"bearing_size"
],
"note": "솔플레이트 표 값 (받침 크기 규칙은 고정)",
"info": false
},
"params:rebar_marks": {
"grade": "V1",
"source": [
"표"
],
"fixed_fields": [
"*.shape"
],
"note": "재료표 직경·형상 (마크 체계의 형상은 고정)",
"info": false
},
"params:rebar_marks_src": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"params:display": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "표시·색 설정",
"info": false
},
"params:column_rebar": {
"grade": "V2",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"form"
],
"note": "기둥 철근 사슬·위치",
"info": false
},
"params:footing_rebar": {
"grade": "V3",
"source": [
"판독 스크립트"
],
"fixed_fields": [
"form"
],
"note": "기초 철근 위치 사슬 — 철근별 중심선 목록(판독 스크립트로 생성)",
"info": false
},
"params:coping_rebar": {
"grade": "V3",
"source": [
"판독 스크립트"
],
"fixed_fields": [
"form",
"host",
"group"
],
"note": "코핑 철근 — 철근별 중심선 목록(판독 스크립트로 생성)",
"info": false
},
"expected:_schema": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"expected:pier_id": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "교각 식별자",
"info": false
},
"expected:tol_mm": {
"grade": "V1",
"source": [
"사람 입력"
],
"fixed_fields": [],
"note": "허용 오차",
"info": false
},
"expected:_note": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"expected:checkers": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "게이트별 검사기(실행 설정)",
"info": false
},
"expected:negative": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "음성 시험 대상(실행 설정)",
"info": false
},
"expected:planned_fail": {
"grade": "V1",
"source": [
"사람 입력"
],
"fixed_fields": [],
"note": "계획된 FAIL (사람 결정 기록)",
"info": false
},
"expected:G1": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:G5": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:rebar_palette": {
"grade": "V1",
"source": [
"사람 입력"
],
"fixed_fields": [],
"note": "철근 직경별 색 (사람 결정 기록)",
"info": false
},
"expected:G2": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:G3": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:G4": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
}
}
}
@@ -0,0 +1 @@
{"version": "1", "sources": ["d275fc3541eb2598c67563a366be893183f0a86063bf80fbad22bc4a41ad0694", "0aa03f2145935b1a2d91ac6f50ed8f37269ada03ec69c22fc8a94e6a3b0584e1", "f77980c5f8592d50be0b22c72b626154af1f492884ad2803e310771643e442b5"], "fields": {"params:lean_concrete.z_top": {"v": 26208, "hits": [{"text": "EL. 26.208", "x": 17398.3, "y": 7683.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}, {"text": "EL. 26.208", "x": 24673.9, "y": 8775.6, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}, {"text": "EL. 26.208", "x": 17398.3, "y": -27122.5, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 2}, "params:lean_concrete.size_y": {"v": 8000, "hits": [{"text": "8.000", "x": 43290.6, "y": 25939.8, "layer": "CS-TABL-TEX2", "dwg": "D3", "kind": "m"}, {"text": "8.000", "x": 43290.6, "y": 27379.8, "layer": "CS-TABL-TEX2", "dwg": "D3", "kind": "m"}], "shared": 1}, "params:lean_concrete.size_x": {"v": 9550, "hits": [{"text": "9.550", "x": 43290.6, "y": 25579.8, "layer": "CS-TABL-TEX2", "dwg": "D3", "kind": "m"}, {"text": "9.550", "x": 43290.6, "y": 28819.8, "layer": "CS-TABL-TEX2", "dwg": "D3", "kind": "m"}], "shared": 1}, "params:footing.z_bottom": {"v": 26208, "hits": [{"text": "EL. 26.208", "x": 17398.3, "y": 7683.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}, {"text": "EL. 26.208", "x": 24673.9, "y": 8775.6, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}, {"text": "EL. 26.208", "x": 17398.3, "y": -27122.5, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 2}, "params:footing.size_y": {"v": 7800, "hits": [{"text": "7.800", "x": 29878.0, "y": 3741.9, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "7.800", "x": 22191.2, "y": 16615.7, "layer": "CS-DIMT", "dwg": "D2", "kind": "m"}, {"text": "7.800", "x": 35236.8, "y": 16615.7, "layer": "CS-DIMT", "dwg": "D2", "kind": "m"}, {"text": "7.800", "x": 43290.6, "y": 24139.8, "layer": "CS-TABL-TEX2", "dwg": "D3", "kind": "m"}], "shared": 1}, "params:footing.size_x": {"v": 9350, "hits": [{"text": "9.350", "x": 11903.7, "y": 3741.9, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "9.350", "x": -22952.2, "y": -26049.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "9.350", "x": 28817.0, "y": 23201.3, "layer": "CS-DIMT", "dwg": "D2", "kind": "m"}, {"text": "9.350", "x": 43290.6, "y": 24499.8, "layer": "CS-TABL-TEX2", "dwg": "D3", "kind": "m"}], "shared": 1}, "params:column.height": {"v": 12003, "hits": [{"text": "12.003", "x": 23303.6, "y": 14008.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.003", "x": 3029.4, "y": 14008.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.003", "x": 20129.4, "y": 14008.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.003", "x": 79697.1, "y": -195286.1, "layer": "CC-TABL-TEX2", "dwg": "D1", "kind": "m"}, {"text": "12.003", "x": 23303.6, "y": -375231.7, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.003", "x": 3029.4, "y": -375231.7, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:coping.top_steps.4.z": {"v": 43698, "hits": [{"text": "EL. 43.698", "x": 18443.1, "y": 20261.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 1}, "params:coping.top_steps.2.z": {"v": 43555, "hits": [{"text": "EL. 43.555", "x": 26179.8, "y": 20319.3, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 1}, "params:coping.top_steps.0.z": {"v": 43411, "hits": [{"text": "EL. 43.411", "x": 4867.8, "y": 20175.6, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 1}, "params:coping.flat_bottom_half_width": {"v": 1100, "hits": [{"text": "1.100", "x": 5846.3, "y": 21259.8, "layer": "CS-TABL-TEX2", "dwg": "D3", "kind": "m"}], "shared": 2}, "params:coping.length_bottom_tip_to_tip": {"v": 12400, "hits": [{"text": "12.400", "x": 11855.6, "y": 31231.1, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.400", "x": 11852.6, "y": 22820.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.400", "x": -14619.2, "y": 31231.1, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.400", "x": 11855.6, "y": -360258.3, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.400", "x": 11852.6, "y": -367938.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:bearing_seats.bearings.9.el_x": {"v": 43887, "hits": [{"text": "43.887", "x": 24938.3, "y": 3894.5, "layer": "CS-TABL-TEX2", "dwg": "D2", "kind": "m"}], "shared": 1}, "params:bearing_seats.bearings.8.el_x": {"v": 43816, "hits": [{"text": "43.816", "x": 24938.3, "y": 4374.5, "layer": "CS-TABL-TEX2", "dwg": "D2", "kind": "m"}], "shared": 1}, "params:bearing_seats.bearings.7.el_x": {"v": 43744, "hits": [{"text": "43.744", "x": 24938.3, "y": 4854.5, "layer": "CS-TABL-TEX2", "dwg": "D2", "kind": "m"}], "shared": 1}, "params:bearing_seats.bearings.6.el_x": {"v": 43672, "hits": [{"text": "43.672", "x": 24938.3, "y": 5334.5, "layer": "CS-TABL-TEX2", "dwg": "D2", "kind": "m"}], "shared": 1}, "params:bearing_seats.bearings.5.el_x": {"v": 43600, "hits": [{"textLine truncated
@@ -0,0 +1,118 @@
{
"_schema": "pier-T-expected/1",
"_note": "독립 기대값: 도면 치수 문자·표(D1~D3)에서 직접 옮긴 값. 생성용 params.json과 별도로 관리하며 검사기는 params를 읽지 않는다. 원출처: Code/교각모델링/verify_*.py (검증서 v0.1.05).",
"pier_id": "P1",
"tol_mm": 1.0,
"G1": {
"footing": {"dx": 9350, "dy": 7800, "z0": 26208, "thickness": 2200, "src": "D1 '9.350' '7.800' 'EL. 26.208' '2.200'"},
"lean": {"margin": 100, "thickness": 100, "src": "D1 footing +100 each side, 100 thick"},
"column": {"d": 2000, "height": 12003, "src": "D1 '2.000' '12.003'"},
"coping": {"dx": 12400, "dy": 3100, "z_top_left": 43411, "rise_upper": 1500, "rise_lower": 1500,
"z_top_right": 43698, "z_top_center": 43555, "flat_from_tip": 5100, "end_inset": 200, "radius": 12000,
"src": "D1 '12.400' '3.100' 'EL. 43.411' '1.500' x2 'EL. 43.698' 'EL. 43.555' '5.100' '200' 'R=12.000'"},
"coping_outline": [[-1100, 40411], [1100, 40411], [6200, 41911], [6000, 43698], [3715, 43698], [3715, 43627],
[1210, 43627], [1210, 43555], [-1296, 43555], [-1296, 43483], [-3801, 43483], [-3801, 43411],
[-6000, 43411], [-6200, 41911]],
"coping_outline_src": "D1 정면도 외형 (원호는 현으로 대체 후 활꼴 2개 차감)",
"dxf_arc_centres": {"datum_x": 12159.4, "datum_y": 16515.6, "datum_el": 40411,
"left": [5207.5, 6039.2], "right": [19111.2, 6039.2],
"src": "DXF ARC 1C4BF centre; datum CS-CNTL 1C546 / coping bottom line 1C4BD"},
"piles": {"nx": 6, "ny": 5, "pitch": 1550, "edge": 800, "d": 600, "length": 24400, "head_embedment": 100,
"src": "D1 '5@1.550' '4@1.550' '800' 'Ø600' 'L=24.4M'; 매입 100 (CS-CNTL)"},
"seats": {
"table": {"1": [43625, 164, 50, 700, 640], "2": [43697, 164, 50, 700, 640], "3": [43768, 164, 50, 700, 790],
"4": [43840, 164, 50, 700, 640], "5": [43912, 164, 50, 700, 640], "6": [43600, 139, 50, 700, 540],
"7": [43672, 139, 50, 700, 540], "8": [43744, 139, 50, 700, 650], "9": [43816, 139, 50, 700, 540],
"10": [43887, 139, 50, 700, 540]},
"table_columns": ["EL.'X'", "h1", "h2", "A", "B"],
"girders": 5,
"step_top": {"1": 43411, "2": 43483, "3": 43555, "4": 43627, "5": 43698},
"step_x": {"1": [-6000, -3801], "2": [-3801, -1296], "3": [-1296, 1210], "4": [1210, 3715], "5": [3715, 6000]},
"row_y": {"front": -698, "rear": 600},
"pitch_chain": [3, 7516],
"pedestal_plan": [1250, 1200],
"pad_margin": [200, 100],
"rear_first_from_tip": 1232,
"src": "D2 ELEVATION TABLE; D1 EL texts + drawn steps; D1 평면도 S1/S2 + D2 TABLE S1 (1550-852 / 1550-950); '3@2.505=7.516'; 대좌 2500x1200 반쪽; '1.232'"
}
},
"G2": {
"schedule_L": {"P1": 17247, "P2": 16553, "P3": 6436, "P4": 5636, "P5": 5636, "P6": 2136},
"schedule_n": {"P1": 46, "P2": 46, "P3": 36, "P4": 9, "P5": 22, "P6": 36},
"dia": {"P1": 32, "P2": 32, "P3": 19, "P4": 19, "P5": 19, "P6": 16},
"hoop_chain": {"start": [150, 1030], "groups": [[8, 120], [22, 120], [36, 300]]},
"hoop_marks_by_zone": [["P4", 9], ["P5", 22], ["P3", 36]],
"tie_chain": {"start": [150, 1030], "groups": [[8, 1800]]},
"tie_offset": 17.5,
"r_outer": 870.5, "r_inner": 825.5, "r_hoop": 897,
"main_divisions": 46,
"bottom_above_footing": 300,
"p1_top_parts": [300, 340, 16213],
"no_fillet_marks": ["P1", "P2", "P4", "P5"],
"src": "D3 L·수량; D1 '150','1.030','8@120=960','22@120=2.640','36@300=10.800','8@1.800=14.400'; HITL H2 반지름(단면 CAD)·D3 R"
},
"G3": {
"schedule": {"B1": [8000, 38], "B2": [11500, 38], "B3": [8000, 38], "B4": [7600, 35], "B5": [9550, 32],
"B6": [13050, 32], "B7": [9550, 32], "B8": [9150, 29], "B9": [2155, 493], "B10": [33684, 9],
"B11": [9350, 28], "B12": [7800, 34]},
"dia": {"B1": 25, "B2": 25, "B3": 19, "B4": 25, "B5": 29, "B6": 29, "B7": 19, "B8": 29, "B9": 16, "B10": 19,
"B11": 16, "B12": 16},
"layer_z": {"B2": 122, "B4": 122, "B6": 178, "B8": 178, "B3": 227.5, "B7": 277, "B1": 2073, "B5": 2127},
"rows": {"Y_BOT": {"ends": [-4575, 4575], "start": -4375, "pitch": 125, "n": 71},
"Y_250": {"ends": [-4575, 4575], "start": -4375, "pitch": 250, "n": 36},
"X_BOT": {"ends": [-3800, 3800], "start": -3625, "pitch": 125, "n": 59},
"X_250": {"ends": [-3800, 3800], "start": -3625, "pitch": 250, "n": 30}},
"b10_levels": {"start": 350, "pitch": 200, "n": 9},
"b10_size": [9198, 7644],
"b9_grid": {"x": {"start": -4125, "pitch": 250, "n": 34}, "y": {"start": -3500, "pitch": 250, "n": 29}},
"b9_erec": [150, 2100], "b9_a": 1995, "b9_c": 64,
"mid_levels": [550, 950, 1350, 1750],
"src": "D3 L·수량; D1/D2 '100','200','70@125=8.750' / '35@250' / '100','175','58@125=7.250' / '29@250'; F1 층 높이(작도점); '150','9@200=1.800'; '450','33@250=8.250' / '300','28@250=7.000'; EREC 150~2100; 중간층 작도점 [derived]"
},
"G4": {
"count": {"C1": 12, "C2": 12, "C3": 12, "C4": 12, "C5": 12, "C6": 12, "C7": 12, "C8": 12, "C9": 60, "C10": 21,
"C11": 60, "C12": 18, "C13": 9, "C14": 41, "C15": 13, "C16": 13, "S1": 50, "S2": 105},
"L": {"C1": 14490, "C2": 12081, "C3": 12106, "C4": 14490, "C5": 12081, "C6": 12106, "C7": 13994, "C8": 13994,
"C9": 8647, "C10": 10310, "C11": 8934, "C12": 20513, "C13": 29345, "C14": 3600, "C15": 2784, "C16": 5611,
"S1": 3800, "S2": 2500},
"range": {"C9": ["b_sched", 2956, 1376], "C11": ["b_sched", 2956, 1664], "C10": ["b_sched", 2998, 2998],
"C12": ["a_sched", 12228, 3151], "C13": ["a_sched", 12167, 12044]},
"range_convention": {"b_sched": {"a": 1407, "c": 750, "c_times": 2}, "a_sched": {"b": 1407, "c": 580, "c_times": 4}},
"dia": {"C1": 29, "C2": 29, "C3": 29, "C4": 29, "C5": 29, "C6": 29, "C7": 29, "C8": 29, "C9": 25, "C10": 25,
"C11": 25, "C12": 25, "C13": 25, "C14": 19, "C15": 19, "C16": 19, "S1": 19, "S2": 19},
"half_width": 1550,
"y24_chain": {"start": [100, 237], "pitch": 125, "n": 21, "end": 3000},
"y13_chain": {"start": [100, 237], "pitch": 250, "n": 10, "end": 3000},
"pairs": [["C1", "C4"], ["C2", "C5"], ["C3", "C6"], ["C7", "C8"]],
"tier_z": {"C1": 43311, "C4": 43311, "C2": 43211, "C5": 43211, "C3": 43111, "C6": 43111},
"stirrup_x": {"C10": [-900, -600, -300, 0, 300, 600, 900],
"C11": {"start": 1150, "pitch": 250, "n": 20}, "C9": {"start": -1150, "pitch": -250, "n": 20}},
"stirrups_per_x": 3,
"c10_bottom": 40511,
"loop_z": {"C12": {"start": 40761, "pitch": 250, "n": 6}, "C13": [42261, 42511, 42761]},
"c15_top": 43598.4, "c16_top": 43454.7,
"c14_levels": [[43088.5, 11], [43188.5, 11], [41011, 3], [42011, 5], [41511, 4], [42511, 6], [43442.4, 1]],
"s_per_girder": {"S1": [10, 50], "S2": [21, 100]},
"step_top": {"1": 43411, "2": 43483, "3": 43555, "4": 43627, "5": 43698},
"src": "D3 수량·L·a/b 범위; D1 A-A 사슬 '100','137','21@125','3000' / B-B '10@250'; 정면도 단 높이·스터럽 X·루프 EL; D2 '50','50'"
},
"G5": {
"el_x": {"1": 43625, "2": 43697, "3": 43768, "4": 43840, "5": 43912, "6": 43600, "7": 43672, "8": 43744, "9": 43816, "10": 43887},
"S": {"1": -1.910, "2": -1.907, "3": -1.905, "4": -1.903, "5": -1.901, "6": -1.910, "7": -1.907, "8": -1.905, "9": -1.903, "10": -1.901},
"W": {"1": 740, "2": 740, "3": 890, "4": 740, "5": 740, "6": 640, "7": 640, "8": 750, "9": 640, "10": 640},
"L": 800, "T": 30, "h3": 181,
"bearing_shrink": 100,
"colours": {"bearing": [0, 0, 0], "sole_plate": [150, 150, 150]},
"src": "D2 ELEVATION TABLE (EL.'X', h3), 솔플레이트 상세 TABLE (S, L, W, T); (L-100)x(W-100)·색 = 사용자 지시 2026-10-08"
},
"rebar_palette": {"32": [214, 39, 40], "29": [255, 127, 14], "25": [188, 60, 160], "19": [44, 160, 44], "16": [31, 119, 180]},
"rebar_palette_src": "디자인지침_경로.md R8 (2026-10-07)",
"planned_fail": [
{"gate": "G3", "item": "B12 bar count vs schedule", "reason": "작도 28본 채택(F2) vs D3 34본 — OPEN #9", "approved": "사용자 2026-10-07"},
{"gate": "G4", "item_prefix": "C9 original length vs L", "reason": "작도 폭 채택(K1)", "approved": "사용자 2026-10-07"},
{"gate": "G4", "item_prefix": "C10 original length vs L", "reason": "작도 폭 채택(K1)", "approved": "사용자 2026-10-07"},
{"gate": "G4", "item_prefix": "C11 original length vs L", "reason": "작도 폭 채택(K1)", "approved": "사용자 2026-10-07"},
{"gate": "G4", "item_prefix": "C12 original length vs L", "reason": "작도 폭 채택(C12·C13 drawn width)", "approved": "사용자 2026-10-07"},
{"gate": "G4", "item_prefix": "C13 original length vs L", "reason": "작도 폭 채택(C12·C13 drawn width)", "approved": "사용자 2026-10-07"}
]
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,7 @@
{
"name": "운곡교P1형",
"desc": "말뚝기초 · 원형 기둥 Ø2.0 · 하면 곡선(R12,000) 코핑, 상면 5단 · 받침 10개 · 철근 G2~G4 운곡교 형식",
"source": "운곡교P1",
"created": "2026-10-13 13:18:47",
"inputs_sha": "a07fc78446227a14"
}
@@ -0,0 +1,309 @@
{
"_schema": "variability/1",
"status": "초안 — 템플릿 담당자 확정 전",
"grades": {
"V1": "값 변수",
"V2": "목록 변수",
"V3": "생성 변수",
"F": "고정"
},
"sections": {
"params:_meta": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"params:lean_concrete": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [],
"note": "버림콘크리트 치수·EL",
"info": false
},
"params:footing": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [],
"note": "기초 치수·EL (rot_deg = 기초 회전 각도 값)",
"info": false
},
"params:column": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"shape"
],
"note": "기둥 지름·높이 (단면 형식 shape는 고정)",
"info": false
},
"params:coping": {
"grade": "V2",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"form"
],
"note": "코핑 외곽·치수 (형식 form은 고정)",
"info": false
},
"params:piles": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"kind"
],
"note": "말뚝 개수·간격·길이 (말뚝 유무는 템플릿 형식)",
"info": false
},
"params:hitl_decisions_2026_10_07": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"params:bearing_seats": {
"grade": "V1",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [
"pedestal",
"pedestals"
],
"note": "받침 표 값 + 평면 위치 (대좌 구조는 고정)",
"info": false
},
"params:column_rebar": {
"grade": "V2",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"form"
],
"note": "기둥 철근 사슬·위치",
"info": false
},
"params:footing_rebar": {
"grade": "V2",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"form"
],
"note": "기초 철근 위치 사슬",
"info": false
},
"params:coping_rebar": {
"grade": "V2",
"source": [
"표 밖 치수"
],
"fixed_fields": [
"form",
"host",
"group"
],
"note": "코핑 철근",
"info": false
},
"params:sole_plates": {
"grade": "V1",
"source": [
"표"
],
"fixed_fields": [
"bearing_size"
],
"note": "솔플레이트 표 값 (받침 크기 규칙은 고정)",
"info": false
},
"params:_schema": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"params:pier_id": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "교각 식별자",
"info": false
},
"params:rebar_marks": {
"grade": "V1",
"source": [
"표"
],
"fixed_fields": [
"*.shape"
],
"note": "재료표 직경·형상 (마크 체계의 형상은 고정)",
"info": false
},
"params:rebar_marks_src": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"params:materials": {
"grade": "V1",
"source": [
"표 밖 치수"
],
"fixed_fields": [],
"note": "재료 강도 주기",
"info": false
},
"params:display": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "표시·색 설정",
"info": false
},
"expected:_schema": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"expected:_note": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"expected:pier_id": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "교각 식별자",
"info": false
},
"expected:tol_mm": {
"grade": "V1",
"source": [
"사람 입력"
],
"fixed_fields": [],
"note": "허용 오차",
"info": false
},
"expected:G1": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:G2": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:G3": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:G4": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:G5": {
"grade": "V2",
"source": [
"표",
"표 밖 치수"
],
"fixed_fields": [],
"note": "독립 기대값 (params와 따로 도면에서 옮긴 값)",
"info": false
},
"expected:rebar_palette": {
"grade": "V1",
"source": [
"사람 입력"
],
"fixed_fields": [],
"note": "철근 직경별 색 (사람 결정 기록)",
"info": false
},
"expected:rebar_palette_src": {
"grade": "F",
"source": [
"템플릿 고정"
],
"fixed_fields": [],
"note": "참고 정보(게이트가 쓰지 않음)",
"info": true
},
"expected:planned_fail": {
"grade": "V1",
"source": [
"사람 입력"
],
"fixed_fields": [],
"note": "계획된 FAIL (사람 결정 기록)",
"info": false
}
}
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,132 @@
{
"params:pier_id": {
"sha": "97086571f822df69",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"params:rebar_marks": {
"sha": "bc6337f6bc6a176d",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"params:display": {
"sha": "4a8afc994a7b21ec",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"expected:pier_id": {
"sha": "97086571f822df69",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"expected:tol_mm": {
"sha": "d0ff5974b6aa52cf",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"expected:rebar_palette": {
"sha": "cc2556d92248194c",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"expected:planned_fail": {
"sha": "170013f3f80057cf",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"params:scope": {
"sha": "dfbd41ca7117a548",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"params:builders": {
"sha": "695f046fbde07d23",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"expected:checkers": {
"sha": "1f48171829a45756",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"expected:negative": {
"sha": "19a64b9aa5ccf45f",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"params:lean_concrete": {
"sha": "24ea12d94d6d2c91",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"params:footing": {
"sha": "b03e618daacb26cd",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"params:column": {
"sha": "e7b0f0d67a41c8b0",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"params:coping": {
"sha": "bb4240dcd15cf520",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"params:bearing_seats": {
"sha": "2435303a45503aff",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"params:materials": {
"sha": "5184d6c18452101b",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"expected:G1": {
"sha": "7653cba8868f85d1",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"params:column_rebar": {
"sha": "09f13bbd37d3c5f1",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"expected:G2": {
"sha": "e17565e720b9fda4",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"params:footing_rebar": {
"sha": "7e4b1e8831513976",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"expected:G3": {
"sha": "d0ac8b8b20b3308f",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"params:coping_rebar": {
"sha": "d298e86e040e5bd1",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"expected:G4": {
"sha": "bc60d6189b457690",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"params:sole_plates": {
"sha": "7d4496563e515d9d",
"by": "심영표",
"at": "2026-10-15 13:09:14"
},
"expected:G5": {
"sha": "8676d12cf4ebc9c8",
"by": "심영표",
"at": "2026-10-15 13:09:14"
}
}
@@ -0,0 +1,10 @@
[
{
"source": "새재1교P1.dwg",
"source_sha256": "d1a5109698fe92427ea144a3abdf6c37843f592919598c998f90f7e9c0b6c9c6",
"dxf": "새재1교P1.dxf",
"dxf_sha256": "447fd72a7aae0654530d52c9db2e869d77c55c201771d943c1ea62a85d01e100",
"engine": "ODA File Converter 27.1.0",
"label": "D1"
}
]
@@ -0,0 +1 @@
[{"dwg": "D1", "layer": "CZ-TEX2", "x": 34935.6, "y": 63999.8, "h": 500.0, "text": "S=1:100", "handle": "484"}, {"dwg": "D1", "layer": "CZ-TEX2", "x": 34938.7, "y": 44580.2, "h": 500.0, "text": "S=1:100", "handle": "488"}, {"dwg": "D1", "layer": "CZ-TEX2", "x": 61951.1, "y": 44513.0, "h": 500.0, "text": "S=1:100", "handle": "489"}, {"dwg": "D1", "layer": "CZ-TEX2", "x": 63108.3, "y": 63999.8, "h": 500.0, "text": "S=1:100", "handle": "48A"}, {"dwg": "D1", "layer": "CZ-TEX2", "x": 86489.9, "y": 49912.4, "h": 500.0, "text": "S=1:100", "handle": "48B"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 65612.7, "y": 50957.5, "h": 250.0, "text": "Y : 208537.27046", "handle": "491"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 60375.7, "y": 49707.5, "h": 250.0, "text": "7.700", "handle": "492"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 64992.4, "y": 50707.5, "h": 250.0, "text": "100", "handle": "493"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 62850.7, "y": 50707.5, "h": 250.0, "text": "2.750", "handle": "494"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 60375.7, "y": 50707.5, "h": 250.0, "text": "2.200", "handle": "495"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 57900.7, "y": 50707.5, "h": 250.0, "text": "2.750", "handle": "496"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 56217.4, "y": 50707.5, "h": 250.0, "text": "100", "handle": "497"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 53946.8, "y": 56136.4, "h": 250.0, "text": "7.700", "handle": "498"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 54846.8, "y": 60753.2, "h": 250.0, "text": "100", "handle": "499"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 54846.8, "y": 58611.4, "h": 250.0, "text": "2.750", "handle": "49A"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 54846.8, "y": 56136.4, "h": 250.0, "text": "2.200", "handle": "49B"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 54846.8, "y": 53661.4, "h": 250.0, "text": "2.750", "handle": "49C"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 54846.8, "y": 51978.2, "h": 250.0, "text": "100", "handle": "49D"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 65612.5, "y": 51307.5, "h": 250.0, "text": "X : 428107.17824", "handle": "49E"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 65612.5, "y": 62007.5, "h": 250.0, "text": "X : 428101.17451", "handle": "49F"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 53157.9, "y": 62007.5, "h": 250.0, "text": "X : 428105.99584", "handle": "4A0"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 53157.9, "y": 51307.5, "h": 250.0, "text": "X : 428111.99957", "handle": "4A1"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 53158.2, "y": 50957.5, "h": 250.0, "text": "Y : 208543.27419", "handle": "4A2"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 53158.2, "y": 61657.5, "h": 250.0, "text": "Y : 208548.09552", "handle": "4A3"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 65612.7, "y": 61657.5, "h": 250.0, "text": "Y : 208542.09178", "handle": "4A4"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 82553.3, "y": 41100.2, "h": 250.0, "text": "2.200", "handle": "4E5"}, {"dwg": "D1", "layer": "CZ-TEX1", "x": 32297.7, "y": 64999.8, "h": 700.0, "text": "평면도", "handle": "4F2"}, {"dwg": "D1", "layer": "CZ-TEX1", "x": 32300.8, "y": 45580.2, "h": 700.0, "text": "정면도", "handle": "4F5"}, {"dwg": "D1", "layer": "CZ-TEX1", "x": 59313.3, "y": 45513.0, "h": 700.0, "text": "단면도", "handle": "4F6"}, {"dwg": "D1", "layer": "CZ-TEX1", "x": 58248.4, "y": 64999.8, "h": 700.0, "text": "기초 평면도", "handle": "4F7"}, {"dwg": "D1", "layer": "CZ-TEX1", "x": 79163.9, "y": 50912.4, "h": 700.0, "text": "기둥 단면도 A-A", "handle": "4F9"}, {"dwg": "D1", "layer": "CS-SYMB", "x": 56196.8, "y": 56482.1, "h": 250.0, "text": "C", "handle": "4FD"}, {"dwg": "D1", "layer": "CS-SYMB", "x": 56316.8, "y": 56573.4, "h": 250.0, "text": "L", "handle": "4FE"}, {"dwg": "D1", "layer": "CS-SYMB", "x": 56316.8, "y": 56892.2, "h": 250.0, "text": "OF PIER", "handle": "4FF"}, {"dwg": "D1", "layer": "CS-SYMB", "x": 60861.7, "y": 54191.7, "h": 250.0, "text": "구체 fck = 27 MPa", "handle": "517"}, {"dwg": "D1", "layer": "CZ-TEX2", "x": 122010.5, "y": 60416.1, "h": 500.0, "text": "S=1:20", "handle": "2535"}, {"dwg": "D1", "layer": "CZ-TEX2", "x": 166784.9, "y": 54496.2, "h": 500.0, "text": "S=1:20", "handle": "2536"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 120791.4, "y": 56550.6, "h": 250.0, "text": "50", "handle": "2538"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 120905.1, "y": 53552.7, "h": 250.0, "text": "50", "handle": "2539"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 122535.4, "y": 59173.0, "h": 250.0, "text": "50", "handle": "253A"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 119554.7, "y": 58833.3, "h": 250.0, "text": "50", "handle": "253B"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 125715.1, "y": 53598.3, "h": 250.0, "text": "h2", "handle": "253C"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 125465.3, "y": 55789.8, "h": 250.0, "text": "B", "handle": "253D"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 125219.7, "y": 57945.1, "h": 250.0, "text": "h2", "handle": "253E"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 125652.8, "y": 57235.7, "h": Line truncated
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,6 @@
{
"name": "새재1교P1",
"type": "T형",
"created": "2026-10-15 11:00:45",
"template": "신규 판독 (새재1교 P1 판독서 v0.1.00)"
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,68 @@
{
"gate": "G1",
"checker": "g1_pedestal.py",
"verdict": "PASS",
"summary": {
"total": 138,
"passed": 138,
"failed": 0,
"volumes_m3": {
"lean": 6.241,
"footing": 154.154,
"column": 64.242,
"coping": 86.923,
"pile_each": 0
}
},
"unplanned_fails": [],
"planned_fails": [],
"negative": {
"negH": {
"move": {
"id": "BP02",
"d": [
3,
0,
0
]
},
"new_fails": [
"NO.2 pad centre X (bbox)"
],
"detected": true
},
"negV": {
"move": {
"id": "BS03",
"d": [
0,
0,
2
]
},
"new_fails": [
"NO.3 on one pedestal",
"NO.8 on one pedestal"
],
"detected": true
}
},
"reload": {
"ok": null,
"skipped": "일괄 실행(단일 세션) — 저장·재로드 안 함"
},
"unchanged": {
"ok": null,
"compared": 0,
"diffs": [],
"missing": [],
"against": null,
"skipped": "일괄 실행(단일 세션) — 앞 게이트 객체를 다시 만들지 않음"
},
"model": null,
"mode": "batch",
"secs": 0.8,
"session_secs": 167.4,
"inputs_sha": "19d5dc4fdc89c918",
"job_id": "2cde48eca80c"
}
@@ -0,0 +1,15 @@
{
"id": "2cde48eca80c",
"pid": 22652,
"state": "완료",
"at": "2026-10-15 13:12:11",
"log": [
"[batch] one Rhino session: build G1..G5, check G1, G2, G3, G4, G5 (no per-gate save / reload)",
"[G1] PASS checks 138/138 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G2] PASS checks 41/41 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G3] PASS checks 72/76 (planned FAIL 4, unplanned 0) negative H/V True/True (batch)",
"[G4] PASS checks 189/189 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G5] PASS checks 183/183 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[batch] done in 167.7s, objects 3043, model C:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\Code\\교각모델링앱\\data\\새재1교P1\\runs\\current\\G5.3dm"
]
}
@@ -0,0 +1,400 @@
{
"summary": {
"total": 41,
"passed": 41,
"failed": 0,
"min_cover": {
"P1": 109.0,
"P2": 134.0,
"P3": 84.0,
"P4": 90.0,
"P5": 65.5
}
},
"results": [
{
"check": "C8",
"item": "P1 bar count",
"expected": 49,
"actual": 49,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P1 pipes closed & paired with centrelines",
"detail": "49/49",
"result": "PASS"
},
{
"check": "C8",
"item": "P2 bar count",
"expected": 49,
"actual": 49,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 pipes closed & paired with centrelines",
"detail": "49/49",
"result": "PASS"
},
{
"check": "C8",
"item": "P3 bar count",
"expected": 45,
"actual": 45,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P3 pipes closed & paired with centrelines",
"detail": "90/90",
"result": "PASS"
},
{
"check": "C8",
"item": "P4 bar count",
"expected": 27,
"actual": 27,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 pipes closed & paired with centrelines",
"detail": "54/54",
"result": "PASS"
},
{
"check": "C8",
"item": "P5 bar count",
"expected": 80,
"actual": 80,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P5 pipes closed & paired with centrelines",
"detail": "80/80",
"result": "PASS"
},
{
"check": "C8",
"item": "P1 original length (+coupler) vs schedule L (worst of 49)",
"expected": 0,
"actual": 0.071,
"diff": 0.071,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P1 curve length - L (record)",
"detail": "min 0.1 / max 0.1 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P1 curve length (+coupler) vs L (no fillet)",
"expected": 0,
"actual": 0.071,
"diff": 0.071,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 original length (+coupler) vs schedule L (worst of 49)",
"expected": 0,
"actual": 0.071,
"diff": 0.071,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 curve length - L (record)",
"detail": "min 0.1 / max 0.1 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P2 curve length (+coupler) vs L (no fillet)",
"expected": 0,
"actual": 0.071,
"diff": 0.071,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P3 original length (+coupler) vs schedule L (worst of 45)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P3 curve length - L (record)",
"detail": "min -0.8 / max -0.8 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P3 curve length (+coupler) vs L (no fillet)",
"expected": 0,
"actual": 0.824,
"diff": 0.824,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 original length (+coupler) vs schedule L (worst of 27)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 curve length - L (record)",
"detail": "min 0.3 / max 0.3 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P4 curve length (+coupler) vs L (no fillet)",
"expected": 0,
"actual": 0.327,
"diff": 0.327,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P5 original length (+coupler) vs schedule L (worst of 80)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P5 curve length - L (record)",
"detail": "min -224.0 / max -224.0 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P1 radius (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P1 angle vs start + i*360/49 (worst, deg)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C8",
"item": "P1 top EL (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P1 hook leg EL (footing bottom + 150) (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "hoop level count 72",
"detail": "72",
"result": "PASS"
},
{
"check": "C8",
"item": "hoop levels vs dim chain (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "hoop marks by zone (P3 x5, P4 x18, P3 x36, P4 x9, P3 x4)",
"detail": "",
"result": "PASS"
},
{
"check": "C8",
"item": "P3 radius (mid point)",
"expected": 1004,
"actual": 1003.5,
"diff": -0.5,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 radius (mid point)",
"expected": 1001,
"actual": 1000.5,
"diff": -0.5,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P3 radius (mid point)",
"expected": 1004,
"actual": 1003.5,
"diff": -0.5,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 radius (mid point)",
"expected": 1001,
"actual": 1000.5,
"diff": -0.5,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P3 radius (mid point)",
"expected": 1004,
"actual": 1003.5,
"diff": -0.5,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 inner ring radius (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 hooks bent inwards",
"detail": "",
"result": "PASS"
},
{
"check": "C8",
"item": "tie X / Y levels 40 each",
"detail": "X 40 Y 40",
"result": "PASS"
},
{
"check": "C8",
"item": "tie X levels vs chain (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "tie Y = X + 19 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "concrete union for cover",
"detail": "1 brep",
"result": "INFO"
},
{
"check": "C8",
"item": "P1 sample points outside concrete",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 sample points outside concrete",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P3 sample points outside concrete",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 sample points outside concrete",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P5 sample points outside concrete",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "min cover to concrete surface per mark (record)",
"detail": "{\"P1\": 109.0, \"P2\": 134.0, \"P3\": 84.0, \"P4\": 90.0, \"P5\": 65.5}",
"result": "INFO"
}
]
}
@@ -0,0 +1,69 @@
{
"gate": "G2",
"checker": "g2_ring.py",
"verdict": "PASS",
"summary": {
"total": 41,
"passed": 41,
"failed": 0,
"min_cover": {
"P1": 109.0,
"P2": 134.0,
"P3": 84.0,
"P4": 90.0,
"P5": 65.5
}
},
"unplanned_fails": [],
"planned_fails": [],
"negative": {
"negH": {
"move": {
"mark": "P1",
"d": [
5,
0,
0
]
},
"new_fails": [
"P1 radius (worst)"
],
"detected": true
},
"negV": {
"move": {
"mark": "P3",
"d": [
0,
0,
5
]
},
"new_fails": [
"hoop level count 72",
"hoop levels vs dim chain (worst)",
"hoop marks by zone (P3 x5, P4 x18, P3 x36, P4 x9, P3 x4)"
],
"detected": true
}
},
"reload": {
"ok": null,
"skipped": "일괄 실행(단일 세션) — 저장·재로드 안 함"
},
"unchanged": {
"ok": null,
"compared": 0,
"diffs": [],
"missing": [],
"against": null,
"skipped": "일괄 실행(단일 세션) — 앞 게이트 객체를 다시 만들지 않음"
},
"model": null,
"mode": "batch",
"secs": 41.5,
"session_secs": 167.4,
"inputs_sha": "19d5dc4fdc89c918",
"job_id": "2cde48eca80c"
}
@@ -0,0 +1,15 @@
{
"id": "2cde48eca80c",
"pid": 22652,
"state": "완료",
"at": "2026-10-15 13:12:11",
"log": [
"[batch] one Rhino session: build G1..G5, check G1, G2, G3, G4, G5 (no per-gate save / reload)",
"[G1] PASS checks 138/138 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G2] PASS checks 41/41 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G3] PASS checks 72/76 (planned FAIL 4, unplanned 0) negative H/V True/True (batch)",
"[G4] PASS checks 189/189 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G5] PASS checks 183/183 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[batch] done in 167.7s, objects 3043, model C:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\Code\\교각모델링앱\\data\\새재1교P1\\runs\\current\\G5.3dm"
]
}
@@ -0,0 +1,400 @@
{
"summary": {
"total": 41,
"passed": 40,
"failed": 1,
"min_cover": {
"P1": 104.0,
"P2": 134.0,
"P3": 84.0,
"P4": 90.0,
"P5": 65.5
}
},
"results": [
{
"check": "C8",
"item": "P1 bar count",
"expected": 49,
"actual": 49,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P1 pipes closed & paired with centrelines",
"detail": "49/49",
"result": "PASS"
},
{
"check": "C8",
"item": "P2 bar count",
"expected": 49,
"actual": 49,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 pipes closed & paired with centrelines",
"detail": "49/49",
"result": "PASS"
},
{
"check": "C8",
"item": "P3 bar count",
"expected": 45,
"actual": 45,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P3 pipes closed & paired with centrelines",
"detail": "90/90",
"result": "PASS"
},
{
"check": "C8",
"item": "P4 bar count",
"expected": 27,
"actual": 27,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 pipes closed & paired with centrelines",
"detail": "54/54",
"result": "PASS"
},
{
"check": "C8",
"item": "P5 bar count",
"expected": 80,
"actual": 80,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P5 pipes closed & paired with centrelines",
"detail": "80/80",
"result": "PASS"
},
{
"check": "C8",
"item": "P1 original length (+coupler) vs schedule L (worst of 49)",
"expected": 0,
"actual": 0.071,
"diff": 0.071,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P1 curve length - L (record)",
"detail": "min 0.1 / max 0.1 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P1 curve length (+coupler) vs L (no fillet)",
"expected": 0,
"actual": 0.071,
"diff": 0.071,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 original length (+coupler) vs schedule L (worst of 49)",
"expected": 0,
"actual": 0.071,
"diff": 0.071,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 curve length - L (record)",
"detail": "min 0.1 / max 0.1 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P2 curve length (+coupler) vs L (no fillet)",
"expected": 0,
"actual": 0.071,
"diff": 0.071,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P3 original length (+coupler) vs schedule L (worst of 45)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P3 curve length - L (record)",
"detail": "min -0.8 / max -0.8 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P3 curve length (+coupler) vs L (no fillet)",
"expected": 0,
"actual": 0.824,
"diff": 0.824,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 original length (+coupler) vs schedule L (worst of 27)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 curve length - L (record)",
"detail": "min 0.3 / max 0.3 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P4 curve length (+coupler) vs L (no fillet)",
"expected": 0,
"actual": 0.327,
"diff": 0.327,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P5 original length (+coupler) vs schedule L (worst of 80)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P5 curve length - L (record)",
"detail": "min -224.0 / max -224.0 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P1 radius (worst)",
"expected": 0,
"actual": 5.0,
"diff": 5.0,
"tol": 0.5,
"result": "FAIL"
},
{
"check": "C8",
"item": "P1 angle vs start + i*360/49 (worst, deg)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C8",
"item": "P1 top EL (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P1 hook leg EL (footing bottom + 150) (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "hoop level count 72",
"detail": "72",
"result": "PASS"
},
{
"check": "C8",
"item": "hoop levels vs dim chain (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "hoop marks by zone (P3 x5, P4 x18, P3 x36, P4 x9, P3 x4)",
"detail": "",
"result": "PASS"
},
{
"check": "C8",
"item": "P3 radius (mid point)",
"expected": 1004,
"actual": 1003.5,
"diff": -0.5,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 radius (mid point)",
"expected": 1001,
"actual": 1000.5,
"diff": -0.5,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P3 radius (mid point)",
"expected": 1004,
"actual": 1003.5,
"diff": -0.5,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 radius (mid point)",
"expected": 1001,
"actual": 1000.5,
"diff": -0.5,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P3 radius (mid point)",
"expected": 1004,
"actual": 1003.5,
"diff": -0.5,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 inner ring radius (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 hooks bent inwards",
"detail": "",
"result": "PASS"
},
{
"check": "C8",
"item": "tie X / Y levels 40 each",
"detail": "X 40 Y 40",
"result": "PASS"
},
{
"check": "C8",
"item": "tie X levels vs chain (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "tie Y = X + 19 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "concrete union for cover",
"detail": "1 brep",
"result": "INFO"
},
{
"check": "C8",
"item": "P1 sample points outside concrete",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 sample points outside concrete",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P3 sample points outside concrete",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 sample points outside concrete",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P5 sample points outside concrete",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "min cover to concrete surface per mark (record)",
"detail": "{\"P1\": 104.0, \"P2\": 134.0, \"P3\": 84.0, \"P4\": 90.0, \"P5\": 65.5}",
"result": "INFO"
}
]
}
@@ -0,0 +1,400 @@
{
"summary": {
"total": 41,
"passed": 38,
"failed": 3,
"min_cover": {
"P1": 109.0,
"P2": 134.0,
"P3": 84.0,
"P4": 90.0,
"P5": 65.5
}
},
"results": [
{
"check": "C8",
"item": "P1 bar count",
"expected": 49,
"actual": 49,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P1 pipes closed & paired with centrelines",
"detail": "49/49",
"result": "PASS"
},
{
"check": "C8",
"item": "P2 bar count",
"expected": 49,
"actual": 49,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 pipes closed & paired with centrelines",
"detail": "49/49",
"result": "PASS"
},
{
"check": "C8",
"item": "P3 bar count",
"expected": 45,
"actual": 45,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P3 pipes closed & paired with centrelines",
"detail": "90/90",
"result": "PASS"
},
{
"check": "C8",
"item": "P4 bar count",
"expected": 27,
"actual": 27,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 pipes closed & paired with centrelines",
"detail": "54/54",
"result": "PASS"
},
{
"check": "C8",
"item": "P5 bar count",
"expected": 80,
"actual": 80,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P5 pipes closed & paired with centrelines",
"detail": "80/80",
"result": "PASS"
},
{
"check": "C8",
"item": "P1 original length (+coupler) vs schedule L (worst of 49)",
"expected": 0,
"actual": 0.071,
"diff": 0.071,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P1 curve length - L (record)",
"detail": "min 0.1 / max 0.1 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P1 curve length (+coupler) vs L (no fillet)",
"expected": 0,
"actual": 0.071,
"diff": 0.071,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 original length (+coupler) vs schedule L (worst of 49)",
"expected": 0,
"actual": 0.071,
"diff": 0.071,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 curve length - L (record)",
"detail": "min 0.1 / max 0.1 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P2 curve length (+coupler) vs L (no fillet)",
"expected": 0,
"actual": 0.071,
"diff": 0.071,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P3 original length (+coupler) vs schedule L (worst of 45)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P3 curve length - L (record)",
"detail": "min -0.8 / max -0.8 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P3 curve length (+coupler) vs L (no fillet)",
"expected": 0,
"actual": 0.824,
"diff": 0.824,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 original length (+coupler) vs schedule L (worst of 27)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 curve length - L (record)",
"detail": "min 0.3 / max 0.3 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P4 curve length (+coupler) vs L (no fillet)",
"expected": 0,
"actual": 0.327,
"diff": 0.327,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P5 original length (+coupler) vs schedule L (worst of 80)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P5 curve length - L (record)",
"detail": "min -224.0 / max -224.0 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P1 radius (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P1 angle vs start + i*360/49 (worst, deg)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C8",
"item": "P1 top EL (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P1 hook leg EL (footing bottom + 150) (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "hoop level count 72",
"detail": "73",
"result": "FAIL"
},
{
"check": "C8",
"item": "hoop levels vs dim chain (worst)",
"expected": 0,
"actual": 300.0,
"diff": 300.0,
"tol": 1.0,
"result": "FAIL"
},
{
"check": "C8",
"item": "hoop marks by zone (P3 x5, P4 x18, P3 x36, P4 x9, P3 x4)",
"detail": "",
"result": "FAIL"
},
{
"check": "C8",
"item": "P3 radius (mid point)",
"expected": 1004,
"actual": 1003.5,
"diff": -0.5,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 radius (mid point)",
"expected": 1001,
"actual": 1000.5,
"diff": -0.5,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P3 radius (mid point)",
"expected": 1004,
"actual": 1003.5,
"diff": -0.5,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 radius (mid point)",
"expected": 1001,
"actual": 1000.5,
"diff": -0.5,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P3 radius (mid point)",
"expected": 1004,
"actual": 1003.5,
"diff": -0.5,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 inner ring radius (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 hooks bent inwards",
"detail": "",
"result": "PASS"
},
{
"check": "C8",
"item": "tie X / Y levels 40 each",
"detail": "X 40 Y 40",
"result": "PASS"
},
{
"check": "C8",
"item": "tie X levels vs chain (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "tie Y = X + 19 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "concrete union for cover",
"detail": "1 brep",
"result": "INFO"
},
{
"check": "C8",
"item": "P1 sample points outside concrete",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 sample points outside concrete",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P3 sample points outside concrete",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 sample points outside concrete",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P5 sample points outside concrete",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "min cover to concrete surface per mark (record)",
"detail": "{\"P1\": 109.0, \"P2\": 134.0, \"P3\": 84.0, \"P4\": 90.0, \"P5\": 65.5}",
"result": "INFO"
}
]
}
@@ -0,0 +1,653 @@
{
"summary": {
"total": 76,
"passed": 72,
"failed": 4,
"cover": {
"B1": 87.5,
"B2": 87.5,
"B3": 87.5,
"B4": 87.5,
"B5": 87.5,
"B6": 65.0,
"B7": 87.5,
"B8": 65.0,
"B9": 68.5,
"B10": 68.0,
"B11": 90.5,
"B12": 90.5
}
},
"results": [
{
"check": "C9",
"item": "B1 bar count vs schedule",
"expected": 31,
"actual": 31,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B1 pipes closed & paired",
"detail": "31/31",
"result": "PASS"
},
{
"check": "C9",
"item": "B1 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B2 bar count vs schedule",
"expected": 31,
"actual": 31,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B2 pipes closed & paired",
"detail": "31/31",
"result": "PASS"
},
{
"check": "C9",
"item": "B2 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B3 bar count vs schedule",
"expected": 30,
"actual": 30,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B3 pipes closed & paired",
"detail": "30/30",
"result": "PASS"
},
{
"check": "C9",
"item": "B3 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B4 bar count vs schedule",
"expected": 30,
"actual": 30,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B4 pipes closed & paired",
"detail": "30/30",
"result": "PASS"
},
{
"check": "C9",
"item": "B4 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B5 bar count vs schedule",
"expected": 27,
"actual": 26,
"diff": -1,
"tol": 0,
"result": "FAIL"
},
{
"check": "C9",
"item": "B5 pipes closed & paired",
"detail": "26/26",
"result": "PASS"
},
{
"check": "C9",
"item": "B5 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B6 bar count vs schedule",
"expected": 27,
"actual": 26,
"diff": -1,
"tol": 0,
"result": "FAIL"
},
{
"check": "C9",
"item": "B6 pipes closed & paired",
"detail": "26/26",
"result": "PASS"
},
{
"check": "C9",
"item": "B6 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B7 bar count vs schedule",
"expected": 26,
"actual": 25,
"diff": -1,
"tol": 0,
"result": "FAIL"
},
{
"check": "C9",
"item": "B7 pipes closed & paired",
"detail": "25/25",
"result": "PASS"
},
{
"check": "C9",
"item": "B7 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B8 bar count vs schedule",
"expected": 26,
"actual": 25,
"diff": -1,
"tol": 0,
"result": "FAIL"
},
{
"check": "C9",
"item": "B8 pipes closed & paired",
"detail": "25/25",
"result": "PASS"
},
{
"check": "C9",
"item": "B8 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 bar count vs schedule",
"expected": 45,
"actual": 45,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 pipes closed & paired",
"detail": "45/45",
"result": "PASS"
},
{
"check": "C9",
"item": "B9 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B10 bar count vs schedule",
"expected": 4,
"actual": 4,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B10 pipes closed & paired",
"detail": "4/4",
"result": "PASS"
},
{
"check": "C9",
"item": "B10 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B11 bar count vs schedule",
"expected": 11,
"actual": 11,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B11 pipes closed & paired",
"detail": "11/11",
"result": "PASS"
},
{
"check": "C9",
"item": "B11 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B12 bar count vs schedule",
"expected": 23,
"actual": 23,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B12 pipes closed & paired",
"detail": "23/23",
"result": "PASS"
},
{
"check": "C9",
"item": "B12 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_bottom positions vs chain (61/61, worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_bottom straight part level 10132 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_bottom span 2 x 3750 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_bottom leg 1800 up (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_bottom B2/B4 alternate from the edge (F3)",
"detail": "B2 31",
"result": "PASS"
},
{
"check": "C9",
"item": "x_bottom positions vs chain (51/51, worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "x_bottom straight part level 10154.5 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "x_bottom span 2 x 3750 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "x_bottom leg 2400 up (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "x_bottom B6/B8 alternate from the edge (F3)",
"detail": "B6 26",
"result": "PASS"
},
{
"check": "C9",
"item": "y_top positions vs chain (61/61, worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_top straight part level 12532 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_top span 2 x 3750 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_top leg 900 down (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_top B1/B3 alternate from the edge (F3)",
"detail": "B1 31",
"result": "PASS"
},
{
"check": "C9",
"item": "x_top positions vs chain (51/51, worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "x_top straight part level 12509.5 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "x_top span 2 x 3750 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "x_top leg 1200 down (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "x_top B5/B7 alternate from the edge (F3)",
"detail": "B5 26",
"result": "PASS"
},
{
"check": "C9",
"item": "B12 levels / positions (23)",
"detail": "[(10751.0, -3600.0), (10751.0, -2600.0), (10751.0, -1600.0)] vs [(10751.0, -3600.0), (10751.0, -2600.0), (10751.0, -1600.0)]",
"result": "PASS"
},
{
"check": "C9",
"item": "B11 levels / positions (11)",
"detail": "[(10732.0, -3450.0), (10732.0, -1050.0), (10732.0, 1350.0)] vs [(10732.0, -3450.0), (10732.0, -1050.0), (10732.0, 1350.0)]",
"result": "PASS"
},
{
"check": "C9",
"item": "B10 levels (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B10 loop size X (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 grid 45 (rows 6, 8 / 7 per row)",
"detail": "45",
"result": "PASS"
},
{
"check": "C9",
"item": "B9 height top-bottom (worst)",
"expected": 2444,
"actual": 2444.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 span along Y a (worst)",
"expected": 1244,
"actual": 1244.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 hooks the top and bottom Y bars",
"detail": "",
"result": "PASS"
},
{
"check": "C9",
"item": "B1 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B2 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B3 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B4 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B5 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B6 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B7 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B8 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B10 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B11 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B12 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "min cover to the footing surface per mark (record)",
"detail": "{\"B1\": 87.5, \"B2\": 87.5, \"B3\": 87.5, \"B4\": 87.5, \"B5\": 87.5, \"B6\": 65.0, \"B7\": 87.5, \"B8\": 65.0, \"B9\": 68.5, \"B10\": 68.0, \"B11\": 90.5, \"B12\": 90.5}",
"result": "INFO"
}
]
}
@@ -0,0 +1,92 @@
{
"gate": "G3",
"checker": "g3_sj.py",
"verdict": "PASS",
"summary": {
"total": 76,
"passed": 72,
"failed": 4,
"cover": {
"B1": 87.5,
"B2": 87.5,
"B3": 87.5,
"B4": 87.5,
"B5": 87.5,
"B6": 65.0,
"B7": 87.5,
"B8": 65.0,
"B9": 68.5,
"B10": 68.0,
"B11": 90.5,
"B12": 90.5
}
},
"unplanned_fails": [],
"planned_fails": [
{
"item": "B5 bar count vs schedule",
"reason": "작도 X방향 51곳(측면 점·사슬 '52@150=7.800 -300') 채택 vs 재료표 B5·B7 27·26, B6·B8 27·26 = 53 — OPEN #28"
},
{
"item": "B6 bar count vs schedule",
"reason": "작도 X방향 51곳(측면 점·사슬 '52@150=7.800 -300') 채택 vs 재료표 B5·B7 27·26, B6·B8 27·26 = 53 — OPEN #28"
},
{
"item": "B7 bar count vs schedule",
"reason": "작도 X방향 51곳(측면 점·사슬 '52@150=7.800 -300') 채택 vs 재료표 B5·B7 27·26, B6·B8 27·26 = 53 — OPEN #28"
},
{
"item": "B8 bar count vs schedule",
"reason": "작도 X방향 51곳(측면 점·사슬 '52@150=7.800 -300') 채택 vs 재료표 B5·B7 27·26, B6·B8 27·26 = 53 — OPEN #28"
}
],
"negative": {
"negH": {
"move": {
"mark": "B1",
"d": [
5,
0,
0
]
},
"new_fails": [
"y_top positions vs chain (61/61, worst)",
"y_top B1/B3 alternate from the edge (F3)"
],
"detected": true
},
"negV": {
"move": {
"mark": "B10",
"d": [
0,
0,
5
]
},
"new_fails": [
"B10 levels (worst)"
],
"detected": true
}
},
"reload": {
"ok": null,
"skipped": "일괄 실행(단일 세션) — 저장·재로드 안 함"
},
"unchanged": {
"ok": null,
"compared": 0,
"diffs": [],
"missing": [],
"against": null,
"skipped": "일괄 실행(단일 세션) — 앞 게이트 객체를 다시 만들지 않음"
},
"model": null,
"mode": "batch",
"secs": 16.4,
"session_secs": 167.4,
"inputs_sha": "19d5dc4fdc89c918",
"job_id": "2cde48eca80c"
}
@@ -0,0 +1,15 @@
{
"id": "2cde48eca80c",
"pid": 22652,
"state": "완료",
"at": "2026-10-15 13:12:11",
"log": [
"[batch] one Rhino session: build G1..G5, check G1, G2, G3, G4, G5 (no per-gate save / reload)",
"[G1] PASS checks 138/138 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G2] PASS checks 41/41 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G3] PASS checks 72/76 (planned FAIL 4, unplanned 0) negative H/V True/True (batch)",
"[G4] PASS checks 189/189 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G5] PASS checks 183/183 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[batch] done in 167.7s, objects 3043, model C:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\Code\\교각모델링앱\\data\\새재1교P1\\runs\\current\\G5.3dm"
]
}
@@ -0,0 +1,653 @@
{
"summary": {
"total": 76,
"passed": 70,
"failed": 6,
"cover": {
"B1": 87.5,
"B2": 87.5,
"B3": 87.5,
"B4": 87.5,
"B5": 87.5,
"B6": 65.0,
"B7": 87.5,
"B8": 65.0,
"B9": 68.5,
"B10": 68.0,
"B11": 90.5,
"B12": 90.5
}
},
"results": [
{
"check": "C9",
"item": "B1 bar count vs schedule",
"expected": 31,
"actual": 31,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B1 pipes closed & paired",
"detail": "31/31",
"result": "PASS"
},
{
"check": "C9",
"item": "B1 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B2 bar count vs schedule",
"expected": 31,
"actual": 31,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B2 pipes closed & paired",
"detail": "31/31",
"result": "PASS"
},
{
"check": "C9",
"item": "B2 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B3 bar count vs schedule",
"expected": 30,
"actual": 30,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B3 pipes closed & paired",
"detail": "30/30",
"result": "PASS"
},
{
"check": "C9",
"item": "B3 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B4 bar count vs schedule",
"expected": 30,
"actual": 30,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B4 pipes closed & paired",
"detail": "30/30",
"result": "PASS"
},
{
"check": "C9",
"item": "B4 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B5 bar count vs schedule",
"expected": 27,
"actual": 26,
"diff": -1,
"tol": 0,
"result": "FAIL"
},
{
"check": "C9",
"item": "B5 pipes closed & paired",
"detail": "26/26",
"result": "PASS"
},
{
"check": "C9",
"item": "B5 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B6 bar count vs schedule",
"expected": 27,
"actual": 26,
"diff": -1,
"tol": 0,
"result": "FAIL"
},
{
"check": "C9",
"item": "B6 pipes closed & paired",
"detail": "26/26",
"result": "PASS"
},
{
"check": "C9",
"item": "B6 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B7 bar count vs schedule",
"expected": 26,
"actual": 25,
"diff": -1,
"tol": 0,
"result": "FAIL"
},
{
"check": "C9",
"item": "B7 pipes closed & paired",
"detail": "25/25",
"result": "PASS"
},
{
"check": "C9",
"item": "B7 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B8 bar count vs schedule",
"expected": 26,
"actual": 25,
"diff": -1,
"tol": 0,
"result": "FAIL"
},
{
"check": "C9",
"item": "B8 pipes closed & paired",
"detail": "25/25",
"result": "PASS"
},
{
"check": "C9",
"item": "B8 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 bar count vs schedule",
"expected": 45,
"actual": 45,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 pipes closed & paired",
"detail": "45/45",
"result": "PASS"
},
{
"check": "C9",
"item": "B9 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B10 bar count vs schedule",
"expected": 4,
"actual": 4,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B10 pipes closed & paired",
"detail": "4/4",
"result": "PASS"
},
{
"check": "C9",
"item": "B10 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B11 bar count vs schedule",
"expected": 11,
"actual": 11,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B11 pipes closed & paired",
"detail": "11/11",
"result": "PASS"
},
{
"check": "C9",
"item": "B11 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B12 bar count vs schedule",
"expected": 23,
"actual": 23,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B12 pipes closed & paired",
"detail": "23/23",
"result": "PASS"
},
{
"check": "C9",
"item": "B12 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_bottom positions vs chain (61/61, worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_bottom straight part level 10132 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_bottom span 2 x 3750 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_bottom leg 1800 up (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_bottom B2/B4 alternate from the edge (F3)",
"detail": "B2 31",
"result": "PASS"
},
{
"check": "C9",
"item": "x_bottom positions vs chain (51/51, worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "x_bottom straight part level 10154.5 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "x_bottom span 2 x 3750 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "x_bottom leg 2400 up (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "x_bottom B6/B8 alternate from the edge (F3)",
"detail": "B6 26",
"result": "PASS"
},
{
"check": "C9",
"item": "y_top positions vs chain (61/61, worst)",
"expected": 0,
"actual": 5.0,
"diff": 5.0,
"tol": 1.0,
"result": "FAIL"
},
{
"check": "C9",
"item": "y_top straight part level 12532 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_top span 2 x 3750 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_top leg 900 down (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_top B1/B3 alternate from the edge (F3)",
"detail": "B1 31",
"result": "FAIL"
},
{
"check": "C9",
"item": "x_top positions vs chain (51/51, worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "x_top straight part level 12509.5 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "x_top span 2 x 3750 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "x_top leg 1200 down (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "x_top B5/B7 alternate from the edge (F3)",
"detail": "B5 26",
"result": "PASS"
},
{
"check": "C9",
"item": "B12 levels / positions (23)",
"detail": "[(10751.0, -3600.0), (10751.0, -2600.0), (10751.0, -1600.0)] vs [(10751.0, -3600.0), (10751.0, -2600.0), (10751.0, -1600.0)]",
"result": "PASS"
},
{
"check": "C9",
"item": "B11 levels / positions (11)",
"detail": "[(10732.0, -3450.0), (10732.0, -1050.0), (10732.0, 1350.0)] vs [(10732.0, -3450.0), (10732.0, -1050.0), (10732.0, 1350.0)]",
"result": "PASS"
},
{
"check": "C9",
"item": "B10 levels (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B10 loop size X (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 grid 45 (rows 6, 8 / 7 per row)",
"detail": "45",
"result": "PASS"
},
{
"check": "C9",
"item": "B9 height top-bottom (worst)",
"expected": 2444,
"actual": 2444.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 span along Y a (worst)",
"expected": 1244,
"actual": 1244.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 hooks the top and bottom Y bars",
"detail": "",
"result": "PASS"
},
{
"check": "C9",
"item": "B1 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B2 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B3 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B4 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B5 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B6 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B7 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B8 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B10 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B11 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B12 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "min cover to the footing surface per mark (record)",
"detail": "{\"B1\": 87.5, \"B2\": 87.5, \"B3\": 87.5, \"B4\": 87.5, \"B5\": 87.5, \"B6\": 65.0, \"B7\": 87.5, \"B8\": 65.0, \"B9\": 68.5, \"B10\": 68.0, \"B11\": 90.5, \"B12\": 90.5}",
"result": "INFO"
}
]
}
@@ -0,0 +1,653 @@
{
"summary": {
"total": 76,
"passed": 71,
"failed": 5,
"cover": {
"B1": 87.5,
"B2": 87.5,
"B3": 87.5,
"B4": 87.5,
"B5": 87.5,
"B6": 65.0,
"B7": 87.5,
"B8": 65.0,
"B9": 68.5,
"B10": 68.0,
"B11": 90.5,
"B12": 90.5
}
},
"results": [
{
"check": "C9",
"item": "B1 bar count vs schedule",
"expected": 31,
"actual": 31,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B1 pipes closed & paired",
"detail": "31/31",
"result": "PASS"
},
{
"check": "C9",
"item": "B1 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B2 bar count vs schedule",
"expected": 31,
"actual": 31,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B2 pipes closed & paired",
"detail": "31/31",
"result": "PASS"
},
{
"check": "C9",
"item": "B2 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B3 bar count vs schedule",
"expected": 30,
"actual": 30,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B3 pipes closed & paired",
"detail": "30/30",
"result": "PASS"
},
{
"check": "C9",
"item": "B3 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B4 bar count vs schedule",
"expected": 30,
"actual": 30,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B4 pipes closed & paired",
"detail": "30/30",
"result": "PASS"
},
{
"check": "C9",
"item": "B4 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B5 bar count vs schedule",
"expected": 27,
"actual": 26,
"diff": -1,
"tol": 0,
"result": "FAIL"
},
{
"check": "C9",
"item": "B5 pipes closed & paired",
"detail": "26/26",
"result": "PASS"
},
{
"check": "C9",
"item": "B5 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B6 bar count vs schedule",
"expected": 27,
"actual": 26,
"diff": -1,
"tol": 0,
"result": "FAIL"
},
{
"check": "C9",
"item": "B6 pipes closed & paired",
"detail": "26/26",
"result": "PASS"
},
{
"check": "C9",
"item": "B6 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B7 bar count vs schedule",
"expected": 26,
"actual": 25,
"diff": -1,
"tol": 0,
"result": "FAIL"
},
{
"check": "C9",
"item": "B7 pipes closed & paired",
"detail": "25/25",
"result": "PASS"
},
{
"check": "C9",
"item": "B7 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B8 bar count vs schedule",
"expected": 26,
"actual": 25,
"diff": -1,
"tol": 0,
"result": "FAIL"
},
{
"check": "C9",
"item": "B8 pipes closed & paired",
"detail": "25/25",
"result": "PASS"
},
{
"check": "C9",
"item": "B8 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 bar count vs schedule",
"expected": 45,
"actual": 45,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 pipes closed & paired",
"detail": "45/45",
"result": "PASS"
},
{
"check": "C9",
"item": "B9 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B10 bar count vs schedule",
"expected": 4,
"actual": 4,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B10 pipes closed & paired",
"detail": "4/4",
"result": "PASS"
},
{
"check": "C9",
"item": "B10 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B11 bar count vs schedule",
"expected": 11,
"actual": 11,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B11 pipes closed & paired",
"detail": "11/11",
"result": "PASS"
},
{
"check": "C9",
"item": "B11 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B12 bar count vs schedule",
"expected": 23,
"actual": 23,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B12 pipes closed & paired",
"detail": "23/23",
"result": "PASS"
},
{
"check": "C9",
"item": "B12 original length vs L (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_bottom positions vs chain (61/61, worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_bottom straight part level 10132 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_bottom span 2 x 3750 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_bottom leg 1800 up (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_bottom B2/B4 alternate from the edge (F3)",
"detail": "B2 31",
"result": "PASS"
},
{
"check": "C9",
"item": "x_bottom positions vs chain (51/51, worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "x_bottom straight part level 10154.5 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "x_bottom span 2 x 3750 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "x_bottom leg 2400 up (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "x_bottom B6/B8 alternate from the edge (F3)",
"detail": "B6 26",
"result": "PASS"
},
{
"check": "C9",
"item": "y_top positions vs chain (61/61, worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_top straight part level 12532 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_top span 2 x 3750 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_top leg 900 down (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "y_top B1/B3 alternate from the edge (F3)",
"detail": "B1 31",
"result": "PASS"
},
{
"check": "C9",
"item": "x_top positions vs chain (51/51, worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "x_top straight part level 12509.5 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "x_top span 2 x 3750 (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "x_top leg 1200 down (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "x_top B5/B7 alternate from the edge (F3)",
"detail": "B5 26",
"result": "PASS"
},
{
"check": "C9",
"item": "B12 levels / positions (23)",
"detail": "[(10751.0, -3600.0), (10751.0, -2600.0), (10751.0, -1600.0)] vs [(10751.0, -3600.0), (10751.0, -2600.0), (10751.0, -1600.0)]",
"result": "PASS"
},
{
"check": "C9",
"item": "B11 levels / positions (11)",
"detail": "[(10732.0, -3450.0), (10732.0, -1050.0), (10732.0, 1350.0)] vs [(10732.0, -3450.0), (10732.0, -1050.0), (10732.0, 1350.0)]",
"result": "PASS"
},
{
"check": "C9",
"item": "B10 levels (worst)",
"expected": 0,
"actual": 5.0,
"diff": 5.0,
"tol": 1.0,
"result": "FAIL"
},
{
"check": "C9",
"item": "B10 loop size X (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 grid 45 (rows 6, 8 / 7 per row)",
"detail": "45",
"result": "PASS"
},
{
"check": "C9",
"item": "B9 height top-bottom (worst)",
"expected": 2444,
"actual": 2444.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 span along Y a (worst)",
"expected": 1244,
"actual": 1244.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 hooks the top and bottom Y bars",
"detail": "",
"result": "PASS"
},
{
"check": "C9",
"item": "B1 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B2 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B3 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B4 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B5 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B6 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B7 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B8 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B10 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B11 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B12 sample points outside the footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "min cover to the footing surface per mark (record)",
"detail": "{\"B1\": 87.5, \"B2\": 87.5, \"B3\": 87.5, \"B4\": 87.5, \"B5\": 87.5, \"B6\": 65.0, \"B7\": 87.5, \"B8\": 65.0, \"B9\": 68.5, \"B10\": 68.0, \"B11\": 90.5, \"B12\": 90.5}",
"result": "INFO"
}
]
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,85 @@
{
"gate": "G4",
"checker": "g4_sj.py",
"verdict": "PASS",
"summary": {
"total": 189,
"passed": 189,
"failed": 0,
"cover": {
"C1": 110.0,
"C4": 110.0,
"C2": 110.5,
"C3": 110.5,
"C5": 110.5,
"C6": 110.5,
"C7": 110.5,
"C8": 89.5,
"C9": 89.5,
"C10": 89.5,
"C11": 89.5,
"C12": 84.3,
"C13": 89.5,
"C14": 114.0,
"C15": 114.0,
"C16": 114.0,
"C17": 114.0,
"C18": 115.5,
"C19": 115.4,
"C20": 114.9,
"S1": 133.1,
"S2": 124.5
}
},
"unplanned_fails": [],
"planned_fails": [],
"negative": {
"negH": {
"move": {
"mark": "C1",
"d": [
0,
5,
0
]
},
"new_fails": [
"C1 y rows vs chain (worst, n=12/12)"
],
"detected": true
},
"negV": {
"move": {
"mark": "C7",
"d": [
0,
0,
5
]
},
"new_fails": [
"C7 lowest level per bar vs drawn (worst)",
"C7 raised bars (y +-1125) top end (worst)"
],
"detected": true
}
},
"reload": {
"ok": null,
"skipped": "일괄 실행(단일 세션) — 저장·재로드 안 함"
},
"unchanged": {
"ok": null,
"compared": 0,
"diffs": [],
"missing": [],
"against": null,
"skipped": "일괄 실행(단일 세션) — 앞 게이트 객체를 다시 만들지 않음"
},
"model": null,
"mode": "batch",
"secs": 89.5,
"session_secs": 167.4,
"inputs_sha": "19d5dc4fdc89c918",
"job_id": "2cde48eca80c"
}
@@ -0,0 +1,15 @@
{
"id": "2cde48eca80c",
"pid": 22652,
"state": "완료",
"at": "2026-10-15 13:12:11",
"log": [
"[batch] one Rhino session: build G1..G5, check G1, G2, G3, G4, G5 (no per-gate save / reload)",
"[G1] PASS checks 138/138 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G2] PASS checks 41/41 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G3] PASS checks 72/76 (planned FAIL 4, unplanned 0) negative H/V True/True (batch)",
"[G4] PASS checks 189/189 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G5] PASS checks 183/183 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[batch] done in 167.7s, objects 3043, model C:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\Code\\교각모델링앱\\data\\새재1교P1\\runs\\current\\G5.3dm"
]
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,60 @@
{
"gate": "G5",
"checker": "g5_bearings.py",
"verdict": "PASS",
"summary": {
"total": 183,
"passed": 183,
"failed": 0
},
"unplanned_fails": [],
"planned_fails": [],
"negative": {
"negH": {
"move": {
"id": "BB04",
"d": [
5,
0,
0
]
},
"new_fails": [
"NO.4 bearing plan centre offset from pad (mm)"
],
"detected": true
},
"negV": {
"move": {
"id": "SP03",
"d": [
0,
0,
5
]
},
"new_fails": [
"NO.3 sole plate bottom = bearing top"
],
"detected": true
}
},
"reload": {
"ok": null,
"skipped": "일괄 실행(단일 세션) — 저장·재로드 안 함"
},
"unchanged": {
"ok": null,
"compared": 0,
"diffs": [],
"missing": [],
"against": null,
"skipped": "일괄 실행(단일 세션) — 앞 게이트 객체를 다시 만들지 않음"
},
"model": "C:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\Code\\교각모델링앱\\data\\새재1교P1\\runs\\current\\G5.3dm",
"mode": "batch",
"secs": 0.6,
"session_secs": 167.4,
"inputs_sha": "19d5dc4fdc89c918",
"job_id": "2cde48eca80c"
}
@@ -0,0 +1,15 @@
{
"id": "2cde48eca80c",
"pid": 22652,
"state": "완료",
"at": "2026-10-15 13:12:11",
"log": [
"[batch] one Rhino session: build G1..G5, check G1, G2, G3, G4, G5 (no per-gate save / reload)",
"[G1] PASS checks 138/138 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G2] PASS checks 41/41 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G3] PASS checks 72/76 (planned FAIL 4, unplanned 0) negative H/V True/True (batch)",
"[G4] PASS checks 189/189 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G5] PASS checks 183/183 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[batch] done in 167.7s, objects 3043, model C:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\Code\\교각모델링앱\\data\\새재1교P1\\runs\\current\\G5.3dm"
]
}
@@ -0,0 +1,37 @@
{
"G1": {
"decision": "승인",
"by": "심영표",
"note": "일괄 실행 자동 승인",
"at": "2026-10-15 13:12:11",
"inputs_sha": "19d5dc4fdc89c918"
},
"G2": {
"decision": "승인",
"by": "심영표",
"note": "일괄 실행 자동 승인",
"at": "2026-10-15 13:12:11",
"inputs_sha": "19d5dc4fdc89c918"
},
"G3": {
"decision": "승인",
"by": "심영표",
"note": "일괄 실행 자동 승인",
"at": "2026-10-15 13:12:11",
"inputs_sha": "19d5dc4fdc89c918"
},
"G4": {
"decision": "승인",
"by": "심영표",
"note": "일괄 실행 자동 승인",
"at": "2026-10-15 13:12:11",
"inputs_sha": "19d5dc4fdc89c918"
},
"G5": {
"decision": "승인",
"by": "심영표",
"note": "일괄 실행 자동 승인",
"at": "2026-10-15 13:12:11",
"inputs_sha": "19d5dc4fdc89c918"
}
}
@@ -0,0 +1,21 @@
{
"state": "완료",
"by": "심영표",
"pid": 22652,
"at": "2026-10-15 13:12:11",
"log": [
"G1~G5 단일 세션 실행 (게이트 검사·음성 시험만, 중간 저장·재로드 없음)",
"[batch] one Rhino session: build G1..G5, check G1, G2, G3, G4, G5 (no per-gate save / reload)",
"[G1] PASS checks 138/138 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G2] PASS checks 41/41 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G3] PASS checks 72/76 (planned FAIL 4, unplanned 0) negative H/V True/True (batch)",
"[G4] PASS checks 189/189 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G5] PASS checks 183/183 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[batch] done in 167.7s, objects 3043, model C:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\Code\\교각모델링앱\\data\\새재1교P1\\runs\\current\\G5.3dm",
"G1 PASS 138/138 (계획 FAIL 0) → 승인",
"G2 PASS 41/41 (계획 FAIL 0) → 승인",
"G3 PASS 72/76 (계획 FAIL 4) → 승인",
"G4 PASS 189/189 (계획 FAIL 0) → 승인",
"G5 PASS 183/183 (계획 FAIL 0) → 승인"
]
}
@@ -0,0 +1,11 @@
{
"chapters_missing": [],
"vocab_bad": [],
"finding_rows": 4,
"finding_rows_without_source": 0,
"schedule_rows": 0,
"schedule_marks": 0,
"gate_rows": 5,
"schedule_unread": true,
"ok": false
}
@@ -0,0 +1,115 @@
# 새재1교P1 교각 모델링 검토보고서 (초안)
> 앱이 게이트 결과·도면 표·승인 기록으로 자동 작성한 **초안**입니다. '오류'·'불일치' 판정과 3~5장의 서술은 담당자가 확인·확정해야 합니다. 작성일 2026-10-15 · 작성 심영표.
## 1. 개요
- 교각: 새재1교P1 (T형) · 좌표: 로컬(교각 중심 원점, X 교축직각, Y 교축, Z = EL×1000, mm) · 산출: .3dm
- 게이트 진행: 5/5 실행, **전 게이트 PASS·승인**
### 1.1 입력 도면
| 구분 | DWG | SHA-256(앞 16자) |
| :--- | :--- | :--- |
| D1 | 새재1교P1.dwg | d1a5109698fe9242 |
### 1.2 게이트 결과
| 게이트 | 내용 | 판정 | 검사 PASS | 승인 | 의견 |
| :--- | :--- | :--- | :--- | :--- | :--- |
| G1 | 형상(콘크리트·말뚝·받침대좌·패드) | PASS | 138/138 | 승인 심영표 2026-10-15 13:12:11 | 일괄 실행 자동 승인 |
| G2 | 기둥 철근 | PASS | 41/41 | 승인 심영표 2026-10-15 13:12:11 | 일괄 실행 자동 승인 |
| G3 | 확대기초 철근 | PASS | 72/76 | 승인 심영표 2026-10-15 13:12:11 | 일괄 실행 자동 승인 |
| G4 | 코핑 철근 | PASS | 189/189 | 승인 심영표 2026-10-15 13:12:11 | 일괄 실행 자동 승인 |
| G5 | 교량받침·솔플레이트 | PASS | 183/183 | 승인 심영표 2026-10-15 13:12:11 | 일괄 실행 자동 승인 |
## 2. 도면 오류·불일치
자동 등재 기준: 승인된 계획 FAIL → '불일치', 계획되지 않은 FAIL과 도면 표 값·입력값 차이 → '확인 필요'.
| 판정 | 게이트 | 항목 | 내용 | 근거 |
| :--- | :--- | :--- | :--- | :--- |
| 불일치 | G3 | B5 bar count vs schedule | 작도 X방향 51곳(측면 점·사슬 '52@150=7.800 -300') 채택 vs 재료표 B5·B7 27·26, B6·B8 27·26 = 53 — OPEN #28 | 예외 승인: 사용자 2026-10-15 |
| 불일치 | G3 | B6 bar count vs schedule | 작도 X방향 51곳(측면 점·사슬 '52@150=7.800 -300') 채택 vs 재료표 B5·B7 27·26, B6·B8 27·26 = 53 — OPEN #28 | 예외 승인: 사용자 2026-10-15 |
| 불일치 | G3 | B7 bar count vs schedule | 작도 X방향 51곳(측면 점·사슬 '52@150=7.800 -300') 채택 vs 재료표 B5·B7 27·26, B6·B8 27·26 = 53 — OPEN #28 | 예외 승인: 사용자 2026-10-15 |
| 불일치 | G3 | B8 bar count vs schedule | 작도 X방향 51곳(측면 점·사슬 '52@150=7.800 -300') 채택 vs 재료표 B5·B7 27·26, B6·B8 27·26 = 53 — OPEN #28 | 예외 승인: 사용자 2026-10-15 |
## 3. 개선방안
[담당자 작성] 2장 항목별로 도면 수정·설계자 확인 방안을 적습니다.
## 4. 추가되어야 할 사항
[담당자 작성] 도면에 없어 추정·가정으로 모델링한 사항(입력 묶음의 `[추론]` 표기)을 정리합니다.
- 자동 확인: `[추론]` 표기가 있는 입력 묶음 — bearing_seats, column_rebar, footing_rebar, materials, sole_plates
## 5. 누락사항
[담당자 작성] 도면에서 빠진 치수·표·상세를 적습니다.
## 6. 철근재료표 (원본 vs 모델)
원본 = 도면 재료표 판독값(동일 기호 " 해석 포함), 모델 = 게이트 검사의 본수 실측값.
도면 재료표를 인식하지 못했습니다(도면 미등록 또는 표 형식 상이).
## 7. 철근상세 (기록)
원길이·곡선길이·피복은 판정이 아닌 기록 값입니다(요구사항 §6.2).
### 7.1 기둥 (G2)
| 항목 | 값 |
| :--- | :--- |
| P1 curve length - L (record) | min 0.1 / max 0.1 mm |
| P2 curve length - L (record) | min 0.1 / max 0.1 mm |
| P3 curve length - L (record) | min -0.8 / max -0.8 mm |
| P4 curve length - L (record) | min 0.3 / max 0.3 mm |
| P5 curve length - L (record) | min -224.0 / max -224.0 mm |
| concrete union for cover | 1 brep |
| min cover to concrete surface per mark (record) | {"P1": 109.0, "P2": 134.0, "P3": 84.0, "P4": 90.0, "P5": 65.5} |
### 7.2 확대기초 (G3)
| 항목 | 값 |
| :--- | :--- |
| min cover to the footing surface per mark (record) | {"B1": 87.5, "B2": 87.5, "B3": 87.5, "B4": 87.5, "B5": 87.5, "B6": 65.0, "B7": 87.5, "B8": 65.0, "B9": 68.5, "B10": 68.0, "B11": 90.5, "B12": 90.5} |
### 7.3 코핑 (G4)
| 항목 | 값 |
| :--- | :--- |
| C7 mean polyline length vs L (variable mark, record) | mean 12687.7 / L 14292 (diff -1604.3); min 9268 max 13372 |
| C8 mean polyline length vs L (variable mark, record) | mean 7025.2 / L 8388 (diff -1362.8); min 5319 max 8726 |
| C9 mean polyline length vs L (variable mark, record) | mean 7363.4 / L 11016 (diff -3652.6); min 5801 max 8914 |
| C10 mean polyline length vs L (variable mark, record) | mean 8983.4 / L 10261 (diff -1277.6); min 8792 max 8994 |
| C11 mean polyline length vs L (variable mark, record) | mean 9147.8 / L 10196 (diff -1048.2); min 8945 max 9159 |
| C12 mean polyline length vs L (variable mark, record) | mean 7612.0 / L 8915 (diff -1303.0); min 6093 max 9007 |
| C13 mean polyline length vs L (variable mark, record) | mean 7948.8 / L 9056 (diff -1107.2); min 6575 max 9207 |
| C14 mean polyline length vs L (variable mark, record) | mean 18110.2 / L 21269 (diff -3158.8); min 8933 max 27287 |
| C15 mean polyline length vs L (variable mark, record) | mean 6733.6 / L 7434 (diff -700.4); min 2498 max 10969 |
| C16 mean polyline length vs L (variable mark, record) | mean 28910.0 / L 31302 (diff -2392.0); min 28910 max 28910 |
| C17 mean polyline length vs L (variable mark, record) | mean 11750.0 / L 13001 (diff -1251.0); min 11750 max 11750 |
| C18 mean polyline length vs L (variable mark, record) | mean 3453.1 / L 3490 (diff -36.9); min 2774 max 3490 |
| min cover to the coping surface per mark (record; seat bars measured to the coping only) | {"C1": 110.0, "C4": 110.0, "C2": 110.5, "C3": 110.5, "C5": 110.5, "C6": 110.5, "C7": 110.5, "C8": 89.5, "C9": 89.5, "C10": 89.5, "C11": 89.5, "C12": 84.3, "C13": 89.5, "C14": 114.0, "C15": 114.0, "C16": 114.0, "C17": 114.0, "C18": 115.5, "C19": 115.4, "C20": 114.9, "S1": 133.1, "S2": 124.5} |
## 8. 검증 방법
- 검사기는 생성 입력(params)이 아니라 도면 문자·표에서 옮긴 독립 기대값(expected)만 읽습니다.
- 게이트마다 G1부터 새로 생성 → 저장 파일을 다시 열어 검사(재로드) → 객체를 수평·수직으로 옮겨 FAIL이 나는지 확인(음성 시험) → 앞 게이트 객체 지문 비교.
- 일괄 실행(단일 Rhino 세션)으로 검사한 게이트는 중간 저장·재로드와 앞 게이트 비교를 하지 않으며, 표에 '생략(일괄 실행)'으로 적습니다. 모델은 마지막 G5만 저장합니다.
| 게이트 | 재로드 | 음성 시험 | 앞 게이트 객체 |
| :--- | :--- | :--- | :--- |
| G1 | 생략(일괄 실행) | 수평 검출 / 수직 검출 | 생략(일괄 실행) |
| G2 | 생략(일괄 실행) | 수평 검출 / 수직 검출 | 생략(일괄 실행) |
| G3 | 생략(일괄 실행) | 수평 검출 / 수직 검출 | 생략(일괄 실행) |
| G4 | 생략(일괄 실행) | 수평 검출 / 수직 검출 | 생략(일괄 실행) |
| G5 | 생략(일괄 실행) | 수평 검출 / 수직 검출 | 생략(일괄 실행) |
## 변경 이력
| 버전 | 일자 | 내용 |
| :--- | :--- | :--- |
| v0.1.00 | 2026-10-15 | 앱 자동 생성 초안 |
@@ -0,0 +1,327 @@
[
{
"at": "2026-10-19 13:30:56",
"fields": [
{
"field": "expected:G1.seats.table.10.0",
"file": "expected",
"from": 42953,
"to": 42019,
"grade": "A",
"text": "42.019",
"x": 24938.3,
"y": 3894.5,
"pos": "D2 (24938, 3894)"
},
{
"field": "expected:G1.seats.table.9.0",
"file": "expected",
"from": 42880,
"to": 41945,
"grade": "A",
"text": "41.945",
"x": 24938.3,
"y": 4374.5,
"pos": "D2 (24938, 4374)"
},
{
"field": "expected:G1.seats.table.8.0",
"file": "expected",
"from": 42807,
"to": 41871,
"grade": "A",
"text": "41.871",
"x": 24938.3,
"y": 4854.5,
"pos": "D2 (24938, 4854)"
},
{
"field": "expected:G1.seats.table.7.0",
"file": "expected",
"from": 42734,
"to": 41797,
"grade": "A",
"text": "41.797",
"x": 24938.3,
"y": 5334.5,
"pos": "D2 (24938, 5334)"
},
{
"field": "expected:G1.seats.table.6.0",
"file": "expected",
"from": 42661,
"to": 41723,
"grade": "A",
"text": "41.723",
"x": 24938.3,
"y": 5814.5,
"pos": "D2 (24938, 5814)"
},
{
"field": "expected:G1.seats.table.5.0",
"file": "expected",
"from": 42978,
"to": 42043,
"grade": "A",
"text": "42.043",
"x": 24938.3,
"y": 6294.5,
"pos": "D2 (24938, 6294)"
},
{
"field": "expected:G1.seats.table.4.0",
"file": "expected",
"from": 42905,
"to": 41969,
"grade": "A",
"text": "41.969",
"x": 24938.3,
"y": 6774.5,
"pos": "D2 (24938, 6774)"
},
{
"field": "expected:G1.seats.table.3.0",
"file": "expected",
"from": 42832,
"to": 41895,
"grade": "A",
"text": "41.895",
"x": 24938.3,
"y": 7254.5,
"pos": "D2 (24938, 7254)"
},
{
"field": "expected:G1.seats.table.2.0",
"file": "expected",
"from": 42759,
"to": 41821,
"grade": "A",
"text": "41.821",
"x": 24938.3,
"y": 7734.5,
"pos": "D2 (24938, 7734)"
},
{
"field": "expected:G1.seats.table.1.0",
"file": "expected",
"from": 42686,
"to": 41747,
"grade": "A",
"text": "41.747",
"x": 24938.3,
"y": 8214.5,
"pos": "D2 (24938, 8214)"
},
{
"field": "expected:G1.column.height",
"file": "expected",
"from": 12133,
"to": 11127,
"grade": "A",
"text": "11.127",
"x": 3029.4,
"y": 14008.8,
"pos": "D1 (3029, 14009)"
},
{
"field": "expected:G1.footing.z0",
"file": "expected",
"from": 25123,
"to": 25175,
"grade": "A",
"text": "EL. 25.175",
"x": 24278.0,
"y": 8775.6,
"pos": "D1 (24278, 8776)"
},
{
"field": "expected:G2.schedule_L.P2",
"file": "expected",
"from": 16683,
"to": 15677,
"grade": "A",
"text": "15.677",
"x": 43188.4,
"y": 29539.8,
"pos": "D3 (43188, 29540)"
},
{
"field": "expected:G2.schedule_L.P1",
"file": "expected",
"from": 17377,
"to": 16371,
"grade": "A",
"text": "16.371",
"x": 43188.4,
"y": 29899.8,
"pos": "D3 (43188, 29900)"
},
{
"field": "expected:G3.schedule.B12.0",
"file": "expected",
"from": 7800,
"to": 8800,
"grade": "A",
"text": "8.800",
"x": 29878.0,
"y": 3741.9,
"pos": "D1 (29878, 3742)"
},
{
"field": "expected:G3.schedule.B4.0",
"file": "expected",
"from": 7600,
"to": 8600,
"grade": "A",
"text": "8.600",
"x": 43290.6,
"y": 26659.8,
"pos": "D3 (43291, 26660)"
},
{
"field": "expected:G3.schedule.B3.0",
"file": "expected",
"from": 8000,
"to": 9000,
"grade": "A",
"text": "9.000",
"x": 43290.6,
"y": 27379.8,
"pos": "D3 (43291, 27380)"
},
{
"field": "expected:G3.schedule.B2.0",
"file": "expected",
"from": 11500,
"to": 12500,
"grade": "A",
"text": "12.500",
"x": 43188.4,
"y": 27019.8,
"pos": "D3 (43188, 27020)"
},
{
"field": "expected:G3.schedule.B1.0",
"file": "expected",
"from": 8000,
"to": 9000,
"grade": "A",
"text": "9.000",
"x": 43290.6,
"y": 27379.8,
"pos": "D3 (43291, 27380)"
},
{
"field": "expected:G5.el_x.10",
"file": "expected",
"from": 42953,
"to": 42019,
"grade": "A",
"text": "42.019",
"x": 24938.3,
"y": 3894.5,
"pos": "D2 (24938, 3894)"
},
{
"field": "expected:G5.el_x.9",
"file": "expected",
"from": 42880,
"to": 41945,
"grade": "A",
"text": "41.945",
"x": 24938.3,
"y": 4374.5,
"pos": "D2 (24938, 4374)"
},
{
"field": "expected:G5.el_x.8",
"file": "expected",
"from": 42807,
"to": 41871,
"grade": "A",
"text": "41.871",
"x": 24938.3,
"y": 4854.5,
"pos": "D2 (24938, 4854)"
},
{
"field": "expected:G5.el_x.7",
"file": "expected",
"from": 42734,
"to": 41797,
"grade": "A",
"text": "41.797",
"x": 24938.3,
"y": 5334.5,
"pos": "D2 (24938, 5334)"
},
{
"field": "expected:G5.el_x.6",
"file": "expected",
"from": 42661,
"to": 41723,
"grade": "A",
"text": "41.723",
"x": 24938.3,
"y": 5814.5,
"pos": "D2 (24938, 5814)"
},
{
"field": "expected:G5.el_x.5",
"file": "expected",
"from": 42978,
"to": 42043,
"grade": "A",
"text": "42.043",
"x": 24938.3,
"y": 6294.5,
"pos": "D2 (24938, 6294)"
},
{
"field": "expected:G5.el_x.4",
"file": "expected",
"from": 42905,
"to": 41969,
"grade": "A",
"text": "41.969",
"x": 24938.3,
"y": 6774.5,
"pos": "D2 (24938, 6774)"
},
{
"field": "expected:G5.el_x.3",
"file": "expected",
"from": 42832,
"to": 41895,
"grade": "A",
"text": "41.895",
"x": 24938.3,
"y": 7254.5,
"pos": "D2 (24938, 7254)"
},
{
"field": "expected:G5.el_x.2",
"file": "expected",
"from": 42759,
"to": 41821,
"grade": "A",
"text": "41.821",
"x": 24938.3,
"y": 7734.5,
"pos": "D2 (24938, 7734)"
},
{
"field": "expected:G5.el_x.1",
"file": "expected",
"from": 42686,
"to": 41747,
"grade": "A",
"text": "41.747",
"x": 24938.3,
"y": 8214.5,
"pos": "D2 (24938, 8214)"
}
],
"why": ""
}
]
@@ -0,0 +1 @@
{"version": "1", "sources": ["d275fc3541eb2598c67563a366be893183f0a86063bf80fbad22bc4a41ad0694", "0aa03f2145935b1a2d91ac6f50ed8f37269ada03ec69c22fc8a94e6a3b0584e1", "f77980c5f8592d50be0b22c72b626154af1f492884ad2803e310771643e442b5"], "fields": {"params:lean_concrete.z_top": {"v": 26208, "hits": [{"text": "EL. 26.208", "x": 17398.3, "y": 7683.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}, {"text": "EL. 26.208", "x": 24673.9, "y": 8775.6, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}, {"text": "EL. 26.208", "x": 17398.3, "y": -27122.5, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 2}, "params:lean_concrete.size_y": {"v": 8000, "hits": [{"text": "8.000", "x": 43290.6, "y": 25939.8, "layer": "CS-TABL-TEX2", "dwg": "D3", "kind": "m"}, {"text": "8.000", "x": 43290.6, "y": 27379.8, "layer": "CS-TABL-TEX2", "dwg": "D3", "kind": "m"}], "shared": 1}, "params:lean_concrete.size_x": {"v": 9550, "hits": [{"text": "9.550", "x": 43290.6, "y": 25579.8, "layer": "CS-TABL-TEX2", "dwg": "D3", "kind": "m"}, {"text": "9.550", "x": 43290.6, "y": 28819.8, "layer": "CS-TABL-TEX2", "dwg": "D3", "kind": "m"}], "shared": 1}, "params:footing.z_bottom": {"v": 26208, "hits": [{"text": "EL. 26.208", "x": 17398.3, "y": 7683.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}, {"text": "EL. 26.208", "x": 24673.9, "y": 8775.6, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}, {"text": "EL. 26.208", "x": 17398.3, "y": -27122.5, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 2}, "params:footing.size_y": {"v": 7800, "hits": [{"text": "7.800", "x": 29878.0, "y": 3741.9, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "7.800", "x": 22191.2, "y": 16615.7, "layer": "CS-DIMT", "dwg": "D2", "kind": "m"}, {"text": "7.800", "x": 35236.8, "y": 16615.7, "layer": "CS-DIMT", "dwg": "D2", "kind": "m"}, {"text": "7.800", "x": 43290.6, "y": 24139.8, "layer": "CS-TABL-TEX2", "dwg": "D3", "kind": "m"}], "shared": 1}, "params:footing.size_x": {"v": 9350, "hits": [{"text": "9.350", "x": 11903.7, "y": 3741.9, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "9.350", "x": -22952.2, "y": -26049.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "9.350", "x": 28817.0, "y": 23201.3, "layer": "CS-DIMT", "dwg": "D2", "kind": "m"}, {"text": "9.350", "x": 43290.6, "y": 24499.8, "layer": "CS-TABL-TEX2", "dwg": "D3", "kind": "m"}], "shared": 1}, "params:column.height": {"v": 12003, "hits": [{"text": "12.003", "x": 23303.6, "y": 14008.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.003", "x": 3029.4, "y": 14008.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.003", "x": 20129.4, "y": 14008.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.003", "x": 79697.1, "y": -195286.1, "layer": "CC-TABL-TEX2", "dwg": "D1", "kind": "m"}, {"text": "12.003", "x": 23303.6, "y": -375231.7, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.003", "x": 3029.4, "y": -375231.7, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:coping.top_steps.4.z": {"v": 43698, "hits": [{"text": "EL. 43.698", "x": 18443.1, "y": 20261.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 1}, "params:coping.top_steps.2.z": {"v": 43555, "hits": [{"text": "EL. 43.555", "x": 26179.8, "y": 20319.3, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 1}, "params:coping.top_steps.0.z": {"v": 43411, "hits": [{"text": "EL. 43.411", "x": 4867.8, "y": 20175.6, "layer": "CS-DIMT", "dwg": "D1", "kind": "EL"}], "shared": 1}, "params:coping.flat_bottom_half_width": {"v": 1100, "hits": [{"text": "1.100", "x": 5846.3, "y": 21259.8, "layer": "CS-TABL-TEX2", "dwg": "D3", "kind": "m"}], "shared": 2}, "params:coping.length_bottom_tip_to_tip": {"v": 12400, "hits": [{"text": "12.400", "x": 11855.6, "y": 31231.1, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.400", "x": 11852.6, "y": 22820.8, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.400", "x": -14619.2, "y": 31231.1, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.400", "x": 11855.6, "y": -360258.3, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}, {"text": "12.400", "x": 11852.6, "y": -367938.0, "layer": "CS-DIMT", "dwg": "D1", "kind": "m"}], "shared": 1}, "params:bearing_seats.bearings.9.el_x": {"v": 43887, "hits": [{"text": "43.887", "x": 24938.3, "y": 3894.5, "layer": "CS-TABL-TEX2", "dwg": "D2", "kind": "m"}], "shared": 1}, "params:bearing_seats.bearings.8.el_x": {"v": 43816, "hits": [{"text": "43.816", "x": 24938.3, "y": 4374.5, "layer": "CS-TABL-TEX2", "dwg": "D2", "kind": "m"}], "shared": 1}, "params:bearing_seats.bearings.7.el_x": {"v": 43744, "hits": [{"text": "43.744", "x": 24938.3, "y": 4854.5, "layer": "CS-TABL-TEX2", "dwg": "D2", "kind": "m"}], "shared": 1}, "params:bearing_seats.bearings.6.el_x": {"v": 43672, "hits": [{"text": "43.672", "x": 24938.3, "y": 5334.5, "layer": "CS-TABL-TEX2", "dwg": "D2", "kind": "m"}], "shared": 1}, "params:bearing_seats.bearings.5.el_x": {"v": 43600, "hits": [{"textLine truncated
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,117 @@
{
"params:pier_id": {
"sha": "abc5ac4ec94f0b99",
"by": "심영표",
"at": "2026-10-12 17:05:53"
},
"params:rebar_marks": {
"sha": "e4ad42a5f585d89a",
"by": "심영표",
"at": "2026-10-12 17:05:53"
},
"params:display": {
"sha": "a6a77705597ca560",
"by": "심영표",
"at": "2026-10-12 17:05:53"
},
"expected:pier_id": {
"sha": "abc5ac4ec94f0b99",
"by": "심영표",
"at": "2026-10-12 17:05:53"
},
"expected:tol_mm": {
"sha": "d0ff5974b6aa52cf",
"by": "심영표",
"at": "2026-10-12 17:05:53"
},
"expected:rebar_palette": {
"sha": "c41013bf3e985022",
"by": "심영표",
"at": "2026-10-12 17:05:53"
},
"expected:planned_fail": {
"sha": "b0605b500f418127",
"by": "심영표",
"at": "2026-10-12 17:05:53"
},
"params:lean_concrete": {
"sha": "76847a00054d9e96",
"by": "심영표",
"at": "2026-10-12 17:05:53"
},
"params:footing": {
"sha": "483d22ced82351a4",
"by": "심영표",
"at": "2026-10-12 17:05:53"
},
"params:column": {
"sha": "dc62bae09776dcb5",
"by": "심영표",
"at": "2026-10-12 17:05:53"
},
"params:coping": {
"sha": "ee81c801e46ae937",
"by": "심영표",
"at": "2026-10-12 17:05:53"
},
"params:piles": {
"sha": "ae0cbe3f0389f067",
"by": "심영표",
"at": "2026-10-12 17:05:53"
},
"params:bearing_seats": {
"sha": "7b214c333e25d55d",
"by": "심영표",
"at": "2026-10-12 17:05:53"
},
"params:materials": {
"sha": "806da851d464e8d1",
"by": "심영표",
"at": "2026-10-12 17:05:53"
},
"expected:G1": {
"sha": "3e5d81258416bea0",
"by": "심영표",
"at": "2026-10-12 17:05:53"
},
"params:column_rebar": {
"sha": "7f6fb991d1e64433",
"by": "심영표",
"at": "2026-10-12 17:05:53"
},
"expected:G2": {
"sha": "12096da472468e95",
"by": "심영표",
"at": "2026-10-12 17:05:53"
},
"params:footing_rebar": {
"sha": "c9bf3723c6ae4040",
"by": "심영표",
"at": "2026-10-12 17:05:53"
},
"expected:G3": {
"sha": "a51185857a6964e8",
"by": "심영표",
"at": "2026-10-12 17:05:53"
},
"params:coping_rebar": {
"sha": "b2c7017846b490e9",
"by": "심영표",
"at": "2026-10-12 17:05:53"
},
"expected:G4": {
"sha": "2e5d2ccf9887820b",
"by": "심영표",
"at": "2026-10-12 17:05:53"
},
"params:sole_plates": {
"sha": "9c2758aa6ffe0ffc",
"by": "심영표",
"at": "2026-10-12 17:05:53"
},
"expected:G5": {
"sha": "ba18c7e66b717574",
"by": "심영표",
"at": "2026-10-12 17:05:53"
}
}
@@ -0,0 +1,26 @@
[
{
"source": "C0050205-031-운곡교 교각도(1)(완도방향 P3).dwg",
"source_sha256": "0fdbafcd3e019da5c44faa53dd9ecf80772b35b26109cf4df86e327c826ebaf8",
"dxf": "C0050205-031-운곡교 교각도(1)(완도방향 P3).dxf",
"dxf_sha256": "61e97bb780b3a07e97c50983b547373df0ba4c7224e72f440fe15efe2a2de98b",
"engine": "ODA File Converter 27.1.0",
"label": "D1"
},
{
"source": "C0050205-032-운곡교 교각도(2)(완도방향 P3).dwg",
"source_sha256": "e00986b6b71efbfe2e460bb365481c600fdd930435c666c795fe3f4841d4e635",
"dxf": "C0050205-032-운곡교 교각도(2)(완도방향 P3).dxf",
"dxf_sha256": "0f5383133fcbab94c628c2da46a73055d8f45ba5809834c280e61728f3f7385f",
"engine": "ODA File Converter 27.1.0",
"label": "D2"
},
{
"source": "C0050205-033-운곡교 교각도(3)(완도방향 P3).dwg",
"source_sha256": "893ce984f03f6e6370c505d5dc9d0a5ce11447002b1f9eb1c002c3031f9a5a7c",
"dxf": "C0050205-033-운곡교 교각도(3)(완도방향 P3).dxf",
"dxf_sha256": "b42fc01ca165ad8910921f215d7563ca234df3af8762625dc934c66de05399e0",
"engine": "ODA File Converter 27.1.0",
"label": "D3"
}
]
@@ -0,0 +1 @@
[{"dwg": "D1", "layer": "CS-DIMT", "x": 43035.4, "y": 28287.3, "h": 150.0, "text": "137", "handle": "25B84"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 45797.9, "y": 28287.3, "h": 150.0, "text": "138", "handle": "25B85"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 46137.4, "y": 28238.7, "h": 150.0, "text": "(1~3단)", "handle": "25B86"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 45797.9, "y": 21291.0, "h": 150.0, "text": "138", "handle": "25B87"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 43035.4, "y": 21291.0, "h": 150.0, "text": "137", "handle": "25B88"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 42641.9, "y": 21501.0, "h": 150.0, "text": "100", "handle": "25B89"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 44314.7, "y": 20901.0, "h": 150.0, "text": "3.100", "handle": "25B8A"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 43956.2, "y": 21501.0, "h": 150.0, "text": "21@125=2.625", "handle": "25B8B"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 46341.9, "y": 21501.0, "h": 150.0, "text": "100", "handle": "25B8C"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 44314.7, "y": 29097.3, "h": 150.0, "text": "3.100", "handle": "25B8D"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 42641.9, "y": 28497.3, "h": 150.0, "text": "100", "handle": "25B8E"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 46341.9, "y": 28497.3, "h": 150.0, "text": "100", "handle": "25B8F"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 43956.2, "y": 28497.3, "h": 150.0, "text": "21@125=2.625", "handle": "25B90"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 43256.9, "y": 22101.0, "h": 150.0, "text": "580", "handle": "25B91"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 42641.9, "y": 22101.0, "h": 150.0, "text": "100", "handle": "25B92"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 43836.9, "y": 22101.0, "h": 150.0, "text": "580", "handle": "25B93"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 44416.9, "y": 22101.0, "h": 150.0, "text": "580", "handle": "25B94"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 44996.9, "y": 22101.0, "h": 150.0, "text": "580", "handle": "25B95"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 45576.9, "y": 22101.0, "h": 150.0, "text": "580", "handle": "25B96"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 46266.9, "y": 22101.0, "h": 150.0, "text": "100", "handle": "25B97"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 44314.7, "y": 7893.9, "h": 150.0, "text": "3.100", "handle": "25B98"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 42641.9, "y": 8493.9, "h": 150.0, "text": "100", "handle": "25B99"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 43956.2, "y": 8493.9, "h": 150.0, "text": "21@125=2.625", "handle": "25B9A"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 46341.9, "y": 8493.9, "h": 150.0, "text": "100", "handle": "25B9B"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 44314.7, "y": 18141.7, "h": 150.0, "text": "3.100", "handle": "25B9C"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 43893.7, "y": 17541.7, "h": 150.0, "text": "10@250=2.500", "handle": "25B9D"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 46416.9, "y": 17541.7, "h": 150.0, "text": "100", "handle": "25B9E"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 42641.9, "y": 16941.7, "h": 150.0, "text": "100", "handle": "25B9F"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 42641.9, "y": 17541.7, "h": 150.0, "text": "100", "handle": "25BA0"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 46341.9, "y": 16941.7, "h": 150.0, "text": "100", "handle": "25BA1"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 43956.2, "y": 16941.7, "h": 150.0, "text": "21@125=2.625", "handle": "25BA2"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 43256.9, "y": 9093.9, "h": 150.0, "text": "580", "handle": "25BA3"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 42641.9, "y": 9093.9, "h": 150.0, "text": "100", "handle": "25BA4"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 43836.9, "y": 9093.9, "h": 150.0, "text": "580", "handle": "25BA5"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 44416.9, "y": 9093.9, "h": 150.0, "text": "580", "handle": "25BA6"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 44996.9, "y": 9093.9, "h": 150.0, "text": "580", "handle": "25BA7"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 45576.9, "y": 9093.9, "h": 150.0, "text": "580", "handle": "25BA8"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 46266.9, "y": 9093.9, "h": 150.0, "text": "100", "handle": "25BA9"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 40095.3, "y": 10556.9, "h": 150.0, "text": "100", "handle": "25BAA"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 40095.3, "y": 13472.6, "h": 150.0, "text": "698", "handle": "25BAB"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 40095.3, "y": 11597.8, "h": 150.0, "text": "9@250=2.250", "handle": "25BAC"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 39495.3, "y": 12245.3, "h": 150.0, "text": "3.148", "handle": "25BAD"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 40095.3, "y": 14229.9, "h": 150.0, "text": "100", "handle": "25BAE"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 43035.4, "y": 16731.7, "h": 150.0, "text": "137", "handle": "25BAF"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 45797.9, "y": 16731.7, "h": 150.0, "text": "138", "handle": "25BB0"}, {"dwg": "D1", "layer": "CS-DIMT", "xLine truncated
@@ -0,0 +1,847 @@
{
"_schema": "pier-T-expected/1",
"_note": "독립 기대값: 도면 치수 문자·표(D1~D3)에서 직접 옮긴 값. 생성용 params.json과 별도로 관리하며 검사기는 params를 읽지 않는다. 원출처: Code/교각모델링/verify_*.py (검증서 v0.1.05).",
"pier_id": "P2",
"tol_mm": 1.0,
"G1": {
"footing": {
"dx": 10350,
"dy": 7800,
"z0": 25175,
"thickness": 2200,
"src": "D1 '10.350' '7.800' 'EL. 25.123' '2.200'"
},
"lean": {
"margin": 100,
"thickness": 100,
"src": "D1 lean +100 each side, 100 thick"
},
"column": {
"d": 2000,
"height": 11127,
"src": "D1 단면 C-C '2.000', 정면도 '12.133'"
},
"coping": {
"dx": 12400,
"dy": 3100,
"z_top_left": 42456,
"rise_upper": 1500,
"rise_lower": 1500,
"z_top_right": 42748,
"z_top_center": 42602,
"flat_from_tip": 5100,
"end_inset": 200,
"radius": 12000,
"src": "D1 '12.400' '3.100' 'EL. 42.456' '1.500' x2 'EL. 42.748' 'EL. 42.602' '5.100' '200' 'R=12.000'"
},
"coping_outline": [
[
-1100,
39456
],
[
1100,
39456
],
[
6200,
40956
],
[
6000,
42748
],
[
3726,
42748
],
[
3726,
42675
],
[
1224,
42675
],
[
1224,
42602
],
[
-1279,
42602
],
[
-1279,
42529
],
[
-3781,
42529
],
[
-3781,
42456
],
[
-6000,
42456
],
[
-6200,
40956
]
],
"coping_outline_src": "D1 정면도 외형 from dims '200','2.219','3@2.502=7.507','2.274','200' and EL texts; intermediate step EL 42.529 / 42.675 from drawn risers 72.9 [derived]",
"dxf_arc_centres": {
"datum_x": 12159.4,
"datum_y": 16515.6,
"datum_el": 39456,
"left": [
5207.5,
6039.2
],
"right": [
19111.2,
6039.2
],
"src": "DXF ARC 20E8B / 20E89 centre; datum CS-CNTL 21539 / coping bottom line 20E87"
},
"piles": {
"nx": 6,
"ny": 5,
"pitch_x": 1750,
"pitch_y": 1550,
"edge": 800,
"d": 600,
"length": 25900,
"head_embedment": 100,
"src": "D1 '5@1.750=8.750' '4@1.550=6.200' '800' 'Φ600' 'L=25.9M'"
},
"seats": {
"table": {
"1": [
41747,
180,
50,
700,
540
],
"2": [
41821,
180,
50,
700,
540
],
"3": [
41895,
180,
50,
700,
650
],
"4": [
41969,
180,
50,
700,
540
],
"5": [
42043,
180,
50,
700,
540
],
"6": [
41723,
155,
50,
700,
540
],
"7": [
41797,
155,
50,
700,
540
],
"8": [
41871,
155,
50,
700,
650
],
"9": [
41945,
155,
50,
700,
540
],
"10": [
42019,
155,
50,
700,
540
]
},
"table_columns": [
"EL.'X'",
"h1",
"h2",
"A",
"B"
],
"girders": 5,
"step_top": {
"1": 42456,
"2": 42529,
"3": 42602,
"4": 42675,
"5": 42748
},
"step_x": {
"1": [
-6000,
-3781
],
"2": [
-3781,
-1279
],
"3": [
-1279,
1224
],
"4": [
1224,
3726
],
"5": [
3726,
6000
]
},
"row_y": {
"front": -699,
"rear": 600
},
"pitch_chain": [
3,
7507
],
"pedestal_plan": [
1250,
1200
],
"pad_margin": [
200,
100
],
"rear_first_from_tip": 1223,
"src": "D2 ELEVATION TABLE; D1 EL texts + drawn steps; S1 851/950; '3@2.502=7.507'; 대좌 2500x1200; '1.223'"
}
},
"G2": {
"schedule_L": {
"P1": 16371,
"P2": 15677,
"P3": 6449,
"P4": 5680,
"P5": 5680,
"P6": 2136
},
"schedule_n": {
"P1": 46,
"P2": 46,
"P3": 37,
"P4": 9,
"P5": 22,
"P6": 36
},
"dia": {
"P1": 32,
"P2": 32,
"P3": 19,
"P4": 29,
"P5": 29,
"P6": 16
},
"hoop_chain": {
"start": [
150,
1030
],
"groups": [
[
8,
120
],
[
22,
120
],
[
37,
300
]
]
},
"hoop_marks_by_zone": [
[
"P4",
9
],
[
"P5",
22
],
[
"P3",
37
]
],
"tie_chain": {
"start": [
150,
1030
],
"groups": [
[
8,
1800
]
]
},
"tie_offset": 22.5,
"r_outer": 870.5,
"r_inner": 825.5,
"r_hoop": 904,
"main_divisions": 46,
"bottom_above_footing": 300,
"p1_top_parts": [
300,
340,
16343
],
"no_fillet_marks": [
"P1",
"P2",
"P4",
"P5"
],
"src": "D3 L·수량·R·A (Ungok P2); D1 '150','1.030','8@120=960','22@120=2.640','37@300=11.100','8@1.800=14.400'; section radii (HITL H2 rule); tie offset = H29/2 + H16/2 (hoop P4 H29 label, P6 H16)"
},
"G3": {
"schedule": {
"B1": [
9000,
42
],
"B2": [
12500,
42
],
"B3": [
9000,
42
],
"B4": [
8600,
39
],
"B5": [
10550,
32
],
"B6": [
14050,
32
],
"B7": [
10550,
32
],
"B8": [
10150,
29
],
"B9": [
2155,
493
],
"B10": [
35684,
9
],
"B11": [
10350,
28
],
"B12": [
8800,
38
]
},
"dia": {
"B1": 25,
"B2": 25,
"B3": 19,
"B4": 25,
"B5": 29,
"B6": 29,
"B7": 19,
"B8": 29,
"B9": 16,
"B10": 19,
"B11": 16,
"B12": 16
},
"layer_z": {
"B2": 122,
"B4": 122,
"B6": 178,
"B8": 178,
"B3": 227.5,
"B7": 277,
"B1": 2073,
"B5": 2127
},
"rows": {
"Y_BOT": {
"ends": [
-5075,
5075
],
"start": -4875,
"pitch": 125,
"n": 79
},
"Y_250": {
"ends": [
-5075,
5075
],
"start": -4875,
"pitch": 250,
"n": 40
},
"X_BOT": {
"ends": [
-3800,
3800
],
"start": -3625,
"pitch": 125,
"n": 59
},
"X_250": {
"ends": [
-3800,
3800
],
"start": -3625,
"pitch": 250,
"n": 30
}
},
"b10_levels": {
"start": 350,
"pitch": 200,
"n": 9
},
"b10_size": [
10198,
7644
],
"b9_grid": {
"x": {
"start": -4625,
"pitch": 250,
"n": 38
},
"y": {
"start": -3500,
"pitch": 250,
"n": 29
}
},
"b9_erec": [
150,
2100
],
"b9_a": 1995,
"b9_c": 64,
"mid_levels": [
550,
950,
1350,
1750
],
"src": "D3 L·수량 (P2); D1 '100','200','78@125=9.750' / '39@250=9.750' / '100','175','58@125=7.250' / '29@250'; F1 층 높이(작도점, P1과 같음); '150','9@200=1.800'; '450','37@250=9.250' / '300','28@250=7.000'; EREC 150~2100; 중간층 작도점 [derived]"
},
"G4": {
"count": {
"C1": 12,
"C2": 12,
"C3": 12,
"C4": 12,
"C5": 12,
"C6": 12,
"C7": 12,
"C8": 12,
"C9": 60,
"C10": 21,
"C11": 60,
"C12": 18,
"C13": 9,
"C14": 41,
"C15": 13,
"C16": 13,
"S1": 50,
"S2": 105
},
"L": {
"C1": 14490,
"C2": 12082,
"C3": 12106,
"C4": 14490,
"C5": 12082,
"C6": 12106,
"C7": 13994,
"C8": 13994,
"C9": 8649,
"C10": 10314,
"C11": 8941,
"C12": 20513,
"C13": 29345,
"C14": 3600,
"C15": 2774,
"C16": 5605,
"S1": 3800,
"S2": 2500
},
"range": {
"C9": [
"b_sched",
2958,
1376
],
"C11": [
"b_sched",
2958,
1668
],
"C10": [
"b_sched",
3000,
3000
],
"C12": [
"a_sched",
12228,
3151
],
"C13": [
"a_sched",
12167,
12044
]
},
"range_convention": {
"b_sched": {
"a": 1407,
"c": 750,
"c_times": 2
},
"a_sched": {
"b": 1407,
"c": 580,
"c_times": 4
}
},
"dia": {
"C1": 29,
"C2": 29,
"C3": 25,
"C4": 29,
"C5": 29,
"C6": 25,
"C7": 29,
"C8": 29,
"C9": 25,
"C10": 25,
"C11": 25,
"C12": 25,
"C13": 25,
"C14": 19,
"C15": 19,
"C16": 19,
"S1": 19,
"S2": 19
},
"half_width": 1550,
"y24_chain": {
"start": [
100,
237
],
"pitch": 125,
"n": 21,
"end": 3000
},
"y13_chain": {
"start": [
100,
237
],
"pitch": 250,
"n": 10,
"end": 3000
},
"pairs": [
[
"C1",
"C4"
],
[
"C2",
"C5"
],
[
"C3",
"C6"
],
[
"C7",
"C8"
]
],
"tier_z": {
"C1": 42356,
"C4": 42356,
"C2": 42256,
"C5": 42256,
"C3": 42156,
"C6": 42156
},
"stirrup_x": {
"C10": [
-900,
-600,
-300,
0,
300,
600,
900
],
"C11": {
"start": 1150,
"pitch": 250,
"n": 20
},
"C9": {
"start": -1150,
"pitch": -250,
"n": 20
}
},
"stirrups_per_x": 3,
"c10_bottom": 39556,
"loop_z": {
"C12": {
"start": 39806,
"pitch": 250,
"n": 6
},
"C13": [
41306,
41556,
41806
]
},
"c15_top": 42647.8,
"c16_top": 42501.9,
"c14_levels": [
[
42133.5,
11
],
[
42233.5,
11
],
[
40056,
3
],
[
41056,
5
],
[
40556,
4
],
[
41556,
6
],
[
42489.5,
1
]
],
"s_per_girder": {
"S1": [
10,
50
],
"S2": [
21,
100
]
},
"step_top": {
"1": 42456,
"2": 42529,
"3": 42602,
"4": 42675,
"5": 42748
},
"src": "D3 (P2) 수량·L·a/b 범위; D1 A-A 사슬 '100','137','21@125','3000' / B-B '10@250'; 정면도 단 높이·스터럽 X·루프 EL; D2 '50','50'"
},
"G5": {
"el_x": {
"1": 41747,
"2": 41821,
"3": 41895,
"4": 41969,
"5": 42043,
"6": 41723,
"7": 41797,
"8": 41871,
"9": 41945,
"10": 42019
},
"S": {
"1": -1.91,
"2": -1.907,
"3": -1.905,
"4": -1.903,
"5": -1.901,
"6": -1.91,
"7": -1.907,
"8": -1.905,
"9": -1.903,
"10": -1.901
},
"W": {
"1": 640,
"2": 640,
"3": 750,
"4": 640,
"5": 640,
"6": 640,
"7": 640,
"8": 750,
"9": 640,
"10": 640
},
"L": 800,
"T": 30,
"h3": 165,
"bearing_shrink": 100,
"colours": {
"bearing": [
0,
0,
0
],
"sole_plate": [
150,
150,
150
]
},
"src": "D2 ELEVATION TABLE (EL.'X', h3), 솔플레이트 상세 TABLE (S, L, W, T); (L-100)x(W-100)·색 = P1 사용자 지시 준용"
},
"rebar_palette": {
"32": [
214,
39,
40
],
"29": [
255,
127,
14
],
"25": [
188,
60,
160
],
"19": [
44,
160,
44
],
"16": [
31,
119,
180
]
},
"rebar_palette_src": "디자인지침_경로.md R8 (2026-10-07)",
"planned_fail": [
{
"gate": "G4",
"item_prefix": "C9 original length vs L",
"reason": "작도 폭 채택(K1)",
"approved": "사용자 2026-10-07; P2 적용 사용자 확정 2026-10-12"
},
{
"gate": "G4",
"item_prefix": "C10 original length vs L",
"reason": "작도 폭 채택(K1)",
"approved": "사용자 2026-10-07; P2 적용 사용자 확정 2026-10-12"
},
{
"gate": "G4",
"item_prefix": "C11 original length vs L",
"reason": "작도 폭 채택(K1)",
"approved": "사용자 2026-10-07; P2 적용 사용자 확정 2026-10-12"
},
{
"gate": "G4",
"item_prefix": "C12 original length vs L",
"reason": "작도 폭 채택(C12·C13 drawn width)",
"approved": "사용자 2026-10-07; P2 적용 사용자 확정 2026-10-12"
},
{
"gate": "G4",
"item_prefix": "C13 original length vs L",
"reason": "작도 폭 채택(C12·C13 drawn width)",
"approved": "사용자 2026-10-07; P2 적용 사용자 확정 2026-10-12"
},
{
"gate": "G3",
"item": "B12 bar count vs schedule",
"reason": "작도 32본 채택 vs D3 38본 (P1 F2 규칙, P1도 28/34)",
"approved": "사용자 확정 2026-10-12 (P2, P1 F2 규칙 준용)"
},
{
"gate": "G3",
"item": "B9 bar count vs schedule",
"reason": "작도 551본(38×29 엇갈림) 채택 vs D3 493본(P1 값 그대로)",
"approved": "사용자 확정 2026-10-12 (P2, P1 F2 규칙 준용)"
}
]
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,6 @@
{
"name": "운곡교P3",
"type": "T형",
"created": "2026-10-12 17:04:34",
"template": "운곡교p2"
}