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

File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,9 @@
{
"params:footing": {
"sha": "b7c5056daeed1f8b",
"by": "시험자",
"at": "2026-10-20 15:39:40",
"why": "시험",
"app_st": "n"
}
}
@@ -0,0 +1,26 @@
[
{
"source": "C0050205-034-운곡교 교각도(1)(완도방향 P4).dwg",
"source_sha256": "fff0eebf1728b23d2657263ccd145cd71718fb6062c02fe87e5376ba4ab08323",
"dxf": "C0050205-034-운곡교 교각도(1)(완도방향 P4).dxf",
"dxf_sha256": "fab989b336883c1e4a06950ea1648082f46c1bfbc79374826244f7923563fb4d",
"engine": "ODA File Converter 27.1.0",
"label": "D1"
},
{
"source": "C0050205-035-운곡교 교각도(2)(완도방향 P4).dwg",
"source_sha256": "2ea47f8d81b1f4bba068fa167477562c312ef4a9c14bbcee042037fe87031a33",
"dxf": "C0050205-035-운곡교 교각도(2)(완도방향 P4).dxf",
"dxf_sha256": "35a6dbde4ad39e0a4f01a0b3f04e4b60234209f7eabb6c8abe093be3ff4e7ad3",
"engine": "ODA File Converter 27.1.0",
"label": "D2"
},
{
"source": "C0050205-036-운곡교 교각도(3)(완도방향 P4).dwg",
"source_sha256": "fd1ee8d7f57579f8b094cad2f1e64037dba1daa187280fdfe547339d1c492d47",
"dxf": "C0050205-036-운곡교 교각도(3)(완도방향 P4).dxf",
"dxf_sha256": "ee6a9d326f887d20a2eb6fb100ea33cd18f024438401ffa67482fb2dbafaec22",
"engine": "ODA File Converter 27.1.0",
"label": "D3"
}
]
@@ -0,0 +1 @@
[{"dwg": "D1", "layer": "CS-DIMT", "x": 43035.4, "y": 28049.9, "h": 150.0, "text": "137", "handle": "2ABB1"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 45797.9, "y": 28049.9, "h": 150.0, "text": "138", "handle": "2ABB2"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 43035.4, "y": 21053.6, "h": 150.0, "text": "137", "handle": "2ABB3"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 44314.7, "y": 20663.6, "h": 150.0, "text": "3.100", "handle": "2ABB4"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 46137.4, "y": 28001.3, "h": 150.0, "text": "(1~3단)", "handle": "2ABB5"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 45797.9, "y": 21053.6, "h": 150.0, "text": "138", "handle": "2ABB6"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 43956.2, "y": 21263.6, "h": 150.0, "text": "21@125=2.625", "handle": "2ABB7"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 42641.9, "y": 21263.6, "h": 150.0, "text": "100", "handle": "2ABB8"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 44314.7, "y": 28859.9, "h": 150.0, "text": "3.100", "handle": "2ABB9"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 42641.9, "y": 28259.9, "h": 150.0, "text": "100", "handle": "2ABBA"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 46341.9, "y": 21263.6, "h": 150.0, "text": "100", "handle": "2ABBB"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 43956.2, "y": 28259.9, "h": 150.0, "text": "21@125=2.625", "handle": "2ABBC"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 42641.9, "y": 21863.6, "h": 150.0, "text": "100", "handle": "2ABBD"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 43256.9, "y": 21863.6, "h": 150.0, "text": "580", "handle": "2ABBE"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 46341.9, "y": 28259.9, "h": 150.0, "text": "100", "handle": "2ABBF"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 44996.9, "y": 21863.6, "h": 150.0, "text": "580", "handle": "2ABC0"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 43836.9, "y": 21863.6, "h": 150.0, "text": "580", "handle": "2ABC1"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 44416.9, "y": 21863.6, "h": 150.0, "text": "580", "handle": "2ABC2"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 46266.9, "y": 21863.6, "h": 150.0, "text": "100", "handle": "2ABC3"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 42641.9, "y": 8459.9, "h": 150.0, "text": "100", "handle": "2ABC4"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 45576.9, "y": 21863.6, "h": 150.0, "text": "580", "handle": "2ABC5"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 43956.2, "y": 8459.9, "h": 150.0, "text": "21@125=2.625", "handle": "2ABC6"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 44314.7, "y": 7859.9, "h": 150.0, "text": "3.100", "handle": "2ABC7"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 46416.9, "y": 17509.7, "h": 150.0, "text": "100", "handle": "2ABC8"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 46341.9, "y": 8459.9, "h": 150.0, "text": "100", "handle": "2ABC9"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 42641.9, "y": 17509.7, "h": 150.0, "text": "100", "handle": "2ABCA"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 44314.7, "y": 18109.7, "h": 150.0, "text": "3.100", "handle": "2ABCB"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 43893.7, "y": 17509.7, "h": 150.0, "text": "10@250=2.500", "handle": "2ABCC"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 42641.9, "y": 16909.7, "h": 150.0, "text": "100", "handle": "2ABCD"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 46341.9, "y": 16909.7, "h": 150.0, "text": "100", "handle": "2ABCE"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 43956.2, "y": 16909.7, "h": 150.0, "text": "21@125=2.625", "handle": "2ABCF"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 42641.9, "y": 9059.9, "h": 150.0, "text": "100", "handle": "2ABD0"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 43256.9, "y": 9059.9, "h": 150.0, "text": "580", "handle": "2ABD1"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 44996.9, "y": 9059.9, "h": 150.0, "text": "580", "handle": "2ABD2"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 43836.9, "y": 9059.9, "h": 150.0, "text": "580", "handle": "2ABD3"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 44416.9, "y": 9059.9, "h": 150.0, "text": "580", "handle": "2ABD4"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 45576.9, "y": 9059.9, "h": 150.0, "text": "580", "handle": "2ABD5"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 40095.3, "y": 10522.9, "h": 150.0, "text": "100", "handle": "2ABD6"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 46266.9, "y": 9059.9, "h": 150.0, "text": "100", "handle": "2ABD7"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 40095.3, "y": 14197.9, "h": 150.0, "text": "100", "handle": "2ABD8"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 40095.3, "y": 11563.8, "h": 150.0, "text": "9@250=2.250", "handle": "2ABD9"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 43035.4, "y": 16699.7, "h": 150.0, "text": "137", "handle": "2ABDA"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 40095.3, "y": 13438.6, "h": 150.0, "text": "700", "handle": "2ABDB"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 39495.3, "y": 12211.3, "h": 150.0, "text": "3.150", "handle": "2ABDC"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 45797.9, "y": 16699.7, "h": 150.0, "text": "138", "handle": "2ABDD"}, {"dwg": "D1", "layer": "CS-DIMT", "xLine truncated
@@ -0,0 +1,26 @@
[
{
"at": "2026-10-20 15:19:37",
"section": "params:display",
"fixed_fields": [
"display.hidden_ids"
],
"reason": "도면에서 읽기 반영(심영표): display.hidden_ids"
},
{
"at": "2026-10-20 15:19:37",
"section": "expected:pier_id",
"fixed_fields": [
"pier_id"
],
"reason": "도면에서 읽기 반영(심영표): pier_id"
},
{
"at": "2026-10-20 15:19:37",
"section": "params:pier_id",
"fixed_fields": [
"pier_id"
],
"reason": "도면에서 읽기 반영(심영표): pier_id"
}
]
@@ -0,0 +1,852 @@
{
"_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.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": 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": "작도 32본 채택(좌우 대칭) vs D3 38본 — 설계자 확인 대기",
"approved": "사용자 선택 2026-10-20 (시험자) — 도면에서 읽기 화면"
},
{
"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"
},
{
"gate": "G3",
"item": "B11 bar count vs schedule",
"reason": "작도 32본 채택(좌우 대칭) vs D3 30본 — 설계자 확인 대기",
"approved": "사용자 선택 2026-10-20 (시험자) — 도면에서 읽기 화면"
},
{
"gate": "G4",
"item": "C13 schedule L reproduced by convention (max+min)/2",
"reason": "재료표 C13 L 28.966이 규칙 (max+min)/2 = 29.346과 380 mm 다름 — 재료표 자체 불일치, 설계자 확인 대기",
"approved": "사용자 선택 2026-10-20 (시험자) — 도면에서 읽기 화면"
}
]
}
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,120 @@
{
"name": "운곡교P4",
"type": "T형",
"created": "2026-10-20 15:19:20",
"template": "템플릿: 운곡교P1형",
"origin": {
"label": "템플릿: 운곡교P1형",
"at": "2026-10-20 15:19:20",
"sha": {
"params:_meta": "68466a4e497800d6",
"params:lean_concrete": "8c9222a4b2112cbd",
"params:footing": "b7c5056daeed1f8b",
"params:column": "74c090c09f61aa42",
"params:coping": "9e3209026614e2d9",
"params:piles": "16b4cdea037fa977",
"params:hitl_decisions_2026_10_07": "1a6acbe25bc01948",
"params:bearing_seats": "f212a2858946a702",
"params:column_rebar": "6e5cd384a1c43c80",
"params:footing_rebar": "3d11859aa672975b",
"params:coping_rebar": "c98e1cc7779f604b",
"params:sole_plates": "8cc6a2a1a125311c",
"params:_schema": "78a2cba5e3555141",
"params:pier_id": "97086571f822df69",
"params:rebar_marks": "c5d7818e0137ed86",
"params:rebar_marks_src": "a7a01d0421958fc4",
"params:materials": "84f210201086bd7c",
"params:display": "b1b126034742709b",
"expected:_schema": "21dc6d01b07f7ac8",
"expected:_note": "624c308bbfcdf519",
"expected:pier_id": "97086571f822df69",
"expected:tol_mm": "d0ff5974b6aa52cf",
"expected:G1": "ebd00116a06211a5",
"expected:G2": "12df59aa062bde7a",
"expected:G3": "378eee3b312640dd",
"expected:G4": "9d14cf310e66f7cf",
"expected:G5": "4dd5a0aacc7137e4",
"expected:rebar_palette": "c41013bf3e985022",
"expected:rebar_palette_src": "249b3cde71fb0eb8",
"expected:planned_fail": "1c2024ffeca8d63f"
},
"fixed": {
"params:column": {
"shape": "\"circular\""
},
"params:coping": {
"form": "null"
},
"params:piles": {
"kind": "\"composite pile\""
},
"params:bearing_seats": {
"pedestal": "null",
"pedestals": "null"
},
"params:column_rebar": {
"form": "null"
},
"params:footing_rebar": {
"form": "null"
},
"params:coping_rebar": {
"form": "null",
"host": "null",
"group": "null"
},
"params:sole_plates": {
"bearing_size": "null"
},
"params:rebar_marks": {
"P1.shape": "\"XIV\"",
"P2.shape": "\"XVI\"",
"P3.shape": "\"VI\"",
"P4.shape": "\"V\"",
"P5.shape": "\"IX\"",
"P6.shape": "\"III\"",
"B1.shape": "\"III\"",
"B2.shape": "\"XII\"",
"B3.shape": "\"III\"",
"B4.shape": "\"I\"",
"B5.shape": "\"XII\"",
"B6.shape": "\"XII\"",
"B7.shape": "\"XII\"",
"B8.shape": "\"XVI\"",
"B9.shape": "\"XI\"",
"B10.shape": "\"XIII\"",
"B11.shape": "\"XII\"",
"B12.shape": "\"III\"",
"C1.shape": "\"VIII\"",
"C2.shape": "\"VIII\"",
"C3.shape": "\"VIII\"",
"C4.shape": "\"VIII\"",
"C5.shape": "\"VIII\"",
"C6.shape": "\"VIII\"",
"C7.shape": "\"VII\"",
"C8.shape": "\"VII\"",
"C9.shape": "\"IV\"",
"C10.shape": "\"IV\"",
"C11.shape": "\"IV\"",
"C12.shape": "\"X\"",
"C13.shape": "\"X\"",
"C14.shape": "\"III\"",
"C15.shape": "\"III\"",
"C16.shape": "\"II\"",
"S1.shape": "\"III\"",
"S2.shape": "\"III\""
}
}
},
"fit_answers": {
"foundation": "기초판+말뚝",
"soffit": "곡선",
"bearings": "10",
"rebar_shape": "미확인",
"rebar_method": "미확인",
"skew_deg": "",
"bearing_rot_deg": "",
"footing_rot_deg": ""
},
"fit_mismatch": []
}
@@ -0,0 +1,323 @@
[
{
"at": "2026-10-20 15:19:37",
"by": "심영표",
"count": 285,
"backup": "before_geomread_20261020_151937",
"fields": [
"params:coping.top_steps.0.x1",
"params:coping.top_steps.0.z",
"params:coping.top_steps.1.x0",
"params:coping.top_steps.1.x1",
"params:coping.top_steps.1.z",
"params:coping.top_steps.2.x0",
"params:coping.top_steps.2.x1",
"params:coping.top_steps.2.z",
"params:coping.top_steps.3.x0",
"params:coping.top_steps.3.x1",
"params:coping.top_steps.3.z",
"params:coping.top_steps.4.x0",
"params:coping.top_steps.4.z",
"params:coping.z_bottom_flat",
"params:coping_rebar.soffit_arc_centre",
"params:coping_rebar.top.tiers.1.z",
"params:coping_rebar.top.tiers.2.z",
"params:coping_rebar.top.tiers.3.z",
"params:coping_rebar.c15.z",
"params:coping_rebar.c15.x0",
"params:coping_rebar.c16.z",
"params:coping_rebar.c16.x1",
"params:coping_rebar.bottom.z_flat",
"params:coping_rebar.loops.levels",
"params:coping_rebar.stirrups.top_right",
"params:coping_rebar.stirrups.bottom",
"params:coping_rebar.c14.points",
"params:coping_rebar.c14.hooks_up",
"params:footing.size_x",
"params:footing.size_y",
"params:footing.z_bottom",
"params:lean_concrete.size_x",
"params:lean_concrete.size_y",
"params:lean_concrete.z_bottom",
"params:lean_concrete.z_top",
"params:column.height",
"params:piles.length",
"params:piles.pitch_x",
"params:piles.pitch_y",
"params:bearing_seats.pitch_x",
"params:bearing_seats.pad_rows.front.centre_rel_girder5",
"params:bearing_seats.pad_rows.front.rotation_deg",
"params:bearing_seats.pad_rows.rear.centre_rel_girder5",
"params:bearing_seats.pad_rows.rear.rotation_deg",
"params:bearing_seats.bearings.0.centre",
"params:bearing_seats.bearings.0.rotation_deg",
"params:bearing_seats.bearings.1.centre",
"params:bearing_seats.bearings.1.rotation_deg",
"params:bearing_seats.bearings.2.centre",
"params:bearing_seats.bearings.2.rotation_deg",
"params:bearing_seats.bearings.3.centre",
"params:bearing_seats.bearings.3.rotation_deg",
"params:bearing_seats.bearings.4.centre",
"params:bearing_seats.bearings.4.rotation_deg",
"params:bearing_seats.bearings.5.centre",
"params:bearing_seats.bearings.5.rotation_deg",
"params:bearing_seats.bearings.6.centre",
"params:bearing_seats.bearings.6.rotation_deg",
"params:bearing_seats.bearings.7.centre",
"params:bearing_seats.bearings.7.rotation_deg",
"params:bearing_seats.bearings.8.centre",
"params:bearing_seats.bearings.8.rotation_deg",
"params:bearing_seats.bearings.9.centre",
"params:bearing_seats.bearings.9.rotation_deg",
"params:bearing_seats.pedestal_girder5.front_half",
"params:bearing_seats.pedestal_girder5.rear_half",
"params:bearing_seats.pedestal_girder5.rotation_deg",
"params:column_rebar.schedule.P1",
"params:column_rebar.schedule.P2",
"params:column_rebar.schedule.P3",
"params:column_rebar.schedule.P4",
"params:column_rebar.schedule.P5",
"params:column_rebar.schedule.P6",
"params:footing_rebar.schedule.B1",
"params:footing_rebar.schedule.B2",
"params:footing_rebar.schedule.B3",
"params:footing_rebar.schedule.B4",
"params:footing_rebar.schedule.B5",
"params:footing_rebar.schedule.B6",
"params:footing_rebar.schedule.B7",
"params:footing_rebar.schedule.B8",
"params:footing_rebar.schedule.B9",
"params:footing_rebar.schedule.B10",
"params:footing_rebar.schedule.B11",
"params:footing_rebar.schedule.B12",
"params:coping_rebar.top.tiers.1.a",
"params:coping_rebar.top.tiers.2.a",
"params:coping_rebar.top.tiers.3.a",
"params:coping_rebar.c16.x0",
"params:footing_rebar.a_x",
"params:footing_rebar.a_y",
"params:footing_rebar.layers.bottom_Y1.pos",
"params:footing_rebar.layers.bottom_X2.pos",
"params:footing_rebar.layers.bottom_Y3.pos",
"params:footing_rebar.layers.bottom_X4.pos",
"params:footing_rebar.layers.top_Y.pos",
"params:footing_rebar.layers.top_X.pos",
"params:footing_rebar.b9.grid_x",
"params:footing_rebar.b9.grid_y",
"params:footing_rebar.b9.count",
"params:footing_rebar.b10.size_x",
"params:footing_rebar.b10.size_y",
"params:footing_rebar.layers.mid_Y.levels",
"params:footing_rebar.layers.mid_X.levels",
"params:footing_rebar.counts_check",
"params:column_rebar.main_bars.p1.hook_leg_z",
"params:column_rebar.main_bars.p1.straight_from",
"params:column_rebar.main_bars.p1.straight_len",
"params:column_rebar.main_bars.p2.z0",
"params:column_rebar.main_bars.p2.length",
"params:column_rebar.hoops.levels",
"params:column_rebar.hoops.marks",
"params:column_rebar.hoops.radius",
"params:column_rebar.hoops.radius_by_mark",
"params:column_rebar.ties.levels",
"expected:G1.coping_outline",
"expected:G1.dxf_arc_centres.datum_el",
"expected:G1.footing.dx",
"expected:G1.footing.dy",
"expected:G1.footing.z0",
"expected:G1.column.height",
"expected:G1.coping.z_top_left",
"expected:G1.coping.z_top_center",
"expected:G1.coping.z_top_right",
"expected:G1.piles.pitch_x",
"expected:G1.piles.pitch_y",
"expected:G1.piles.length",
"expected:G1.seats.step_top",
"expected:G1.seats.step_x",
"expected:G1.seats.row_y",
"expected:G1.seats.pitch_chain",
"expected:G2.hoop_chain",
"expected:G2.hoop_marks_by_zone",
"expected:G2.tie_chain",
"expected:G2.r_hoop",
"expected:G2.p1_top_parts",
"expected:G3.rows",
"expected:G3.b9_grid",
"expected:G3.b10_size",
"expected:G4.tier_z",
"expected:G4.c10_bottom",
"expected:G4.loop_z",
"expected:G4.c15_top",
"expected:G4.c16_top",
"expected:G4.c14_levels",
"expected:G4.step_top",
"expected:G2.dia",
"expected:G4.dia",
"expected:G2.tie_offset",
"expected:G4.range",
"params:display.hidden_ids",
"expected:pier_id",
"params:pier_id",
"expected:G5.el_x.1",
"params:bearing_seats.bearings.0.el_x",
"expected:G1.seats.table.1",
"params:bearing_seats.bearings.0.h1",
"params:bearing_seats.bearings.0.A",
"params:bearing_seats.bearings.0.B",
"expected:G5.h3",
"params:sole_plates.h3",
"expected:G5.el_x.2",
"params:bearing_seats.bearings.1.el_x",
"expected:G1.seats.table.2",
"params:bearing_seats.bearings.1.h1",
"params:bearing_seats.bearings.1.A",
"params:bearing_seats.bearings.1.B",
"expected:G5.h3",
"expected:G5.el_x.3",
"params:bearing_seats.bearings.2.el_x",
"expected:G1.seats.table.3",
"params:bearing_seats.bearings.2.h1",
"params:bearing_seats.bearings.2.A",
"params:bearing_seats.bearings.2.B",
"expected:G5.h3",
"expected:G5.el_x.4",
"params:bearing_seats.bearings.3.el_x",
"expected:G1.seats.table.4",
"params:bearing_seats.bearings.3.h1",
"params:bearing_seats.bearings.3.A",
"params:bearing_seats.bearings.3.B",
"expected:G5.h3",
"expected:G5.el_x.5",
"params:bearing_seats.bearings.4.el_x",
"expected:G1.seats.table.5",
"params:bearing_seats.bearings.4.h1",
"params:bearing_seats.bearings.4.A",
"params:bearing_seats.bearings.4.B",
"expected:G5.h3",
"expected:G5.el_x.6",
"params:bearing_seats.bearings.5.el_x",
"expected:G1.seats.table.6",
"params:bearing_seats.bearings.5.h1",
"params:bearing_seats.bearings.5.B",
"expected:G5.h3",
"expected:G5.el_x.7",
"params:bearing_seats.bearings.6.el_x",
"expected:G1.seats.table.7",
"params:bearing_seats.bearings.6.h1",
"params:bearing_seats.bearings.6.B",
"expected:G5.h3",
"expected:G5.el_x.8",
"params:bearing_seats.bearings.7.el_x",
"expected:G1.seats.table.8",
"params:bearing_seats.bearings.7.h1",
"params:bearing_seats.bearings.7.B",
"expected:G5.h3",
"expected:G5.el_x.9",
"params:bearing_seats.bearings.8.el_x",
"expected:G1.seats.table.9",
"params:bearing_seats.bearings.8.h1",
"params:bearing_seats.bearings.8.B",
"expected:G5.h3",
"expected:G5.el_x.10",
"params:bearing_seats.bearings.9.el_x",
"expected:G1.seats.table.10",
"params:bearing_seats.bearings.9.h1",
"params:bearing_seats.bearings.9.B",
"expected:G5.h3",
"expected:G5.W.1",
"params:sole_plates.table.0.W",
"expected:G5.L",
"params:sole_plates.table.0.L",
"expected:G5.W.2",
"params:sole_plates.table.1.W",
"expected:G5.L",
"params:sole_plates.table.1.L",
"expected:G5.W.3",
"params:sole_plates.table.2.W",
"expected:G5.L",
"params:sole_plates.table.2.L",
"expected:G5.W.4",
"params:sole_plates.table.3.W",
"expected:G5.L",
"params:sole_plates.table.3.L",
"expected:G5.W.5",
"params:sole_plates.table.4.W",
"expected:G5.L",
"params:sole_plates.table.4.L",
"expected:G5.W.6",
"params:sole_plates.table.5.W",
"expected:G5.W.7",
"params:sole_plates.table.6.W",
"expected:G5.W.8",
"params:sole_plates.table.7.W",
"expected:G5.W.9",
"params:sole_plates.table.8.W",
"expected:G5.W.10",
"params:sole_plates.table.9.W",
"expected:G2.schedule_L.P1",
"expected:G2.schedule_L.P2",
"expected:G3.schedule.B5",
"expected:G3.schedule.B6",
"expected:G3.schedule.B8",
"expected:G3.schedule.B1",
"expected:G3.schedule.B2",
"expected:G3.schedule.B4",
"expected:G3.schedule.B3",
"expected:G3.schedule.B7",
"expected:G3.schedule.B10",
"expected:G3.schedule.B11",
"expected:G3.schedule.B12",
"expected:G4.L.C1",
"expected:G4.L.C2",
"expected:G4.L.C4",
"expected:G4.L.C5",
"expected:G2.schedule_L.P4",
"params:rebar_marks.P4",
"expected:G2.schedule_L.P5",
"params:rebar_marks.P5",
"expected:G4.L.C3",
"params:rebar_marks.C3",
"expected:G4.L.C6",
"params:rebar_marks.C6",
"expected:G4.L.C9",
"expected:G4.L.C10",
"expected:G4.L.C11",
"expected:G4.L.C13",
"expected:G4.L.C15",
"expected:G4.L.C16",
"expected:G2.schedule_n.P3",
"expected:G3.schedule.B9",
"expected:G2.schedule_n.P6",
"expected:G1.seats.rear_first_from_tip",
"expected:planned_fail"
]
},
{
"at": "2026-10-20 15:19:42",
"by": "심영표",
"count": 1,
"backup": "before_geomread_20261020_151942",
"fields": [
"params:coping_rebar.stirrups.top_left"
]
},
{
"at": "2026-10-20 15:39:41",
"by": "시험자",
"count": 2,
"backup": "before_geomread_20261020_153941",
"fields": [
"params:footing.size_x",
"params:footing.size_y"
]
},
{
"at": "2026-10-20 15:39:44",
"by": "시험자",
"count": 1,
"backup": "before_geomread_20261020_153944",
"fields": [
"expected:planned_fail"
]
}
]
@@ -0,0 +1,5 @@
{
"sha": "7065cd1281c0e8d7",
"at": "2026-10-20 15:19:54",
"n": 23
}
@@ -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
}
}
}