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,86 @@
{
"expected:pier_id": {
"sha": "97086571f822df69",
"by": "심영표",
"at": "2026-10-20 11:24:04",
"why": "[검토 요약 일괄 확정] 앱 확인 일치 — C7 고정(F) 항목이 템플릿 원본과 같다 | 변경: 생성 시점 값 그대로(1개 값)",
"app_st": "g"
},
"expected:planned_fail": {
"sha": "1c2024ffeca8d63f",
"by": "심영표",
"at": "2026-10-20 11:24:04",
"why": "[검토 요약 일괄 확정] 사용자가 도면과 대조했다고 표시함. 앱 확인 해당 없음 — 사람 결정 기록 또는 참고 정보 — 앱이 도면과 대조하지 않는다 | 변경: 생성 시점 값 그대로(24개 값)",
"app_st": "x"
},
"expected:rebar_palette": {
"sha": "c41013bf3e985022",
"by": "심영표",
"at": "2026-10-20 11:24:04",
"why": "[검토 요약 일괄 확정] 사용자가 도면과 대조했다고 표시함. 앱 확인 해당 없음 — 사람 결정 기록 또는 참고 정보 — 앱이 도면과 대조하지 않는다 | 변경: 생성 시점 값 그대로(15개 값)",
"app_st": "x"
},
"expected:tol_mm": {
"sha": "d0ff5974b6aa52cf",
"by": "심영표",
"at": "2026-10-20 11:24:04",
"why": "[검토 요약 일괄 확정] 사용자가 도면과 대조했다고 표시함. 앱 확인 해당 없음 — 사람 결정 기록 또는 참고 정보 — 앱이 도면과 대조하지 않는다 | 변경: 생성 시점 값 그대로(1개 값)",
"app_st": "x"
},
"params:coping": {
"sha": "9e3209026614e2d9",
"by": "심영표",
"at": "2026-10-20 11:24:04",
"why": "[검토 요약 일괄 확정] 사용자가 도면과 대조했다고 표시함. 앱 확인 근거 없음 — C3 현재 값이 템플릿 원본 그대로이고 새 도면 근거가 없다 | 변경: 생성 시점 값 그대로(31개 값)",
"app_st": "n"
},
"params:coping_rebar": {
"sha": "c98e1cc7779f604b",
"by": "심영표",
"at": "2026-10-20 11:24:04",
"why": "[검토 요약 일괄 확정] 사용자가 도면과 대조했다고 표시함. 앱 확인 근거 없음 — C3 현재 값이 템플릿 원본 그대로이고 새 도면 근거가 없다 | 변경: 생성 시점 값 그대로(322개 값)",
"app_st": "n"
},
"params:display": {
"sha": "b1b126034742709b",
"by": "심영표",
"at": "2026-10-20 11:24:04",
"why": "[검토 요약 일괄 확정] 앱 확인 일치 — C7 고정(F) 항목이 템플릿 원본과 같다 | 변경: 생성 시점 값 그대로(73개 값)",
"app_st": "g"
},
"params:footing": {
"sha": "b7c5056daeed1f8b",
"by": "심영표",
"at": "2026-10-20 11:24:04",
"why": "[검토 요약 일괄 확정] 사용자가 도면과 대조했다고 표시함. 앱 확인 근거 없음 — C3 현재 값이 템플릿 원본 그대로이고 새 도면 근거가 없다 | 변경: 생성 시점 값 그대로(9개 값)",
"app_st": "n"
},
"params:lean_concrete": {
"sha": "8c9222a4b2112cbd",
"by": "심영표",
"at": "2026-10-20 11:24:04",
"why": "[검토 요약 일괄 확정] 사용자가 도면과 대조했다고 표시함. 앱 확인 근거 없음 — C3 현재 값이 템플릿 원본 그대로이고 새 도면 근거가 없다 | 변경: 생성 시점 값 그대로(8개 값)",
"app_st": "n"
},
"params:materials": {
"sha": "84f210201086bd7c",
"by": "심영표",
"at": "2026-10-20 11:24:04",
"why": "[검토 요약 일괄 확정] 사용자가 도면과 대조했다고 표시함. 앱 확인 근거 없음 — C3 현재 값이 템플릿 원본 그대로이고 새 도면 근거가 없다 | 변경: 생성 시점 값 그대로(6개 값)",
"app_st": "n"
},
"params:pier_id": {
"sha": "97086571f822df69",
"by": "심영표",
"at": "2026-10-20 11:24:04",
"why": "[검토 요약 일괄 확정] 앱 확인 일치 — C7 고정(F) 항목이 템플릿 원본과 같다 | 변경: 생성 시점 값 그대로(1개 값)",
"app_st": "g"
},
"params:piles": {
"sha": "16b4cdea037fa977",
"by": "심영표",
"at": "2026-10-20 11:24:04",
"why": "[검토 요약 일괄 확정] 사용자가 도면과 대조했다고 표시함. 앱 확인 근거 없음 — C3 현재 값이 템플릿 원본 그대로이고 새 도면 근거가 없다 | 변경: 생성 시점 값 그대로(13개 값)",
"app_st": "n"
}
}
@@ -0,0 +1,26 @@
[
{
"source": "C0050205-034-운곡교 교각도(1)(완도방향 P4).dwg",
"source_sha256": "fff0eebf1728b23d2657263ccd145cd71718fb6062c02fe87e5376ba4ab08323",
"dxf": "C0050205-034-운곡교 교각도(1)(완도방향 P4).dxf",
"dxf_sha256": "97ca706c423bd9825aad5e69b9c1b847e134c23c9d3a3702e9149b87e677c666",
"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": "375b7e6f75c09bf834122de9304e663a0d179639f4cd1b30379c2623f95c0fad",
"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": "e9e220444d5956bc7b17c99f6aba6a4da100cf878540852258f604b2ee40686b",
"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,842 @@
{
"_schema": "pier-T-expected/1",
"_note": "독립 기대값: 도면 치수 문자·표(D1~D3)에서 직접 옮긴 값. 생성용 params.json과 별도로 관리하며 검사기는 params를 읽지 않는다. 원출처: Code/교각모델링/verify_*.py (검증서 v0.1.05).",
"pier_id": "P4",
"tol_mm": 1.0,
"G1": {
"footing": {
"dx": 10350,
"dy": 8300,
"z0": 25318,
"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": 10029,
"src": "D1 '2.000' '12.003'"
},
"coping": {
"dx": 12400,
"dy": 3100,
"z_top_left": 40547,
"rise_upper": 1500,
"rise_lower": 1500,
"z_top_right": 40847,
"z_top_center": 40697,
"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,
37547
],
[
1100,
37547
],
[
6200,
39047
],
[
6000,
40847
],
[
3752,
40847
],
[
3752,
40772
],
[
1252,
40772
],
[
1252,
40697
],
[
-1248,
40697
],
[
-1248,
40622
],
[
-3748,
40622
],
[
-3748,
40547
],
[
-6000,
40547
],
[
-6200,
39047
]
],
"coping_outline_src": "D1 정면도 외형 (원호는 현으로 대체 후 활꼴 2개 차감)",
"dxf_arc_centres": {
"datum_x": 12159.4,
"datum_y": 16515.6,
"datum_el": 37547,
"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": 26200,
"head_embedment": 100,
"src": "D1 '5@1.550' '4@1.550' '800' 'Ø600' 'L=24.4M'; 매입 100 (CS-CNTL)",
"pitch_x": 1750,
"pitch_y": 1675
},
"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": 40547,
"2": 40622,
"3": 40697,
"4": 40772,
"5": 40847
},
"step_x": {
"1": [
-6000,
-3748
],
"2": [
-3748,
-1248
],
"3": [
-1248,
1252
],
"4": [
1252,
3752
],
"5": [
3752,
6000
]
},
"row_y": {
"front": -701,
"rear": 599
},
"pitch_chain": [
3,
7500
],
"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
],
[
30,
300
]
]
},
"hoop_marks_by_zone": [
[
"P4",
9
],
[
"P5",
22
],
[
"P3",
30
]
],
"tie_chain": {
"start": [
150,
1030
],
"groups": [
[
6,
1800
]
]
},
"tie_offset": 17.5,
"r_outer": 870.5,
"r_inner": 825.5,
"r_hoop": 902,
"main_divisions": 46,
"bottom_above_footing": 300,
"p1_top_parts": [
300,
340,
14239
],
"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": [
-5075,
5075
],
"start": -4875,
"pitch": 125,
"n": 79
},
"Y_250": {
"ends": [
-5075,
5075
],
"start": -4875,
"pitch": 250,
"n": 40
},
"X_BOT": {
"ends": [
-4050,
4050
],
"start": -3875,
"pitch": 125,
"n": 63
},
"X_250": {
"ends": [
-4050,
4050
],
"start": -3875,
"pitch": 250,
"n": 32
}
},
"b10_levels": {
"start": 350,
"pitch": 200,
"n": 9
},
"b10_size": [
10198,
8144
],
"b9_grid": {
"x": {
"start": -4625,
"pitch": 250,
"n": 38
},
"y": {
"start": -3750,
"pitch": 250,
"n": 31
}
},
"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": 40447,
"C4": 40447,
"C2": 40347,
"C5": 40347,
"C3": 40247,
"C6": 40247
},
"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": 37647,
"loop_z": {
"C12": {
"start": 37897,
"pitch": 250,
"n": 6
},
"C13": [
39397,
39647,
39897
]
},
"c15_top": 40747,
"c16_top": 40597,
"c14_levels": [
[
40596.8,
1
],
[
40324.5,
11
],
[
40224.5,
11
],
[
39647,
6
],
[
39147,
5
],
[
38647,
4
],
[
38147,
3
]
],
"s_per_girder": {
"S1": [
10,
50
],
"S2": [
21,
100
]
},
"step_top": {
"1": 40547,
"2": 40622,
"3": 40697,
"4": 40772,
"5": 40847
},
"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": "작도 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,120 @@
{
"name": "운곡교P4",
"type": "T형",
"created": "2026-10-20 11:22:12",
"template": "템플릿: 운곡교P1형",
"origin": {
"label": "템플릿: 운곡교P1형",
"at": "2026-10-20 11:22:12",
"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,164 @@
[
{
"at": "2026-10-20 11:33:18",
"by": "심영표",
"count": 145,
"backup": "before_geomread_20261020_113318",
"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.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: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",
"params:display.hidden_ids",
"expected:pier_id",
"params:pier_id"
]
},
{
"at": "2026-10-20 11:33:27",
"by": "심영표",
"count": 1,
"backup": "before_geomread_20261020_113327",
"fields": [
"params:coping_rebar.stirrups.top_left"
]
}
]
@@ -0,0 +1,5 @@
{
"sha": "ab934c1db5dfe745",
"at": "2026-10-20 11:27:34",
"n": 11
}
@@ -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
}
}
}