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
@@ -0,0 +1,132 @@
{
"params:pier_id": {
"sha": "97086571f822df69",
"by": "심영표",
"at": "2026-10-13 14:25:06"
},
"params:rebar_marks": {
"sha": "e524b205a20145f4",
"by": "심영표",
"at": "2026-10-13 14:25:06"
},
"params:display": {
"sha": "4a8afc994a7b21ec",
"by": "심영표",
"at": "2026-10-13 14:25:06"
},
"expected:pier_id": {
"sha": "97086571f822df69",
"by": "심영표",
"at": "2026-10-13 14:25:06"
},
"expected:tol_mm": {
"sha": "d0ff5974b6aa52cf",
"by": "심영표",
"at": "2026-10-13 14:25:06"
},
"expected:rebar_palette": {
"sha": "cc2556d92248194c",
"by": "심영표",
"at": "2026-10-13 14:25:06"
},
"expected:planned_fail": {
"sha": "4f53cda18c2baa0c",
"by": "심영표",
"at": "2026-10-13 14:25:06"
},
"params:lean_concrete": {
"sha": "345c5b2907c9e33b",
"by": "심영표",
"at": "2026-10-13 14:25:06"
},
"params:footing": {
"sha": "cb398c482547463c",
"by": "심영표",
"at": "2026-10-13 14:25:06"
},
"params:column": {
"sha": "69b2aee864546aca",
"by": "심영표",
"at": "2026-10-13 14:25:06"
},
"params:coping": {
"sha": "f01a8f54b381f46f",
"by": "심영표",
"at": "2026-10-13 14:25:06"
},
"params:bearing_seats": {
"sha": "8c4626a69aca1182",
"by": "심영표",
"at": "2026-10-13 14:25:06"
},
"params:materials": {
"sha": "b848a02969e61fb3",
"by": "심영표",
"at": "2026-10-13 14:25:06"
},
"expected:G1": {
"sha": "085b3feaba63f405",
"by": "심영표",
"at": "2026-10-13 14:25:06"
},
"params:column_rebar": {
"sha": "6b442c8cede0a64e",
"by": "심영표",
"at": "2026-10-13 14:25:06"
},
"expected:G2": {
"sha": "bf62dc7a3bede0cb",
"by": "심영표",
"at": "2026-10-13 14:25:06"
},
"params:footing_rebar": {
"sha": "cb6d76d23dd2ccd9",
"by": "심영표",
"at": "2026-10-13 14:25:06"
},
"expected:G3": {
"sha": "e3e355fea2f34cd6",
"by": "심영표",
"at": "2026-10-13 14:25:06"
},
"params:coping_rebar": {
"sha": "aa6f7289168582c0",
"by": "심영표",
"at": "2026-10-13 14:25:06"
},
"expected:G4": {
"sha": "b60571ffe1902fdb",
"by": "심영표",
"at": "2026-10-13 14:25:06"
},
"params:sole_plates": {
"sha": "e1530ddf1eab1ded",
"by": "심영표",
"at": "2026-10-13 14:25:06"
},
"expected:G5": {
"sha": "a120c009a51a90cd",
"by": "심영표",
"at": "2026-10-13 14:25:06"
},
"params:scope": {
"sha": "dfbd41ca7117a548",
"by": "심영표",
"at": "2026-10-16 16:32:46"
},
"params:builders": {
"sha": "e7958245e55ae625",
"by": "심영표",
"at": "2026-10-16 16:32:46"
},
"expected:checkers": {
"sha": "ee95f0513cdeee40",
"by": "심영표",
"at": "2026-10-16 16:32:46"
},
"expected:negative": {
"sha": "23a51c0a50190273",
"by": "심영표",
"at": "2026-10-16 16:32:46"
}
}
@@ -0,0 +1,10 @@
[
{
"source": "교각배근도(울산P1).dwg",
"source_sha256": "5805357b67af903ef0a9f17007a31e3ab513accb69d83e5b8950a0272c20707a",
"dxf": "교각배근도(울산P1).dxf",
"dxf_sha256": "4a75dfd8ef999437502c6d01b830b4e79337e9c60e94d3c14f7563391ef6697f",
"engine": "ODA File Converter 27.1.0",
"label": "D1"
}
]
@@ -0,0 +1 @@
[{"dwg": "D1", "layer": "CS-DIMT", "x": 4573.9, "y": -39918.6, "h": 125.0, "text": "625", "handle": "B046"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 4573.9, "y": -39164.6, "h": 125.0, "text": "11@150=1.650", "handle": "B047"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 4573.9, "y": -36677.1, "h": 125.0, "text": "25@150=3.750", "handle": "B048"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 4573.9, "y": -29463.8, "h": 125.0, "text": "1.155", "handle": "B04A"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 4573.9, "y": -28026.1, "h": 125.0, "text": "100", "handle": "B04B"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 4798.9, "y": -28324.4, "h": 125.0, "text": "띠철근외측", "handle": "B04C"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 3573.9, "y": -34643.9, "h": 125.0, "text": "28.430", "handle": "B04D"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 4298.9, "y": -28324.4, "h": 125.0, "text": "크로스타이", "handle": "B04E"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 4073.9, "y": -28026.1, "h": 125.0, "text": "100", "handle": "B04F"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 4073.9, "y": -29463.8, "h": 125.0, "text": "1.155", "handle": "B050"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 4073.9, "y": -37544.7, "h": 125.0, "text": "3@1.800=5.400", "handle": "B053"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 4073.9, "y": -39918.6, "h": 125.0, "text": "625", "handle": "B054"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 16498.9, "y": -40118.6, "h": 125.0, "text": "225", "handle": "B055"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 16273.9, "y": -39447.0, "h": 125.0, "text": "6@300=1.800", "handle": "B056"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 16498.9, "y": -38093.6, "h": 125.0, "text": "225", "handle": "B057"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 16273.9, "y": -37931.1, "h": 125.0, "text": "100", "handle": "B058"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 16273.9, "y": -34758.9, "h": 125.0, "text": "22.600", "handle": "B059"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 16498.9, "y": -31931.1, "h": 125.0, "text": "100", "handle": "B05A"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 16273.9, "y": -31781.1, "h": 125.0, "text": "200", "handle": "B05B"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 16273.9, "y": -31107.2, "h": 125.0, "text": "2@1.000=2.000", "handle": "B05C"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 16498.9, "y": -29581.1, "h": 125.0, "text": "200", "handle": "B05D"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 16273.9, "y": -29180.9, "h": 125.0, "text": "600", "handle": "B05E"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 16273.9, "y": -28530.7, "h": 125.0, "text": "100", "handle": "B05F"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 4073.9, "y": -23638.7, "h": 125.0, "text": "12@250=3.000", "handle": "B061"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 4058.9, "y": -21285.9, "h": 125.0, "text": "100(하면)", "handle": "B062"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 3573.9, "y": -23340.4, "h": 125.0, "text": "3.200", "handle": "B063"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 4573.9, "y": -23638.7, "h": 125.0, "text": "24@125=3.000", "handle": "B064"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 4558.9, "y": -21285.9, "h": 125.0, "text": "100(상면)", "handle": "B065"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 24093.0, "y": -26752.8, "h": 125.0, "text": "24@125=3.000", "handle": "B078"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 26303.8, "y": -27518.3, "h": 125.0, "text": "(1단)", "handle": "B079"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 26303.8, "y": -27018.3, "h": 125.0, "text": "(2단)", "handle": "B07A"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 26389.0, "y": -26752.8, "h": 125.0, "text": "100", "handle": "B07B"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 21026.5, "y": -41852.5, "h": 125.0, "text": "400", "handle": "B07C"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 24093.0, "y": -41852.5, "h": 125.0, "text": "13@500=6.500", "handle": "B07D"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 27926.5, "y": -41852.5, "h": 125.0, "text": "400", "handle": "B07E"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 28595.9, "y": -41837.5, "h": 125.0, "text": "100(중앙)", "handle": "B07F"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 20901.5, "y": -42577.5, "h": 125.0, "text": "150", "handle": "B080"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 24093.0, "y": -42352.5, "h": 125.0, "text": "56@125=7.000", "handle": "B081"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 28026.5, "y": -42577.5, "h": 125.0, "text": "100", "handle": "B082"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 28144.1, "y": -42352.5, "h": 125.0, "text": "50", "handle": "B083"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 28595.9, "y": -42337.5, "h": 125.0, "text": "100(하면)", "handle": "B084"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 24391.3, "y": -42852.5, "h": 125.0, "text": "7.500", "handle": "B085"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 28595.9, "y": -41337.5, "h": 125.0, "text": "100(상면)", "handle": "B086"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 28051.5, "y": -41577.5, "h": 125.0, "text": "150", "handle": "B087"}, {"dwg": "D1", "layer": "CS-DIMT", "x": 24093.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": "산외교울산P1",
"type": "T형",
"created": "2026-10-13 14:24:47",
"template": "템플릿: 산외교울산P1형"
}
@@ -0,0 +1,930 @@
{
"summary": {
"total": 104,
"passed": 104,
"failed": 0,
"volumes_m3": {
"lean": 5.929,
"footing": 140.625,
"column": 110.937,
"coping": 82.231
}
},
"results": [
{
"check": "C5",
"item": "object counts",
"detail": "{'LC': 1, 'FT': 1, 'CL': 1, 'CP': 1, 'PL': 0}",
"result": "PASS"
},
{
"check": "C2",
"item": "IsSolid all 4",
"detail": "4/4",
"result": "PASS"
},
{
"check": "C1",
"item": "footing X",
"expected": 7500,
"actual": 7500.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "footing Y",
"expected": 7500,
"actual": 7500.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "footing Zbot",
"expected": 42763,
"actual": 42763.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "footing Ztop",
"expected": 45263,
"actual": 45263.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "footing centre X",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "footing centre Y",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "lean X",
"expected": 7700,
"actual": 7700.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "lean Y",
"expected": 7700,
"actual": 7700.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "lean Zbot",
"expected": 42663,
"actual": 42663.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "lean Ztop",
"expected": 42763,
"actual": 42763.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "lean centre X",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "lean centre Y",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "column diameter X",
"expected": 2500,
"actual": 2500.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "column diameter Y",
"expected": 2500,
"actual": 2500.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "column Zbot",
"expected": 45263,
"actual": 45263.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "column Ztop",
"expected": 67863,
"actual": 67863.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "coping length X (tip to tip)",
"expected": 10000,
"actual": 10000.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "coping width Y",
"expected": 3200,
"actual": 3200.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "coping Zbot",
"expected": 67863,
"actual": 67863.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "coping Ztop",
"expected": 71193,
"actual": 71193.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "coping centre X",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "section closed single loop",
"detail": "1 loop(s)",
"result": "PASS"
},
{
"check": "C4",
"item": "bottom at X=+0",
"expected": 67863,
"actual": 67863.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "bottom at X=+1249",
"expected": 67863,
"actual": 67863.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "bottom at X=-1249",
"expected": 67863,
"actual": 67863.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "bottom at X=+3000",
"expected": 68656.333,
"actual": 68656.333,
"diff": -0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "bottom at X=-3000",
"expected": 68656.333,
"actual": 68656.333,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "bottom at X=+4995",
"expected": 69560.733,
"actual": 69560.733,
"diff": -0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "bottom at X=-4995",
"expected": 69560.733,
"actual": 69560.733,
"diff": -0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "top at X=-2000",
"expected": 71193,
"actual": 71193.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "top at X=+2000",
"expected": 71063,
"actual": 71063.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "top at X=-4690",
"expected": 71193,
"actual": 71193.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "top at X=+4690",
"expected": 71063,
"actual": 71063.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "top at X=-4850",
"expected": 70378.0,
"actual": 70378.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "top at X=+4850",
"expected": 70313.0,
"actual": 70313.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "top step at the pier centre (left - right)",
"expected": 130,
"actual": 130.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "plan corners rounded R500 (4 corners outside, edges inside)",
"detail": "z 69613, test point (4927, 1527)",
"result": "PASS"
},
{
"check": "C3",
"item": "LC top = FT bottom",
"expected": 42763.0,
"actual": 42763.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C3",
"item": "FT top = CL bottom",
"expected": 45263.0,
"actual": 45263.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C3",
"item": "CL top = CP bottom",
"expected": 67863.0,
"actual": 67863.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C3",
"item": "overlap LC-FT (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C3",
"item": "overlap FT-CL (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C3",
"item": "overlap CL-CP (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C3",
"item": "column within coping bottom flat zone",
"detail": "r=1250 <= 1250 (X), 1600 (Y)",
"result": "PASS"
},
{
"check": "C6",
"item": "footing volume m3",
"expected": 140.625,
"actual": 140.625,
"diff": 0.0,
"tol": 0.140625,
"result": "PASS"
},
{
"check": "C6",
"item": "column volume m3",
"expected": 110.937,
"actual": 110.937,
"diff": 0.0,
"tol": 0.11093749057988958,
"result": "PASS"
},
{
"check": "C6",
"item": "lean volume m3 (minus pile holes)",
"expected": 5.929,
"actual": 5.929,
"diff": -0.0,
"tol": 0.005929,
"result": "PASS"
},
{
"check": "C6",
"item": "coping volume m3 (dimension outline, R corners)",
"expected": 82.23,
"actual": 82.231,
"diff": 0.001,
"tol": 0.08223033778456262,
"result": "PASS"
},
{
"check": "C7",
"item": "pedestal / pad counts",
"detail": "seats=4 pads=4",
"result": "PASS"
},
{
"check": "C7",
"item": "IsSolid pedestals+pads",
"detail": "8/8",
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 table EL.'X' - h1 - h2 = coping top (left)",
"expected": 71193,
"actual": 71193,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pedestal bottom = coping top",
"expected": 71193,
"actual": 71193.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pedestal top = top + h1",
"expected": 71368,
"actual": 71368.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pad top = EL.'X'",
"expected": 71418,
"actual": 71418.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pedestal size X",
"expected": 1300,
"actual": 1300.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pedestal size Y",
"expected": 1300,
"actual": 1300.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pedestal centre X",
"expected": -3250,
"actual": -3250.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pedestal centre Y",
"expected": -799,
"actual": -799.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pad centre X",
"expected": -3250,
"actual": -3250.0,
"diff": -0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pad centre Y",
"expected": -799,
"actual": -799.0,
"diff": -0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pad volume (prismatoid A,B)",
"expected": 26686666.667,
"actual": 26686666.667,
"diff": -0.0,
"tol": 26686.666666666668,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 overlap pedestal-coping (mm3)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 overlap pad-pedestal (mm3)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 table EL.'X' - h1 - h2 = coping top (right)",
"expected": 71063,
"actual": 71063,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pedestal bottom = coping top",
"expected": 71063,
"actual": 71063.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pedestal top = top + h1",
"expected": 71238,
"actual": 71238.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pad top = EL.'X'",
"expected": 71288,
"actual": 71288.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pedestal size X",
"expected": 1300,
"actual": 1300.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pedestal size Y",
"expected": 1300,
"actual": 1300.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pedestal centre X",
"expected": 3250,
"actual": 3250.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pedestal centre Y",
"expected": -774,
"actual": -774.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pad centre X",
"expected": 3250,
"actual": 3250.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pad centre Y",
"expected": -774,
"actual": -774.0,
"diff": -0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pad volume (prismatoid A,B)",
"expected": 26686666.667,
"actual": 26686666.667,
"diff": 0.0,
"tol": 26686.666666666668,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 overlap pedestal-coping (mm3)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 overlap pad-pedestal (mm3)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 table EL.'X' - h1 - h2 = coping top (left)",
"expected": 71193,
"actual": 71193,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pedestal bottom = coping top",
"expected": 71193,
"actual": 71193.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pedestal top = top + h1",
"expected": 71390,
"actual": 71390.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pad top = EL.'X'",
"expected": 71440,
"actual": 71440.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pedestal size X",
"expected": 1300,
"actual": 1300.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pedestal size Y",
"expected": 1300,
"actual": 1300.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pedestal centre X",
"expected": -3250,
"actual": -3250.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pedestal centre Y",
"expected": 799,
"actual": 799.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pad centre X",
"expected": -3250,
"actual": -3250.0,
"diff": -0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pad centre Y",
"expected": 799,
"actual": 799.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pad volume (prismatoid A,B)",
"expected": 28166666.667,
"actual": 28166666.667,
"diff": -0.0,
"tol": 28166.666666666668,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 overlap pedestal-coping (mm3)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 overlap pad-pedestal (mm3)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 table EL.'X' - h1 - h2 = coping top (right)",
"expected": 71063,
"actual": 71064,
"diff": 1,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pedestal bottom = coping top",
"expected": 71063,
"actual": 71063.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pedestal top = top + h1",
"expected": 71259,
"actual": 71259.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pad top = EL.'X'",
"expected": 71310,
"actual": 71309.0,
"diff": -1.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pedestal size X",
"expected": 1300,
"actual": 1300.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pedestal size Y",
"expected": 1300,
"actual": 1300.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pedestal centre X",
"expected": 3250,
"actual": 3250.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pedestal centre Y",
"expected": 771,
"actual": 771.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pad centre X",
"expected": 3250,
"actual": 3250.0,
"diff": -0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pad centre Y",
"expected": 771,
"actual": 771.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pad volume (prismatoid A,B)",
"expected": 28166666.667,
"actual": 28166666.667,
"diff": -0.0,
"tol": 28166.666666666668,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 overlap pedestal-coping (mm3)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 overlap pad-pedestal (mm3)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 1.0,
"result": "PASS"
}
]
}
@@ -0,0 +1,66 @@
{
"gate": "G1",
"checker": "g1_tapered.py",
"verdict": "PASS",
"summary": {
"total": 104,
"passed": 104,
"failed": 0,
"volumes_m3": {
"lean": 5.929,
"footing": 140.625,
"column": 110.937,
"coping": 82.231
}
},
"unplanned_fails": [],
"planned_fails": [],
"negative": {
"negH": {
"move": {
"id": "BS02",
"d": [
3,
0,
0
]
},
"new_fails": [
"NO.2 pedestal centre X"
],
"detected": true
},
"negV": {
"move": {
"id": "BP03",
"d": [
0,
0,
2
]
},
"new_fails": [
"NO.3 pad top = EL.'X'"
],
"detected": true
}
},
"reload": {
"ok": null,
"skipped": "일괄 실행(단일 세션) — 저장·재로드 안 함"
},
"unchanged": {
"ok": null,
"compared": 0,
"diffs": [],
"missing": [],
"against": null,
"skipped": "일괄 실행(단일 세션) — 앞 게이트 객체를 다시 만들지 않음"
},
"model": null,
"mode": "batch",
"secs": 1.6,
"session_secs": 287.2,
"inputs_sha": "d701f1270fd40f2c",
"job_id": "9531de1c5219"
}
@@ -0,0 +1,15 @@
{
"id": "9531de1c5219",
"pid": 14152,
"state": "완료",
"at": "2026-10-16 16:37:40",
"log": [
"[batch] one Rhino session: build G1..G5, check G1, G2, G3, G4, G5 (no per-gate save / reload)",
"[G1] PASS checks 104/104 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G2] PASS checks 35/35 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G3] PASS checks 63/63 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G4] PASS checks 129/129 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G5] PASS checks 75/75 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[batch] done in 287.4s, objects 2004, model C:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\Code\\교각모델링앱\\data\\산외교울산P1\\runs\\current\\G5.3dm"
]
}
@@ -0,0 +1,930 @@
{
"summary": {
"total": 104,
"passed": 103,
"failed": 1,
"volumes_m3": {
"lean": 5.929,
"footing": 140.625,
"column": 110.937,
"coping": 82.231
}
},
"results": [
{
"check": "C5",
"item": "object counts",
"detail": "{'LC': 1, 'FT': 1, 'CL': 1, 'CP': 1, 'PL': 0}",
"result": "PASS"
},
{
"check": "C2",
"item": "IsSolid all 4",
"detail": "4/4",
"result": "PASS"
},
{
"check": "C1",
"item": "footing X",
"expected": 7500,
"actual": 7500.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "footing Y",
"expected": 7500,
"actual": 7500.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "footing Zbot",
"expected": 42763,
"actual": 42763.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "footing Ztop",
"expected": 45263,
"actual": 45263.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "footing centre X",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "footing centre Y",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "lean X",
"expected": 7700,
"actual": 7700.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "lean Y",
"expected": 7700,
"actual": 7700.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "lean Zbot",
"expected": 42663,
"actual": 42663.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "lean Ztop",
"expected": 42763,
"actual": 42763.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "lean centre X",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "lean centre Y",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "column diameter X",
"expected": 2500,
"actual": 2500.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "column diameter Y",
"expected": 2500,
"actual": 2500.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "column Zbot",
"expected": 45263,
"actual": 45263.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "column Ztop",
"expected": 67863,
"actual": 67863.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "coping length X (tip to tip)",
"expected": 10000,
"actual": 10000.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "coping width Y",
"expected": 3200,
"actual": 3200.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "coping Zbot",
"expected": 67863,
"actual": 67863.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "coping Ztop",
"expected": 71193,
"actual": 71193.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "coping centre X",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "section closed single loop",
"detail": "1 loop(s)",
"result": "PASS"
},
{
"check": "C4",
"item": "bottom at X=+0",
"expected": 67863,
"actual": 67863.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "bottom at X=+1249",
"expected": 67863,
"actual": 67863.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "bottom at X=-1249",
"expected": 67863,
"actual": 67863.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "bottom at X=+3000",
"expected": 68656.333,
"actual": 68656.333,
"diff": -0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "bottom at X=-3000",
"expected": 68656.333,
"actual": 68656.333,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "bottom at X=+4995",
"expected": 69560.733,
"actual": 69560.733,
"diff": -0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "bottom at X=-4995",
"expected": 69560.733,
"actual": 69560.733,
"diff": -0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "top at X=-2000",
"expected": 71193,
"actual": 71193.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "top at X=+2000",
"expected": 71063,
"actual": 71063.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "top at X=-4690",
"expected": 71193,
"actual": 71193.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "top at X=+4690",
"expected": 71063,
"actual": 71063.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "top at X=-4850",
"expected": 70378.0,
"actual": 70378.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "top at X=+4850",
"expected": 70313.0,
"actual": 70313.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "top step at the pier centre (left - right)",
"expected": 130,
"actual": 130.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "plan corners rounded R500 (4 corners outside, edges inside)",
"detail": "z 69613, test point (4927, 1527)",
"result": "PASS"
},
{
"check": "C3",
"item": "LC top = FT bottom",
"expected": 42763.0,
"actual": 42763.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C3",
"item": "FT top = CL bottom",
"expected": 45263.0,
"actual": 45263.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C3",
"item": "CL top = CP bottom",
"expected": 67863.0,
"actual": 67863.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C3",
"item": "overlap LC-FT (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C3",
"item": "overlap FT-CL (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C3",
"item": "overlap CL-CP (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C3",
"item": "column within coping bottom flat zone",
"detail": "r=1250 <= 1250 (X), 1600 (Y)",
"result": "PASS"
},
{
"check": "C6",
"item": "footing volume m3",
"expected": 140.625,
"actual": 140.625,
"diff": 0.0,
"tol": 0.140625,
"result": "PASS"
},
{
"check": "C6",
"item": "column volume m3",
"expected": 110.937,
"actual": 110.937,
"diff": 0.0,
"tol": 0.11093749057988958,
"result": "PASS"
},
{
"check": "C6",
"item": "lean volume m3 (minus pile holes)",
"expected": 5.929,
"actual": 5.929,
"diff": -0.0,
"tol": 0.005929,
"result": "PASS"
},
{
"check": "C6",
"item": "coping volume m3 (dimension outline, R corners)",
"expected": 82.23,
"actual": 82.231,
"diff": 0.001,
"tol": 0.08223033778456262,
"result": "PASS"
},
{
"check": "C7",
"item": "pedestal / pad counts",
"detail": "seats=4 pads=4",
"result": "PASS"
},
{
"check": "C7",
"item": "IsSolid pedestals+pads",
"detail": "8/8",
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 table EL.'X' - h1 - h2 = coping top (left)",
"expected": 71193,
"actual": 71193,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pedestal bottom = coping top",
"expected": 71193,
"actual": 71193.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pedestal top = top + h1",
"expected": 71368,
"actual": 71368.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pad top = EL.'X'",
"expected": 71418,
"actual": 71418.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pedestal size X",
"expected": 1300,
"actual": 1300.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pedestal size Y",
"expected": 1300,
"actual": 1300.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pedestal centre X",
"expected": -3250,
"actual": -3250.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pedestal centre Y",
"expected": -799,
"actual": -799.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pad centre X",
"expected": -3250,
"actual": -3250.0,
"diff": -0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pad centre Y",
"expected": -799,
"actual": -799.0,
"diff": -0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pad volume (prismatoid A,B)",
"expected": 26686666.667,
"actual": 26686666.667,
"diff": -0.0,
"tol": 26686.666666666668,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 overlap pedestal-coping (mm3)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 overlap pad-pedestal (mm3)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 table EL.'X' - h1 - h2 = coping top (right)",
"expected": 71063,
"actual": 71063,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pedestal bottom = coping top",
"expected": 71063,
"actual": 71063.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pedestal top = top + h1",
"expected": 71238,
"actual": 71238.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pad top = EL.'X'",
"expected": 71288,
"actual": 71288.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pedestal size X",
"expected": 1300,
"actual": 1300.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pedestal size Y",
"expected": 1300,
"actual": 1300.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pedestal centre X",
"expected": 3250,
"actual": 3253.0,
"diff": 3.0,
"tol": 1.0,
"result": "FAIL"
},
{
"check": "C7",
"item": "NO.2 pedestal centre Y",
"expected": -774,
"actual": -774.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pad centre X",
"expected": 3250,
"actual": 3250.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pad centre Y",
"expected": -774,
"actual": -774.0,
"diff": -0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pad volume (prismatoid A,B)",
"expected": 26686666.667,
"actual": 26686666.667,
"diff": 0.0,
"tol": 26686.666666666668,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 overlap pedestal-coping (mm3)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 overlap pad-pedestal (mm3)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 table EL.'X' - h1 - h2 = coping top (left)",
"expected": 71193,
"actual": 71193,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pedestal bottom = coping top",
"expected": 71193,
"actual": 71193.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pedestal top = top + h1",
"expected": 71390,
"actual": 71390.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pad top = EL.'X'",
"expected": 71440,
"actual": 71440.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pedestal size X",
"expected": 1300,
"actual": 1300.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pedestal size Y",
"expected": 1300,
"actual": 1300.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pedestal centre X",
"expected": -3250,
"actual": -3250.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pedestal centre Y",
"expected": 799,
"actual": 799.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pad centre X",
"expected": -3250,
"actual": -3250.0,
"diff": -0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pad centre Y",
"expected": 799,
"actual": 799.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pad volume (prismatoid A,B)",
"expected": 28166666.667,
"actual": 28166666.667,
"diff": -0.0,
"tol": 28166.666666666668,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 overlap pedestal-coping (mm3)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 overlap pad-pedestal (mm3)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 table EL.'X' - h1 - h2 = coping top (right)",
"expected": 71063,
"actual": 71064,
"diff": 1,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pedestal bottom = coping top",
"expected": 71063,
"actual": 71063.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pedestal top = top + h1",
"expected": 71259,
"actual": 71259.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pad top = EL.'X'",
"expected": 71310,
"actual": 71309.0,
"diff": -1.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pedestal size X",
"expected": 1300,
"actual": 1300.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pedestal size Y",
"expected": 1300,
"actual": 1300.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pedestal centre X",
"expected": 3250,
"actual": 3250.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pedestal centre Y",
"expected": 771,
"actual": 771.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pad centre X",
"expected": 3250,
"actual": 3250.0,
"diff": -0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pad centre Y",
"expected": 771,
"actual": 771.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pad volume (prismatoid A,B)",
"expected": 28166666.667,
"actual": 28166666.667,
"diff": -0.0,
"tol": 28166.666666666668,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 overlap pedestal-coping (mm3)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 overlap pad-pedestal (mm3)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 1.0,
"result": "PASS"
}
]
}
@@ -0,0 +1,930 @@
{
"summary": {
"total": 104,
"passed": 103,
"failed": 1,
"volumes_m3": {
"lean": 5.929,
"footing": 140.625,
"column": 110.937,
"coping": 82.231
}
},
"results": [
{
"check": "C5",
"item": "object counts",
"detail": "{'LC': 1, 'FT': 1, 'CL': 1, 'CP': 1, 'PL': 0}",
"result": "PASS"
},
{
"check": "C2",
"item": "IsSolid all 4",
"detail": "4/4",
"result": "PASS"
},
{
"check": "C1",
"item": "footing X",
"expected": 7500,
"actual": 7500.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "footing Y",
"expected": 7500,
"actual": 7500.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "footing Zbot",
"expected": 42763,
"actual": 42763.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "footing Ztop",
"expected": 45263,
"actual": 45263.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "footing centre X",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "footing centre Y",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "lean X",
"expected": 7700,
"actual": 7700.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "lean Y",
"expected": 7700,
"actual": 7700.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "lean Zbot",
"expected": 42663,
"actual": 42663.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "lean Ztop",
"expected": 42763,
"actual": 42763.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "lean centre X",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "lean centre Y",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "column diameter X",
"expected": 2500,
"actual": 2500.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "column diameter Y",
"expected": 2500,
"actual": 2500.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "column Zbot",
"expected": 45263,
"actual": 45263.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "column Ztop",
"expected": 67863,
"actual": 67863.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "coping length X (tip to tip)",
"expected": 10000,
"actual": 10000.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "coping width Y",
"expected": 3200,
"actual": 3200.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "coping Zbot",
"expected": 67863,
"actual": 67863.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "coping Ztop",
"expected": 71193,
"actual": 71193.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C1",
"item": "coping centre X",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "section closed single loop",
"detail": "1 loop(s)",
"result": "PASS"
},
{
"check": "C4",
"item": "bottom at X=+0",
"expected": 67863,
"actual": 67863.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "bottom at X=+1249",
"expected": 67863,
"actual": 67863.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "bottom at X=-1249",
"expected": 67863,
"actual": 67863.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "bottom at X=+3000",
"expected": 68656.333,
"actual": 68656.333,
"diff": -0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "bottom at X=-3000",
"expected": 68656.333,
"actual": 68656.333,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "bottom at X=+4995",
"expected": 69560.733,
"actual": 69560.733,
"diff": -0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "bottom at X=-4995",
"expected": 69560.733,
"actual": 69560.733,
"diff": -0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "top at X=-2000",
"expected": 71193,
"actual": 71193.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "top at X=+2000",
"expected": 71063,
"actual": 71063.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "top at X=-4690",
"expected": 71193,
"actual": 71193.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "top at X=+4690",
"expected": 71063,
"actual": 71063.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "top at X=-4850",
"expected": 70378.0,
"actual": 70378.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "top at X=+4850",
"expected": 70313.0,
"actual": 70313.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "top step at the pier centre (left - right)",
"expected": 130,
"actual": 130.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C4",
"item": "plan corners rounded R500 (4 corners outside, edges inside)",
"detail": "z 69613, test point (4927, 1527)",
"result": "PASS"
},
{
"check": "C3",
"item": "LC top = FT bottom",
"expected": 42763.0,
"actual": 42763.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C3",
"item": "FT top = CL bottom",
"expected": 45263.0,
"actual": 45263.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C3",
"item": "CL top = CP bottom",
"expected": 67863.0,
"actual": 67863.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C3",
"item": "overlap LC-FT (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C3",
"item": "overlap FT-CL (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C3",
"item": "overlap CL-CP (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C3",
"item": "column within coping bottom flat zone",
"detail": "r=1250 <= 1250 (X), 1600 (Y)",
"result": "PASS"
},
{
"check": "C6",
"item": "footing volume m3",
"expected": 140.625,
"actual": 140.625,
"diff": 0.0,
"tol": 0.140625,
"result": "PASS"
},
{
"check": "C6",
"item": "column volume m3",
"expected": 110.937,
"actual": 110.937,
"diff": 0.0,
"tol": 0.11093749057988958,
"result": "PASS"
},
{
"check": "C6",
"item": "lean volume m3 (minus pile holes)",
"expected": 5.929,
"actual": 5.929,
"diff": -0.0,
"tol": 0.005929,
"result": "PASS"
},
{
"check": "C6",
"item": "coping volume m3 (dimension outline, R corners)",
"expected": 82.23,
"actual": 82.231,
"diff": 0.001,
"tol": 0.08223033778456262,
"result": "PASS"
},
{
"check": "C7",
"item": "pedestal / pad counts",
"detail": "seats=4 pads=4",
"result": "PASS"
},
{
"check": "C7",
"item": "IsSolid pedestals+pads",
"detail": "8/8",
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 table EL.'X' - h1 - h2 = coping top (left)",
"expected": 71193,
"actual": 71193,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pedestal bottom = coping top",
"expected": 71193,
"actual": 71193.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pedestal top = top + h1",
"expected": 71368,
"actual": 71368.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pad top = EL.'X'",
"expected": 71418,
"actual": 71418.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pedestal size X",
"expected": 1300,
"actual": 1300.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pedestal size Y",
"expected": 1300,
"actual": 1300.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pedestal centre X",
"expected": -3250,
"actual": -3250.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pedestal centre Y",
"expected": -799,
"actual": -799.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pad centre X",
"expected": -3250,
"actual": -3250.0,
"diff": -0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pad centre Y",
"expected": -799,
"actual": -799.0,
"diff": -0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 pad volume (prismatoid A,B)",
"expected": 26686666.667,
"actual": 26686666.667,
"diff": -0.0,
"tol": 26686.666666666668,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 overlap pedestal-coping (mm3)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.1 overlap pad-pedestal (mm3)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 table EL.'X' - h1 - h2 = coping top (right)",
"expected": 71063,
"actual": 71063,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pedestal bottom = coping top",
"expected": 71063,
"actual": 71063.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pedestal top = top + h1",
"expected": 71238,
"actual": 71238.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pad top = EL.'X'",
"expected": 71288,
"actual": 71288.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pedestal size X",
"expected": 1300,
"actual": 1300.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pedestal size Y",
"expected": 1300,
"actual": 1300.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pedestal centre X",
"expected": 3250,
"actual": 3250.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pedestal centre Y",
"expected": -774,
"actual": -774.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pad centre X",
"expected": 3250,
"actual": 3250.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pad centre Y",
"expected": -774,
"actual": -774.0,
"diff": -0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 pad volume (prismatoid A,B)",
"expected": 26686666.667,
"actual": 26686666.667,
"diff": 0.0,
"tol": 26686.666666666668,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 overlap pedestal-coping (mm3)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.2 overlap pad-pedestal (mm3)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 table EL.'X' - h1 - h2 = coping top (left)",
"expected": 71193,
"actual": 71193,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pedestal bottom = coping top",
"expected": 71193,
"actual": 71193.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pedestal top = top + h1",
"expected": 71390,
"actual": 71390.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pad top = EL.'X'",
"expected": 71440,
"actual": 71442.0,
"diff": 2.0,
"tol": 1.0,
"result": "FAIL"
},
{
"check": "C7",
"item": "NO.3 pedestal size X",
"expected": 1300,
"actual": 1300.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pedestal size Y",
"expected": 1300,
"actual": 1300.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pedestal centre X",
"expected": -3250,
"actual": -3250.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pedestal centre Y",
"expected": 799,
"actual": 799.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pad centre X",
"expected": -3250,
"actual": -3250.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pad centre Y",
"expected": 799,
"actual": 799.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 pad volume (prismatoid A,B)",
"expected": 28166666.667,
"actual": 28166666.667,
"diff": -0.0,
"tol": 28166.666666666668,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 overlap pedestal-coping (mm3)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.3 overlap pad-pedestal (mm3)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 table EL.'X' - h1 - h2 = coping top (right)",
"expected": 71063,
"actual": 71064,
"diff": 1,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pedestal bottom = coping top",
"expected": 71063,
"actual": 71063.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pedestal top = top + h1",
"expected": 71259,
"actual": 71259.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pad top = EL.'X'",
"expected": 71310,
"actual": 71309.0,
"diff": -1.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pedestal size X",
"expected": 1300,
"actual": 1300.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pedestal size Y",
"expected": 1300,
"actual": 1300.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pedestal centre X",
"expected": 3250,
"actual": 3250.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pedestal centre Y",
"expected": 771,
"actual": 771.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pad centre X",
"expected": 3250,
"actual": 3250.0,
"diff": -0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pad centre Y",
"expected": 771,
"actual": 771.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 pad volume (prismatoid A,B)",
"expected": 28166666.667,
"actual": 28166666.667,
"diff": -0.0,
"tol": 28166.666666666668,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 overlap pedestal-coping (mm3)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C7",
"item": "NO.4 overlap pad-pedestal (mm3)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 1.0,
"result": "PASS"
}
]
}
@@ -0,0 +1,349 @@
{
"summary": {
"total": 35,
"passed": 35,
"failed": 0,
"min_cover": {
"P1": 109.0,
"P2": 93.0,
"P3": 117.8,
"P4": 93.0,
"P5": 93.0
}
},
"results": [
{
"check": "C8",
"item": "P1 bar count",
"expected": 68,
"actual": 68,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P1 pipes closed & paired with centrelines",
"detail": "68/68",
"result": "PASS"
},
{
"check": "C8",
"item": "P2 bar count",
"expected": 70,
"actual": 70,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 pipes closed & paired with centrelines",
"detail": "140/140",
"result": "PASS"
},
{
"check": "C8",
"item": "P3 bar count",
"expected": 12,
"actual": 12,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P3 pipes closed & paired with centrelines",
"detail": "24/24",
"result": "PASS"
},
{
"check": "C8",
"item": "P4 bar count",
"expected": 25,
"actual": 25,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 pipes closed & paired with centrelines",
"detail": "25/25",
"result": "PASS"
},
{
"check": "C8",
"item": "P5 bar count",
"expected": 64,
"actual": 64,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P5 pipes closed & paired with centrelines",
"detail": "64/64",
"result": "PASS"
},
{
"check": "C8",
"item": "P1 original length (+coupler) vs schedule L (worst of 68)",
"expected": 0,
"actual": 0.929,
"diff": 0.929,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P1 curve length - L (record)",
"detail": "min -0.9 / max -0.9 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P1 curve length (+coupler) vs L (no fillet)",
"expected": 0,
"actual": 0.929,
"diff": 0.929,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 original length (+coupler) vs schedule L (worst of 70)",
"expected": 0,
"actual": 1.0,
"diff": 1.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 curve length - L (record)",
"detail": "min -252.3 / max -252.3 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P3 original length (+coupler) vs schedule L (worst of 12)",
"expected": 0,
"actual": 1.0,
"diff": 1.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P3 curve length - L (record)",
"detail": "min 0.4 / max 0.4 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P3 curve length (+coupler) vs L (no fillet)",
"expected": 0,
"actual": 0.38,
"diff": 0.38,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 original length (+coupler) vs schedule L (worst of 25)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 curve length - L (record)",
"detail": "min 0.4 / max 0.4 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P4 curve length (+coupler) vs L (no fillet)",
"expected": 0,
"actual": 0.38,
"diff": 0.38,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P5 original length (+coupler) vs schedule L (worst of 64)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P5 curve length - L (record)",
"detail": "min -36.7 / max -36.7 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/68 (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 + 200) (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "hoop level count 107",
"detail": "107",
"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 x12, P4 x25, P2 x70)",
"detail": "",
"result": "PASS"
},
{
"check": "C8",
"item": "P3 radius (mid point)",
"expected": 1149,
"actual": 1149.0,
"diff": -0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 radius (mid point)",
"expected": 1149,
"actual": 1149.0,
"diff": -0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 radius (mid point)",
"expected": 1149,
"actual": 1149.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "tie levels 16 x 4",
"detail": "16 levels",
"result": "PASS"
},
{
"check": "C8",
"item": "tie levels vs chain + 17.5 (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\": 93.0, \"P3\": 117.8, \"P4\": 93.0, \"P5\": 93.0}",
"result": "INFO"
}
]
}
@@ -0,0 +1,69 @@
{
"gate": "G2",
"checker": "g2_ring.py",
"verdict": "PASS",
"summary": {
"total": 35,
"passed": 35,
"failed": 0,
"min_cover": {
"P1": 109.0,
"P2": 93.0,
"P3": 117.8,
"P4": 93.0,
"P5": 93.0
}
},
"unplanned_fails": [],
"planned_fails": [],
"negative": {
"negH": {
"move": {
"mark": "P1",
"d": [
5,
0,
0
]
},
"new_fails": [
"P1 radius (worst)"
],
"detected": true
},
"negV": {
"move": {
"mark": "P2",
"d": [
0,
0,
5
]
},
"new_fails": [
"hoop level count 107",
"hoop levels vs dim chain (worst)",
"hoop marks by zone (P3 x12, P4 x25, P2 x70)"
],
"detected": true
}
},
"reload": {
"ok": null,
"skipped": "일괄 실행(단일 세션) — 저장·재로드 안 함"
},
"unchanged": {
"ok": null,
"compared": 0,
"diffs": [],
"missing": [],
"against": null,
"skipped": "일괄 실행(단일 세션) — 앞 게이트 객체를 다시 만들지 않음"
},
"model": null,
"mode": "batch",
"secs": 70.7,
"session_secs": 287.2,
"inputs_sha": "d701f1270fd40f2c",
"job_id": "9531de1c5219"
}
@@ -0,0 +1,15 @@
{
"id": "9531de1c5219",
"pid": 14152,
"state": "완료",
"at": "2026-10-16 16:37:40",
"log": [
"[batch] one Rhino session: build G1..G5, check G1, G2, G3, G4, G5 (no per-gate save / reload)",
"[G1] PASS checks 104/104 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G2] PASS checks 35/35 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G3] PASS checks 63/63 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G4] PASS checks 129/129 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G5] PASS checks 75/75 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[batch] done in 287.4s, objects 2004, model C:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\Code\\교각모델링앱\\data\\산외교울산P1\\runs\\current\\G5.3dm"
]
}
@@ -0,0 +1,349 @@
{
"summary": {
"total": 35,
"passed": 34,
"failed": 1,
"min_cover": {
"P1": 104.0,
"P2": 93.0,
"P3": 117.8,
"P4": 93.0,
"P5": 93.0
}
},
"results": [
{
"check": "C8",
"item": "P1 bar count",
"expected": 68,
"actual": 68,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P1 pipes closed & paired with centrelines",
"detail": "68/68",
"result": "PASS"
},
{
"check": "C8",
"item": "P2 bar count",
"expected": 70,
"actual": 70,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 pipes closed & paired with centrelines",
"detail": "140/140",
"result": "PASS"
},
{
"check": "C8",
"item": "P3 bar count",
"expected": 12,
"actual": 12,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P3 pipes closed & paired with centrelines",
"detail": "24/24",
"result": "PASS"
},
{
"check": "C8",
"item": "P4 bar count",
"expected": 25,
"actual": 25,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 pipes closed & paired with centrelines",
"detail": "25/25",
"result": "PASS"
},
{
"check": "C8",
"item": "P5 bar count",
"expected": 64,
"actual": 64,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P5 pipes closed & paired with centrelines",
"detail": "64/64",
"result": "PASS"
},
{
"check": "C8",
"item": "P1 original length (+coupler) vs schedule L (worst of 68)",
"expected": 0,
"actual": 0.929,
"diff": 0.929,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P1 curve length - L (record)",
"detail": "min -0.9 / max -0.9 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P1 curve length (+coupler) vs L (no fillet)",
"expected": 0,
"actual": 0.929,
"diff": 0.929,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 original length (+coupler) vs schedule L (worst of 70)",
"expected": 0,
"actual": 1.0,
"diff": 1.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 curve length - L (record)",
"detail": "min -252.3 / max -252.3 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P3 original length (+coupler) vs schedule L (worst of 12)",
"expected": 0,
"actual": 1.0,
"diff": 1.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P3 curve length - L (record)",
"detail": "min 0.4 / max 0.4 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P3 curve length (+coupler) vs L (no fillet)",
"expected": 0,
"actual": 0.38,
"diff": 0.38,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 original length (+coupler) vs schedule L (worst of 25)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 curve length - L (record)",
"detail": "min 0.4 / max 0.4 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P4 curve length (+coupler) vs L (no fillet)",
"expected": 0,
"actual": 0.38,
"diff": 0.38,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P5 original length (+coupler) vs schedule L (worst of 64)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P5 curve length - L (record)",
"detail": "min -36.7 / max -36.7 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/68 (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 + 200) (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "hoop level count 107",
"detail": "107",
"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 x12, P4 x25, P2 x70)",
"detail": "",
"result": "PASS"
},
{
"check": "C8",
"item": "P3 radius (mid point)",
"expected": 1149,
"actual": 1149.0,
"diff": -0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 radius (mid point)",
"expected": 1149,
"actual": 1149.0,
"diff": -0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 radius (mid point)",
"expected": 1149,
"actual": 1149.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "tie levels 16 x 4",
"detail": "16 levels",
"result": "PASS"
},
{
"check": "C8",
"item": "tie levels vs chain + 17.5 (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\": 93.0, \"P3\": 117.8, \"P4\": 93.0, \"P5\": 93.0}",
"result": "INFO"
}
]
}
@@ -0,0 +1,349 @@
{
"summary": {
"total": 35,
"passed": 32,
"failed": 3,
"min_cover": {
"P1": 109.0,
"P2": 93.0,
"P3": 117.8,
"P4": 93.0,
"P5": 93.0
}
},
"results": [
{
"check": "C8",
"item": "P1 bar count",
"expected": 68,
"actual": 68,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P1 pipes closed & paired with centrelines",
"detail": "68/68",
"result": "PASS"
},
{
"check": "C8",
"item": "P2 bar count",
"expected": 70,
"actual": 70,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 pipes closed & paired with centrelines",
"detail": "140/140",
"result": "PASS"
},
{
"check": "C8",
"item": "P3 bar count",
"expected": 12,
"actual": 12,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P3 pipes closed & paired with centrelines",
"detail": "24/24",
"result": "PASS"
},
{
"check": "C8",
"item": "P4 bar count",
"expected": 25,
"actual": 25,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 pipes closed & paired with centrelines",
"detail": "25/25",
"result": "PASS"
},
{
"check": "C8",
"item": "P5 bar count",
"expected": 64,
"actual": 64,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C8",
"item": "P5 pipes closed & paired with centrelines",
"detail": "64/64",
"result": "PASS"
},
{
"check": "C8",
"item": "P1 original length (+coupler) vs schedule L (worst of 68)",
"expected": 0,
"actual": 0.929,
"diff": 0.929,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P1 curve length - L (record)",
"detail": "min -0.9 / max -0.9 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P1 curve length (+coupler) vs L (no fillet)",
"expected": 0,
"actual": 0.929,
"diff": 0.929,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 original length (+coupler) vs schedule L (worst of 70)",
"expected": 0,
"actual": 1.0,
"diff": 1.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 curve length - L (record)",
"detail": "min -252.3 / max -252.3 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P3 original length (+coupler) vs schedule L (worst of 12)",
"expected": 0,
"actual": 1.0,
"diff": 1.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P3 curve length - L (record)",
"detail": "min 0.4 / max 0.4 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P3 curve length (+coupler) vs L (no fillet)",
"expected": 0,
"actual": 0.38,
"diff": 0.38,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 original length (+coupler) vs schedule L (worst of 25)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 curve length - L (record)",
"detail": "min 0.4 / max 0.4 mm",
"result": "INFO"
},
{
"check": "C8",
"item": "P4 curve length (+coupler) vs L (no fillet)",
"expected": 0,
"actual": 0.38,
"diff": 0.38,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P5 original length (+coupler) vs schedule L (worst of 64)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "P5 curve length - L (record)",
"detail": "min -36.7 / max -36.7 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/68 (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 + 200) (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C8",
"item": "hoop level count 107",
"detail": "108",
"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 x12, P4 x25, P2 x70)",
"detail": "",
"result": "FAIL"
},
{
"check": "C8",
"item": "P3 radius (mid point)",
"expected": 1149,
"actual": 1149.0,
"diff": -0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P4 radius (mid point)",
"expected": 1149,
"actual": 1149.0,
"diff": -0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "P2 radius (mid point)",
"expected": 1149,
"actual": 1149.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C8",
"item": "tie levels 16 x 4",
"detail": "16 levels",
"result": "PASS"
},
{
"check": "C8",
"item": "tie levels vs chain + 17.5 (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\": 93.0, \"P3\": 117.8, \"P4\": 93.0, \"P5\": 93.0}",
"result": "INFO"
}
]
}
@@ -0,0 +1,621 @@
{
"summary": {
"total": 63,
"passed": 63,
"failed": 0,
"cover": {
"B1": 69.5,
"B2": 89.0,
"B3": 89.0,
"B4": 92.0,
"B5": 66.5,
"B6": 89.0,
"B7": 109.5,
"B8": 69.5,
"B9": 92.0,
"B10": 92.0
}
},
"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": "B1 curve length - L (bend fillets / laps)",
"detail": "min 0.0 / max 0.0",
"result": "INFO"
},
{
"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": "B2 curve length - L (bend fillets / laps)",
"detail": "min -1042.5 / max -1042.5",
"result": "INFO"
},
{
"check": "C9",
"item": "B3 bar count vs schedule",
"expected": 28,
"actual": 28,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B3 pipes closed & paired",
"detail": "28/28",
"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": "B3 curve length - L (bend fillets / laps)",
"detail": "min 0.0 / max 0.0",
"result": "INFO"
},
{
"check": "C9",
"item": "B4 bar count vs schedule",
"expected": 31,
"actual": 31,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B4 pipes closed & paired",
"detail": "31/31",
"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": "B4 curve length - L (bend fillets / laps)",
"detail": "min 0.0 / max 0.0",
"result": "INFO"
},
{
"check": "C9",
"item": "B5 bar count vs schedule",
"expected": 31,
"actual": 31,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B5 pipes closed & paired",
"detail": "31/31",
"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": "B5 curve length - L (bend fillets / laps)",
"detail": "min -1042.5 / max -1042.5",
"result": "INFO"
},
{
"check": "C9",
"item": "B6 bar count vs schedule",
"expected": 28,
"actual": 28,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B6 pipes closed & paired",
"detail": "28/28",
"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": "B6 curve length - L (bend fillets / laps)",
"detail": "min 0.0 / max 0.0",
"result": "INFO"
},
{
"check": "C9",
"item": "B7 bar count vs schedule",
"expected": 98,
"actual": 98,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B7 pipes closed & paired",
"detail": "98/98",
"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": "B7 curve length - L (bend fillets / laps)",
"detail": "min -16.7 / max -16.7",
"result": "INFO"
},
{
"check": "C9",
"item": "B8 bar count vs schedule",
"expected": 7,
"actual": 7,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B8 pipes closed & paired",
"detail": "7/7",
"result": "PASS"
},
{
"check": "C9",
"item": "B8 original length vs L (worst)",
"expected": 0,
"actual": 1.0,
"diff": 1.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B8 curve length - L (bend fillets / laps)",
"detail": "min -2242.2 / max -2242.2",
"result": "INFO"
},
{
"check": "C9",
"item": "B9 bar count vs schedule",
"expected": 7,
"actual": 7,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 pipes closed & paired",
"detail": "7/7",
"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": "B9 curve length - L (bend fillets / laps)",
"detail": "min -20.6 / max -20.6",
"result": "INFO"
},
{
"check": "C9",
"item": "B10 bar count vs schedule",
"expected": 7,
"actual": 7,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B10 pipes closed & paired",
"detail": "7/7",
"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": "B10 curve length - L (bend fillets / laps)",
"detail": "min -20.6 / max -20.6",
"result": "INFO"
},
{
"check": "C9",
"item": "B1 layer z (worst) [derived]",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B1 positions vs chain (worst, n=31/31)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B2 layer z (worst) [derived]",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B2 positions vs chain (worst, n=31/31)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B3 layer z (worst) [derived]",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B3 positions vs chain (worst, n=28/28)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B4 layer z (worst) [derived]",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B4 positions vs chain (worst, n=31/31)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B5 layer z (worst) [derived]",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B5 positions vs chain (worst, n=31/31)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B6 layer z (worst) [derived]",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B6 positions vs chain (worst, n=28/28)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 layer z (worst) [derived]",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 positions vs chain (worst, n=7/7)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B10 layer z (worst) [derived]",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B10 positions vs chain (worst, n=7/7)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B8 levels vs chain (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B8 centreline size X [derived]",
"expected": 7345.0,
"actual": 7345.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B8 centreline size Y [derived]",
"expected": 7345.0,
"actual": 7345.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B7 positions = checkerboard of 14x14 grid [추론]",
"detail": "98 / 98",
"result": "PASS"
},
{
"check": "C9",
"item": "B7 bottom z (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B7 vertical extent a",
"expected": 2218,
"actual": 2218.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B1 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B2 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B3 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B4 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B5 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B6 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B7 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B8 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B10 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "min cover to footing surface per mark (record; top face under the column counted)",
"detail": "{\"B1\": 69.5, \"B2\": 89.0, \"B3\": 89.0, \"B4\": 92.0, \"B5\": 66.5, \"B6\": 89.0, \"B7\": 109.5, \"B8\": 69.5, \"B9\": 92.0, \"B10\": 92.0}",
"result": "INFO"
},
{
"check": "C9",
"item": "rebar pipe colour by diameter mismatches (all rebar)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
}
]
}
@@ -0,0 +1,72 @@
{
"gate": "G3",
"checker": "g3_mats.py",
"verdict": "PASS",
"summary": {
"total": 63,
"passed": 63,
"failed": 0,
"cover": {
"B1": 69.5,
"B2": 89.0,
"B3": 89.0,
"B4": 92.0,
"B5": 66.5,
"B6": 89.0,
"B7": 109.5,
"B8": 69.5,
"B9": 92.0,
"B10": 92.0
}
},
"unplanned_fails": [],
"planned_fails": [],
"negative": {
"negH": {
"move": {
"mark": "B3",
"d": [
5,
0,
0
]
},
"new_fails": [
"B3 positions vs chain (worst, n=28/28)"
],
"detected": true
},
"negV": {
"move": {
"mark": "B7",
"d": [
0,
0,
5
]
},
"new_fails": [
"B7 bottom z (worst)"
],
"detected": true
}
},
"reload": {
"ok": null,
"skipped": "일괄 실행(단일 세션) — 저장·재로드 안 함"
},
"unchanged": {
"ok": null,
"compared": 0,
"diffs": [],
"missing": [],
"against": null,
"skipped": "일괄 실행(단일 세션) — 앞 게이트 객체를 다시 만들지 않음"
},
"model": null,
"mode": "batch",
"secs": 17.0,
"session_secs": 287.2,
"inputs_sha": "d701f1270fd40f2c",
"job_id": "9531de1c5219"
}
@@ -0,0 +1,15 @@
{
"id": "9531de1c5219",
"pid": 14152,
"state": "완료",
"at": "2026-10-16 16:37:40",
"log": [
"[batch] one Rhino session: build G1..G5, check G1, G2, G3, G4, G5 (no per-gate save / reload)",
"[G1] PASS checks 104/104 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G2] PASS checks 35/35 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G3] PASS checks 63/63 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G4] PASS checks 129/129 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G5] PASS checks 75/75 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[batch] done in 287.4s, objects 2004, model C:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\Code\\교각모델링앱\\data\\산외교울산P1\\runs\\current\\G5.3dm"
]
}
@@ -0,0 +1,621 @@
{
"summary": {
"total": 63,
"passed": 62,
"failed": 1,
"cover": {
"B1": 69.5,
"B2": 89.0,
"B3": 89.0,
"B4": 92.0,
"B5": 66.5,
"B6": 89.0,
"B7": 109.5,
"B8": 69.5,
"B9": 92.0,
"B10": 92.0
}
},
"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": "B1 curve length - L (bend fillets / laps)",
"detail": "min 0.0 / max 0.0",
"result": "INFO"
},
{
"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": "B2 curve length - L (bend fillets / laps)",
"detail": "min -1042.5 / max -1042.5",
"result": "INFO"
},
{
"check": "C9",
"item": "B3 bar count vs schedule",
"expected": 28,
"actual": 28,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B3 pipes closed & paired",
"detail": "28/28",
"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": "B3 curve length - L (bend fillets / laps)",
"detail": "min 0.0 / max 0.0",
"result": "INFO"
},
{
"check": "C9",
"item": "B4 bar count vs schedule",
"expected": 31,
"actual": 31,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B4 pipes closed & paired",
"detail": "31/31",
"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": "B4 curve length - L (bend fillets / laps)",
"detail": "min 0.0 / max 0.0",
"result": "INFO"
},
{
"check": "C9",
"item": "B5 bar count vs schedule",
"expected": 31,
"actual": 31,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B5 pipes closed & paired",
"detail": "31/31",
"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": "B5 curve length - L (bend fillets / laps)",
"detail": "min -1042.5 / max -1042.5",
"result": "INFO"
},
{
"check": "C9",
"item": "B6 bar count vs schedule",
"expected": 28,
"actual": 28,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B6 pipes closed & paired",
"detail": "28/28",
"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": "B6 curve length - L (bend fillets / laps)",
"detail": "min 0.0 / max 0.0",
"result": "INFO"
},
{
"check": "C9",
"item": "B7 bar count vs schedule",
"expected": 98,
"actual": 98,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B7 pipes closed & paired",
"detail": "98/98",
"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": "B7 curve length - L (bend fillets / laps)",
"detail": "min -16.7 / max -16.7",
"result": "INFO"
},
{
"check": "C9",
"item": "B8 bar count vs schedule",
"expected": 7,
"actual": 7,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B8 pipes closed & paired",
"detail": "7/7",
"result": "PASS"
},
{
"check": "C9",
"item": "B8 original length vs L (worst)",
"expected": 0,
"actual": 1.0,
"diff": 1.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B8 curve length - L (bend fillets / laps)",
"detail": "min -2242.2 / max -2242.2",
"result": "INFO"
},
{
"check": "C9",
"item": "B9 bar count vs schedule",
"expected": 7,
"actual": 7,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 pipes closed & paired",
"detail": "7/7",
"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": "B9 curve length - L (bend fillets / laps)",
"detail": "min -20.6 / max -20.6",
"result": "INFO"
},
{
"check": "C9",
"item": "B10 bar count vs schedule",
"expected": 7,
"actual": 7,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B10 pipes closed & paired",
"detail": "7/7",
"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": "B10 curve length - L (bend fillets / laps)",
"detail": "min -20.6 / max -20.6",
"result": "INFO"
},
{
"check": "C9",
"item": "B1 layer z (worst) [derived]",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B1 positions vs chain (worst, n=31/31)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B2 layer z (worst) [derived]",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B2 positions vs chain (worst, n=31/31)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B3 layer z (worst) [derived]",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B3 positions vs chain (worst, n=28/28)",
"expected": 0,
"actual": 5.0,
"diff": 5.0,
"tol": 1.0,
"result": "FAIL"
},
{
"check": "C9",
"item": "B4 layer z (worst) [derived]",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B4 positions vs chain (worst, n=31/31)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B5 layer z (worst) [derived]",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B5 positions vs chain (worst, n=31/31)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B6 layer z (worst) [derived]",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B6 positions vs chain (worst, n=28/28)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 layer z (worst) [derived]",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 positions vs chain (worst, n=7/7)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B10 layer z (worst) [derived]",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B10 positions vs chain (worst, n=7/7)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B8 levels vs chain (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B8 centreline size X [derived]",
"expected": 7345.0,
"actual": 7345.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B8 centreline size Y [derived]",
"expected": 7345.0,
"actual": 7345.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B7 positions = checkerboard of 14x14 grid [추론]",
"detail": "98 / 98",
"result": "PASS"
},
{
"check": "C9",
"item": "B7 bottom z (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B7 vertical extent a",
"expected": 2218,
"actual": 2218.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B1 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B2 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B3 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B4 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B5 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B6 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B7 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B8 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B10 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "min cover to footing surface per mark (record; top face under the column counted)",
"detail": "{\"B1\": 69.5, \"B2\": 89.0, \"B3\": 89.0, \"B4\": 92.0, \"B5\": 66.5, \"B6\": 89.0, \"B7\": 109.5, \"B8\": 69.5, \"B9\": 92.0, \"B10\": 92.0}",
"result": "INFO"
},
{
"check": "C9",
"item": "rebar pipe colour by diameter mismatches (all rebar)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
}
]
}
@@ -0,0 +1,621 @@
{
"summary": {
"total": 63,
"passed": 62,
"failed": 1,
"cover": {
"B1": 69.5,
"B2": 89.0,
"B3": 89.0,
"B4": 92.0,
"B5": 66.5,
"B6": 89.0,
"B7": 104.5,
"B8": 69.5,
"B9": 92.0,
"B10": 92.0
}
},
"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": "B1 curve length - L (bend fillets / laps)",
"detail": "min 0.0 / max 0.0",
"result": "INFO"
},
{
"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": "B2 curve length - L (bend fillets / laps)",
"detail": "min -1042.5 / max -1042.5",
"result": "INFO"
},
{
"check": "C9",
"item": "B3 bar count vs schedule",
"expected": 28,
"actual": 28,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B3 pipes closed & paired",
"detail": "28/28",
"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": "B3 curve length - L (bend fillets / laps)",
"detail": "min 0.0 / max 0.0",
"result": "INFO"
},
{
"check": "C9",
"item": "B4 bar count vs schedule",
"expected": 31,
"actual": 31,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B4 pipes closed & paired",
"detail": "31/31",
"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": "B4 curve length - L (bend fillets / laps)",
"detail": "min 0.0 / max 0.0",
"result": "INFO"
},
{
"check": "C9",
"item": "B5 bar count vs schedule",
"expected": 31,
"actual": 31,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B5 pipes closed & paired",
"detail": "31/31",
"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": "B5 curve length - L (bend fillets / laps)",
"detail": "min -1042.5 / max -1042.5",
"result": "INFO"
},
{
"check": "C9",
"item": "B6 bar count vs schedule",
"expected": 28,
"actual": 28,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B6 pipes closed & paired",
"detail": "28/28",
"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": "B6 curve length - L (bend fillets / laps)",
"detail": "min 0.0 / max 0.0",
"result": "INFO"
},
{
"check": "C9",
"item": "B7 bar count vs schedule",
"expected": 98,
"actual": 98,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B7 pipes closed & paired",
"detail": "98/98",
"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": "B7 curve length - L (bend fillets / laps)",
"detail": "min -16.7 / max -16.7",
"result": "INFO"
},
{
"check": "C9",
"item": "B8 bar count vs schedule",
"expected": 7,
"actual": 7,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B8 pipes closed & paired",
"detail": "7/7",
"result": "PASS"
},
{
"check": "C9",
"item": "B8 original length vs L (worst)",
"expected": 0,
"actual": 1.0,
"diff": 1.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B8 curve length - L (bend fillets / laps)",
"detail": "min -2242.2 / max -2242.2",
"result": "INFO"
},
{
"check": "C9",
"item": "B9 bar count vs schedule",
"expected": 7,
"actual": 7,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 pipes closed & paired",
"detail": "7/7",
"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": "B9 curve length - L (bend fillets / laps)",
"detail": "min -20.6 / max -20.6",
"result": "INFO"
},
{
"check": "C9",
"item": "B10 bar count vs schedule",
"expected": 7,
"actual": 7,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B10 pipes closed & paired",
"detail": "7/7",
"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": "B10 curve length - L (bend fillets / laps)",
"detail": "min -20.6 / max -20.6",
"result": "INFO"
},
{
"check": "C9",
"item": "B1 layer z (worst) [derived]",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B1 positions vs chain (worst, n=31/31)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B2 layer z (worst) [derived]",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B2 positions vs chain (worst, n=31/31)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B3 layer z (worst) [derived]",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B3 positions vs chain (worst, n=28/28)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B4 layer z (worst) [derived]",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B4 positions vs chain (worst, n=31/31)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B5 layer z (worst) [derived]",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B5 positions vs chain (worst, n=31/31)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B6 layer z (worst) [derived]",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B6 positions vs chain (worst, n=28/28)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 layer z (worst) [derived]",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 positions vs chain (worst, n=7/7)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B10 layer z (worst) [derived]",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B10 positions vs chain (worst, n=7/7)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B8 levels vs chain (worst)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B8 centreline size X [derived]",
"expected": 7345.0,
"actual": 7345.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B8 centreline size Y [derived]",
"expected": 7345.0,
"actual": 7345.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B7 positions = checkerboard of 14x14 grid [추론]",
"detail": "98 / 98",
"result": "PASS"
},
{
"check": "C9",
"item": "B7 bottom z (worst)",
"expected": 0,
"actual": 5.0,
"diff": 5.0,
"tol": 1.0,
"result": "FAIL"
},
{
"check": "C9",
"item": "B7 vertical extent a",
"expected": 2218,
"actual": 2218.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C9",
"item": "B1 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B2 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B3 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B4 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B5 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B6 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B7 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B8 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B9 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "B10 sample points outside footing",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C9",
"item": "min cover to footing surface per mark (record; top face under the column counted)",
"detail": "{\"B1\": 69.5, \"B2\": 89.0, \"B3\": 89.0, \"B4\": 92.0, \"B5\": 66.5, \"B6\": 89.0, \"B7\": 104.5, \"B8\": 69.5, \"B9\": 92.0, \"B10\": 92.0}",
"result": "INFO"
},
{
"check": "C9",
"item": "rebar pipe colour by diameter mismatches (all rebar)",
"expected": 0,
"actual": 0,
"diff": 0,
"tol": 0,
"result": "PASS"
}
]
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,83 @@
{
"gate": "G4",
"checker": "g4_polylines.py",
"verdict": "PASS",
"summary": {
"total": 129,
"passed": 129,
"failed": 0,
"cover": {
"C1": 82.5,
"C2": 82.5,
"C3": 82.9,
"C4": 82.9,
"C5": 83.5,
"C6": 83.5,
"C7": 62.5,
"C8": 61.5,
"C9": 62.0,
"C10": 88.5,
"C11": 94.9,
"C12": 88.5,
"C13": 104.2,
"C14": 92.0,
"C15": 87.8,
"S1": 112.6,
"S2": 125.6,
"S3": 90.6,
"S4": 103.6
}
},
"unplanned_fails": [],
"planned_fails": [],
"negative": {
"negH": {
"move": {
"mark": "C7",
"d": [
5,
0,
0
]
},
"new_fails": [
"C7 stirrup positions = drawn x (17) x 3",
"C7 legs at y pairs [[-1500, -250], [-1000, 1000], [250, 1500]] (A-A; corner positions [-4600, -4400, 4400, 4600] excluded)",
"C7 centreline height vs drawn + 54 (worst)"
],
"detected": true
},
"negV": {
"move": {
"mark": "C11",
"d": [
0,
0,
5
]
},
"new_fails": [
"C11 levels / drawn ends / y (32)"
],
"detected": true
}
},
"reload": {
"ok": null,
"skipped": "일괄 실행(단일 세션) — 저장·재로드 안 함"
},
"unchanged": {
"ok": null,
"compared": 0,
"diffs": [],
"missing": [],
"against": null,
"skipped": "일괄 실행(단일 세션) — 앞 게이트 객체를 다시 만들지 않음"
},
"model": null,
"mode": "batch",
"secs": 186.3,
"session_secs": 287.2,
"inputs_sha": "d701f1270fd40f2c",
"job_id": "9531de1c5219"
}
@@ -0,0 +1,15 @@
{
"id": "9531de1c5219",
"pid": 14152,
"state": "완료",
"at": "2026-10-16 16:37:40",
"log": [
"[batch] one Rhino session: build G1..G5, check G1, G2, G3, G4, G5 (no per-gate save / reload)",
"[G1] PASS checks 104/104 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G2] PASS checks 35/35 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G3] PASS checks 63/63 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G4] PASS checks 129/129 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G5] PASS checks 75/75 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[batch] done in 287.4s, objects 2004, model C:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\Code\\교각모델링앱\\data\\산외교울산P1\\runs\\current\\G5.3dm"
]
}
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,657 @@
{
"summary": {
"total": 75,
"passed": 75,
"failed": 0
},
"results": [
{
"check": "C11",
"item": "bearing count",
"expected": 4,
"actual": 4,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C11",
"item": "sole plate count",
"expected": 4,
"actual": 4,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C11",
"item": "all 8 closed solids",
"detail": "",
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 bearing bottom = EL.'X'",
"expected": 71418,
"actual": 71418.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 bearing height h3",
"expected": 144,
"actual": 144.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 bearing across (B)",
"expected": 580,
"actual": 580.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 bearing along (A)",
"expected": 580,
"actual": 580.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 sole plate across W",
"expected": 800,
"actual": 800.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 sole plate along L",
"expected": 920,
"actual": 920.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 sole plate bottom = bearing top",
"expected": 71562.0,
"actual": 71562.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 bearing plan centre offset from pad (mm)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 sole plate plan centre offset from pad (mm)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 bearing axis vs pad (deg)",
"expected": 0.0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 sole plate axis vs pad (deg)",
"expected": 0.0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 sole plate slope S (%) along +Y-ward axis",
"expected": 1.896,
"actual": 1.896,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 sole plate centre thickness T",
"expected": 31,
"actual": 31.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 thick end at +Y",
"detail": "",
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 no transverse slope",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 overlap bearing-pad (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 overlap bearing-sole plate (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 colours (bearing (0, 0, 0), sole plate (150, 150, 150))",
"detail": "",
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 bearing bottom = EL.'X'",
"expected": 71288,
"actual": 71288.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 bearing height h3",
"expected": 144,
"actual": 144.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 bearing across (B)",
"expected": 580,
"actual": 580.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 bearing along (A)",
"expected": 580,
"actual": 580.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 sole plate across W",
"expected": 800,
"actual": 800.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 sole plate along L",
"expected": 920,
"actual": 920.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 sole plate bottom = bearing top",
"expected": 71432.0,
"actual": 71432.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 bearing plan centre offset from pad (mm)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 sole plate plan centre offset from pad (mm)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 bearing axis vs pad (deg)",
"expected": 0.0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 sole plate axis vs pad (deg)",
"expected": 0.0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 sole plate slope S (%) along +Y-ward axis",
"expected": 1.899,
"actual": 1.899,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 sole plate centre thickness T",
"expected": 31,
"actual": 31.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 thick end at +Y",
"detail": "",
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 no transverse slope",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 overlap bearing-pad (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 overlap bearing-sole plate (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 colours (bearing (0, 0, 0), sole plate (150, 150, 150))",
"detail": "",
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 bearing bottom = EL.'X'",
"expected": 71440,
"actual": 71440.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 bearing height h3",
"expected": 152,
"actual": 152.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 bearing across (B)",
"expected": 600,
"actual": 600.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 bearing along (A)",
"expected": 600,
"actual": 600.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 sole plate across W",
"expected": 820,
"actual": 820.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 sole plate along L",
"expected": 940,
"actual": 940.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 sole plate bottom = bearing top",
"expected": 71592.0,
"actual": 71592.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 bearing plan centre offset from pad (mm)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 sole plate plan centre offset from pad (mm)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 bearing axis vs pad (deg)",
"expected": 0.0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 sole plate axis vs pad (deg)",
"expected": 0.0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 sole plate slope S (%) along +Y-ward axis",
"expected": 1.896,
"actual": 1.896,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 sole plate centre thickness T",
"expected": 31,
"actual": 31.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 thick end at +Y",
"detail": "",
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 no transverse slope",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 overlap bearing-pad (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 overlap bearing-sole plate (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 colours (bearing (0, 0, 0), sole plate (150, 150, 150))",
"detail": "",
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 bearing bottom = EL.'X'",
"expected": 71310,
"actual": 71309.0,
"diff": -1.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 bearing height h3",
"expected": 152,
"actual": 152.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 bearing across (B)",
"expected": 600,
"actual": 600.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 bearing along (A)",
"expected": 600,
"actual": 600.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 sole plate across W",
"expected": 820,
"actual": 820.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 sole plate along L",
"expected": 940,
"actual": 940.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 sole plate bottom = bearing top",
"expected": 71461.0,
"actual": 71461.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 bearing plan centre offset from pad (mm)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 sole plate plan centre offset from pad (mm)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 bearing axis vs pad (deg)",
"expected": 0.0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 sole plate axis vs pad (deg)",
"expected": 0.0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 sole plate slope S (%) along +Y-ward axis",
"expected": 1.899,
"actual": 1.899,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 sole plate centre thickness T",
"expected": 31,
"actual": 31.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 thick end at +Y",
"detail": "",
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 no transverse slope",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 overlap bearing-pad (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 overlap bearing-sole plate (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 colours (bearing (0, 0, 0), sole plate (150, 150, 150))",
"detail": "",
"result": "PASS"
}
]
}
@@ -0,0 +1,60 @@
{
"gate": "G5",
"checker": "g5_bearings.py",
"verdict": "PASS",
"summary": {
"total": 75,
"passed": 75,
"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\\산외교울산P1\\runs\\current\\G5.3dm",
"mode": "batch",
"secs": 0.4,
"session_secs": 287.2,
"inputs_sha": "d701f1270fd40f2c",
"job_id": "9531de1c5219"
}
@@ -0,0 +1,15 @@
{
"id": "9531de1c5219",
"pid": 14152,
"state": "완료",
"at": "2026-10-16 16:37:40",
"log": [
"[batch] one Rhino session: build G1..G5, check G1, G2, G3, G4, G5 (no per-gate save / reload)",
"[G1] PASS checks 104/104 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G2] PASS checks 35/35 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G3] PASS checks 63/63 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G4] PASS checks 129/129 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G5] PASS checks 75/75 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[batch] done in 287.4s, objects 2004, model C:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\Code\\교각모델링앱\\data\\산외교울산P1\\runs\\current\\G5.3dm"
]
}
@@ -0,0 +1,657 @@
{
"summary": {
"total": 75,
"passed": 74,
"failed": 1
},
"results": [
{
"check": "C11",
"item": "bearing count",
"expected": 4,
"actual": 4,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C11",
"item": "sole plate count",
"expected": 4,
"actual": 4,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C11",
"item": "all 8 closed solids",
"detail": "",
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 bearing bottom = EL.'X'",
"expected": 71418,
"actual": 71418.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 bearing height h3",
"expected": 144,
"actual": 144.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 bearing across (B)",
"expected": 580,
"actual": 580.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 bearing along (A)",
"expected": 580,
"actual": 580.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 sole plate across W",
"expected": 800,
"actual": 800.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 sole plate along L",
"expected": 920,
"actual": 920.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 sole plate bottom = bearing top",
"expected": 71562.0,
"actual": 71562.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 bearing plan centre offset from pad (mm)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 sole plate plan centre offset from pad (mm)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 bearing axis vs pad (deg)",
"expected": 0.0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 sole plate axis vs pad (deg)",
"expected": 0.0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 sole plate slope S (%) along +Y-ward axis",
"expected": 1.896,
"actual": 1.896,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 sole plate centre thickness T",
"expected": 31,
"actual": 31.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 thick end at +Y",
"detail": "",
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 no transverse slope",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 overlap bearing-pad (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 overlap bearing-sole plate (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 colours (bearing (0, 0, 0), sole plate (150, 150, 150))",
"detail": "",
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 bearing bottom = EL.'X'",
"expected": 71288,
"actual": 71288.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 bearing height h3",
"expected": 144,
"actual": 144.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 bearing across (B)",
"expected": 580,
"actual": 580.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 bearing along (A)",
"expected": 580,
"actual": 580.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 sole plate across W",
"expected": 800,
"actual": 800.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 sole plate along L",
"expected": 920,
"actual": 920.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 sole plate bottom = bearing top",
"expected": 71432.0,
"actual": 71432.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 bearing plan centre offset from pad (mm)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 sole plate plan centre offset from pad (mm)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 bearing axis vs pad (deg)",
"expected": 0.0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 sole plate axis vs pad (deg)",
"expected": 0.0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 sole plate slope S (%) along +Y-ward axis",
"expected": 1.899,
"actual": 1.899,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 sole plate centre thickness T",
"expected": 31,
"actual": 31.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 thick end at +Y",
"detail": "",
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 no transverse slope",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 overlap bearing-pad (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 overlap bearing-sole plate (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 colours (bearing (0, 0, 0), sole plate (150, 150, 150))",
"detail": "",
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 bearing bottom = EL.'X'",
"expected": 71440,
"actual": 71440.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 bearing height h3",
"expected": 152,
"actual": 152.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 bearing across (B)",
"expected": 600,
"actual": 600.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 bearing along (A)",
"expected": 600,
"actual": 600.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 sole plate across W",
"expected": 820,
"actual": 820.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 sole plate along L",
"expected": 940,
"actual": 940.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 sole plate bottom = bearing top",
"expected": 71592.0,
"actual": 71592.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 bearing plan centre offset from pad (mm)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 sole plate plan centre offset from pad (mm)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 bearing axis vs pad (deg)",
"expected": 0.0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 sole plate axis vs pad (deg)",
"expected": 0.0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 sole plate slope S (%) along +Y-ward axis",
"expected": 1.896,
"actual": 1.896,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 sole plate centre thickness T",
"expected": 31,
"actual": 31.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 thick end at +Y",
"detail": "",
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 no transverse slope",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 overlap bearing-pad (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 overlap bearing-sole plate (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 colours (bearing (0, 0, 0), sole plate (150, 150, 150))",
"detail": "",
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 bearing bottom = EL.'X'",
"expected": 71310,
"actual": 71309.0,
"diff": -1.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 bearing height h3",
"expected": 152,
"actual": 152.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 bearing across (B)",
"expected": 600,
"actual": 600.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 bearing along (A)",
"expected": 600,
"actual": 600.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 sole plate across W",
"expected": 820,
"actual": 820.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 sole plate along L",
"expected": 940,
"actual": 940.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 sole plate bottom = bearing top",
"expected": 71461.0,
"actual": 71461.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 bearing plan centre offset from pad (mm)",
"expected": 0,
"actual": 5.0,
"diff": 5.0,
"tol": 1.0,
"result": "FAIL"
},
{
"check": "C11",
"item": "NO.4 sole plate plan centre offset from pad (mm)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 bearing axis vs pad (deg)",
"expected": 0.0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 sole plate axis vs pad (deg)",
"expected": 0.0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 sole plate slope S (%) along +Y-ward axis",
"expected": 1.899,
"actual": 1.899,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 sole plate centre thickness T",
"expected": 31,
"actual": 31.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 thick end at +Y",
"detail": "",
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 no transverse slope",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 overlap bearing-pad (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 overlap bearing-sole plate (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 colours (bearing (0, 0, 0), sole plate (150, 150, 150))",
"detail": "",
"result": "PASS"
}
]
}
@@ -0,0 +1,657 @@
{
"summary": {
"total": 75,
"passed": 74,
"failed": 1
},
"results": [
{
"check": "C11",
"item": "bearing count",
"expected": 4,
"actual": 4,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C11",
"item": "sole plate count",
"expected": 4,
"actual": 4,
"diff": 0,
"tol": 0,
"result": "PASS"
},
{
"check": "C11",
"item": "all 8 closed solids",
"detail": "",
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 bearing bottom = EL.'X'",
"expected": 71418,
"actual": 71418.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 bearing height h3",
"expected": 144,
"actual": 144.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 bearing across (B)",
"expected": 580,
"actual": 580.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 bearing along (A)",
"expected": 580,
"actual": 580.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 sole plate across W",
"expected": 800,
"actual": 800.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 sole plate along L",
"expected": 920,
"actual": 920.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 sole plate bottom = bearing top",
"expected": 71562.0,
"actual": 71562.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 bearing plan centre offset from pad (mm)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 sole plate plan centre offset from pad (mm)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 bearing axis vs pad (deg)",
"expected": 0.0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 sole plate axis vs pad (deg)",
"expected": 0.0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 sole plate slope S (%) along +Y-ward axis",
"expected": 1.896,
"actual": 1.896,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 sole plate centre thickness T",
"expected": 31,
"actual": 31.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 thick end at +Y",
"detail": "",
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 no transverse slope",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 overlap bearing-pad (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 overlap bearing-sole plate (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.1 colours (bearing (0, 0, 0), sole plate (150, 150, 150))",
"detail": "",
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 bearing bottom = EL.'X'",
"expected": 71288,
"actual": 71288.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 bearing height h3",
"expected": 144,
"actual": 144.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 bearing across (B)",
"expected": 580,
"actual": 580.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 bearing along (A)",
"expected": 580,
"actual": 580.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 sole plate across W",
"expected": 800,
"actual": 800.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 sole plate along L",
"expected": 920,
"actual": 920.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 sole plate bottom = bearing top",
"expected": 71432.0,
"actual": 71432.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 bearing plan centre offset from pad (mm)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 sole plate plan centre offset from pad (mm)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 bearing axis vs pad (deg)",
"expected": 0.0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 sole plate axis vs pad (deg)",
"expected": 0.0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 sole plate slope S (%) along +Y-ward axis",
"expected": 1.899,
"actual": 1.899,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 sole plate centre thickness T",
"expected": 31,
"actual": 31.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 thick end at +Y",
"detail": "",
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 no transverse slope",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 overlap bearing-pad (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 overlap bearing-sole plate (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.2 colours (bearing (0, 0, 0), sole plate (150, 150, 150))",
"detail": "",
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 bearing bottom = EL.'X'",
"expected": 71440,
"actual": 71440.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 bearing height h3",
"expected": 152,
"actual": 152.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 bearing across (B)",
"expected": 600,
"actual": 600.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 bearing along (A)",
"expected": 600,
"actual": 600.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 sole plate across W",
"expected": 820,
"actual": 820.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 sole plate along L",
"expected": 940,
"actual": 940.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 sole plate bottom = bearing top",
"expected": 71592.0,
"actual": 71597.0,
"diff": 5.0,
"tol": 0.01,
"result": "FAIL"
},
{
"check": "C11",
"item": "NO.3 bearing plan centre offset from pad (mm)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 sole plate plan centre offset from pad (mm)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 bearing axis vs pad (deg)",
"expected": 0.0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 sole plate axis vs pad (deg)",
"expected": 0.0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 sole plate slope S (%) along +Y-ward axis",
"expected": 1.896,
"actual": 1.896,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 sole plate centre thickness T",
"expected": 31,
"actual": 31.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 thick end at +Y",
"detail": "",
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 no transverse slope",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 overlap bearing-pad (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 overlap bearing-sole plate (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.3 colours (bearing (0, 0, 0), sole plate (150, 150, 150))",
"detail": "",
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 bearing bottom = EL.'X'",
"expected": 71310,
"actual": 71309.0,
"diff": -1.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 bearing height h3",
"expected": 152,
"actual": 152.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 bearing across (B)",
"expected": 600,
"actual": 600.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 bearing along (A)",
"expected": 600,
"actual": 600.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 sole plate across W",
"expected": 820,
"actual": 820.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 sole plate along L",
"expected": 940,
"actual": 940.0,
"diff": 0.0,
"tol": 0.5,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 sole plate bottom = bearing top",
"expected": 71461.0,
"actual": 71461.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 bearing plan centre offset from pad (mm)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 sole plate plan centre offset from pad (mm)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 bearing axis vs pad (deg)",
"expected": 0.0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 sole plate axis vs pad (deg)",
"expected": 0.0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 sole plate slope S (%) along +Y-ward axis",
"expected": 1.899,
"actual": 1.899,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 sole plate centre thickness T",
"expected": 31,
"actual": 31.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 thick end at +Y",
"detail": "",
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 no transverse slope",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 0.01,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 overlap bearing-pad (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 overlap bearing-sole plate (mm3)",
"expected": 0,
"actual": 0.0,
"diff": 0.0,
"tol": 1.0,
"result": "PASS"
},
{
"check": "C11",
"item": "NO.4 colours (bearing (0, 0, 0), sole plate (150, 150, 150))",
"detail": "",
"result": "PASS"
}
]
}
@@ -0,0 +1,37 @@
{
"G1": {
"decision": "승인",
"by": "심영표",
"note": "일괄 실행 자동 승인",
"at": "2026-10-16 16:37:40",
"inputs_sha": "d701f1270fd40f2c"
},
"G2": {
"decision": "승인",
"by": "심영표",
"note": "일괄 실행 자동 승인",
"at": "2026-10-16 16:37:40",
"inputs_sha": "d701f1270fd40f2c"
},
"G3": {
"decision": "승인",
"by": "심영표",
"note": "일괄 실행 자동 승인",
"at": "2026-10-16 16:37:40",
"inputs_sha": "d701f1270fd40f2c"
},
"G4": {
"decision": "승인",
"by": "심영표",
"note": "일괄 실행 자동 승인",
"at": "2026-10-16 16:37:40",
"inputs_sha": "d701f1270fd40f2c"
},
"G5": {
"decision": "승인",
"by": "심영표",
"note": "일괄 실행 자동 승인",
"at": "2026-10-16 16:37:40",
"inputs_sha": "d701f1270fd40f2c"
}
}
@@ -0,0 +1,21 @@
{
"state": "완료",
"by": "심영표",
"pid": 14152,
"at": "2026-10-16 16:37:40",
"log": [
"G1~G5 단일 세션 실행 (게이트 검사·음성 시험만, 중간 저장·재로드 없음)",
"[batch] one Rhino session: build G1..G5, check G1, G2, G3, G4, G5 (no per-gate save / reload)",
"[G1] PASS checks 104/104 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G2] PASS checks 35/35 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G3] PASS checks 63/63 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G4] PASS checks 129/129 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[G5] PASS checks 75/75 (planned FAIL 0, unplanned 0) negative H/V True/True (batch)",
"[batch] done in 287.4s, objects 2004, model C:\\Users\\User\\Desktop\\바이브코딩\\pier_T\\Code\\교각모델링앱\\data\\산외교울산P1\\runs\\current\\G5.3dm",
"G1 PASS 104/104 (계획 FAIL 0) → 승인",
"G2 PASS 35/35 (계획 FAIL 0) → 승인",
"G3 PASS 63/63 (계획 FAIL 0) → 승인",
"G4 PASS 129/129 (계획 FAIL 0) → 승인",
"G5 PASS 75/75 (계획 FAIL 0) → 승인"
]
}
@@ -0,0 +1,103 @@
[
{
"gate": "G1",
"verdict": "PASS",
"summary": {
"total": 104,
"passed": 104,
"failed": 0,
"volumes_m3": {
"lean": 5.929,
"footing": 140.625,
"column": 110.937,
"coping": 82.231
}
},
"unplanned_fails": [],
"secs": 27.0
},
{
"gate": "G2",
"verdict": "PASS",
"summary": {
"total": 35,
"passed": 35,
"failed": 0,
"min_cover": {
"P1": 109.0,
"P2": 93.0,
"P3": 117.8,
"P4": 93.0,
"P5": 93.0
}
},
"unplanned_fails": [],
"secs": 104.0
},
{
"gate": "G3",
"verdict": "PASS",
"summary": {
"total": 63,
"passed": 63,
"failed": 0,
"cover": {
"B1": 69.5,
"B2": 89.0,
"B3": 89.0,
"B4": 92.0,
"B5": 66.5,
"B6": 89.0,
"B7": 109.5,
"B8": 69.5,
"B9": 92.0,
"B10": 92.0
}
},
"unplanned_fails": [],
"secs": 50.2
},
{
"gate": "G4",
"verdict": "PASS",
"summary": {
"total": 129,
"passed": 129,
"failed": 0,
"cover": {
"C1": 82.5,
"C2": 82.5,
"C3": 82.9,
"C4": 82.9,
"C5": 83.5,
"C6": 83.5,
"C7": 62.5,
"C8": 61.5,
"C9": 62.0,
"C10": 88.5,
"C11": 94.9,
"C12": 88.5,
"C13": 104.2,
"C14": 92.0,
"C15": 87.8,
"S1": 112.6,
"S2": 125.6,
"S3": 90.6,
"S4": 103.6
}
},
"unplanned_fails": [],
"secs": 217.1
},
{
"gate": "G5",
"verdict": "PASS",
"summary": {
"total": 75,
"passed": 75,
"failed": 0
},
"unplanned_fails": [],
"secs": 32.9
}
]
@@ -0,0 +1,11 @@
{
"chapters_missing": [],
"vocab_bad": [],
"finding_rows": 0,
"finding_rows_without_source": 0,
"schedule_rows": 34,
"schedule_marks": 34,
"gate_rows": 5,
"schedule_unread": false,
"ok": true
}
@@ -0,0 +1,150 @@
# 산외교울산P1 교각 모델링 검토보고서 (초안)
> 앱이 게이트 결과·도면 표·승인 기록으로 자동 작성한 **초안**입니다. '오류'·'불일치' 판정과 3~5장의 서술은 담당자가 확인·확정해야 합니다. 작성일 2026-10-14 · 작성 심영표.
## 1. 개요
- 교각: 산외교울산P1 (T형) · 좌표: 로컬(교각 중심 원점, X 교축직각, Y 교축, Z = EL×1000, mm) · 산출: .3dm
- 게이트 진행: 5/5 실행, **전 게이트 PASS·승인**
### 1.1 입력 도면
| 구분 | DWG | SHA-256(앞 16자) |
| :--- | :--- | :--- |
| D1 | 교각배근도(울산P1).dwg | 5805357b67af903e |
### 1.2 게이트 결과
| 게이트 | 내용 | 판정 | 검사 PASS | 승인 | 의견 |
| :--- | :--- | :--- | :--- | :--- | :--- |
| G1 | 형상(콘크리트·말뚝·받침대좌·패드) | PASS | 104/104 | 승인 심영표 2026-10-13 14:30:07 | 일괄 실행 자동 승인 |
| G2 | 기둥 철근 | PASS | 35/35 | 승인 심영표 2026-10-13 14:30:07 | 일괄 실행 자동 승인 |
| G3 | 확대기초 철근 | PASS | 63/63 | 승인 심영표 2026-10-13 14:30:07 | 일괄 실행 자동 승인 |
| G4 | 코핑 철근 | PASS | 129/129 | 승인 심영표 2026-10-13 14:30:07 | 일괄 실행 자동 승인 |
| G5 | 교량받침·솔플레이트 | PASS | 75/75 | 승인 심영표 2026-10-13 14:30:07 | 일괄 실행 자동 승인 |
## 2. 도면 오류·불일치
자동 등재 기준: 승인된 계획 FAIL → '불일치', 계획되지 않은 FAIL과 도면 표 값·입력값 차이 → '확인 필요'.
자동으로 찾은 항목이 없습니다.
## 3. 개선방안
[담당자 작성] 2장 항목별로 도면 수정·설계자 확인 방안을 적습니다.
## 4. 추가되어야 할 사항
[담당자 작성] 도면에 없어 추정·가정으로 모델링한 사항(입력 묶음의 `[추론]` 표기)을 정리합니다.
- 자동 확인: `[추론]` 표기가 있는 입력 묶음 — column_rebar, coping_rebar, footing_rebar, materials
## 5. 누락사항
[담당자 작성] 도면에서 빠진 치수·표·상세를 적습니다.
## 6. 철근재료표 (원본 vs 모델)
원본 = 도면 재료표 판독값(동일 기호 " 해석 포함), 모델 = 게이트 검사의 본수 실측값.
| 마크 | 형식 | 직경 | 재료표 수량 | 재료표 L(mm) | 모델 본수 | 대조 | 근거 |
| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- |
| C1 | IX | H32 | 13 | 13551 | 13 | 일치 | D1 철근재료표 (SD400) C1 |
| C2 | IX | H32 | 13 | 11061 | 13 | 일치 | D1 철근재료표 (SD400) C2 |
| C3 | IX | H32 | 12 | 13551 | 12 | 일치 | D1 철근재료표 (SD400) C3 |
| C4 | IX | H32 | 12 | 11061 | 12 | 일치 | D1 철근재료표 (SD400) C4 |
| C5 | IV | H32 | 7 | 12731 | 7 | 일치 | D1 철근재료표 (SD400) C5 |
| C6 | IV | H32 | 6 | 12731 | 6 | 일치 | D1 철근재료표 (SD400) C6 |
| C7 | II | H22 | 51 | 9190 | 51 | 일치 | D1 철근재료표 (SD400) C7 |
| C8 | II | H22 | 21 | 10666 | 21 | 일치 | D1 철근재료표 (SD400) C8 |
| C9 | II | H22 | 51 | 8931 | 51 | 일치 | D1 철근재료표 (SD400) C9 |
| C10 | III | H22 | 7 | 21711 | 7 | 일치 | D1 철근재료표 (SD400) C10 |
| C11 | VII | H22 | 32 | 7081 | 32 | 일치 | D1 철근재료표 (SD400) C11 |
| C12 | XII | H22 | 6 | 27300 | 6 | 일치 | D1 철근재료표 (SD400) C12 |
| C13 | VIII | H22 | 20 | 10880 | 20 | 일치 | D1 철근재료표 (SD400) C13 |
| C15 | I | H22 | 13 | 5520 | 13 | 일치 | D1 철근재료표 (SD400) C15 |
| P5 | I | H19 | 64 | 2595 | 64 | 일치 | D1 철근재료표 (SD400) P5 |
| C14 | I | H16 | 20 | 3600 | 20 | 일치 | D1 철근재료표 (SD400) C14 |
| P2 | VI | H16 | 70 | 8779 | 70 | 일치 | D1 철근재료표 (SD400) P2 |
| P3 | V | H16 | 12 | 7219 | 12 | 일치 | D1 철근재료표 (SD400) P3 |
| P4 | X | H16 | 25 | 7219 | 25 | 일치 | D1 철근재료표 (SD400) P4 |
| B7 | I | H13 | 98 | 2418 | 98 | 일치 | D1 철근재료표 (SD400) B7 |
| S1 | I | H13 | 22 | 2600 | 22 | 일치 | D1 철근재료표 (SD400) S1 |
| S2 | I | H13 | 22 | 2600 | 22 | 일치 | D1 철근재료표 (SD400) S2 |
| S3 | I | H13 | 22 | 2600 | 22 | 일치 | D1 철근재료표 (SD400) S3 |
| S4 | I | H13 | 22 | 2600 | 22 | 일치 | D1 철근재료표 (SD400) S4 |
| P1 | VI | H32 | 68 | 28545 | 68 | 일치 | D1 철근재료표 (SD500) P1 |
| B2 | IV | H22 | 31 | 12800 | 31 | 일치 | D1 철근재료표 (SD500) B2 |
| B3 | I | H22 | 28 | 7300 | 28 | 일치 | D1 철근재료표 (SD500) B3 |
| B5 | IV | H22 | 31 | 12800 | 31 | 일치 | D1 철근재료표 (SD500) B5 |
| B6 | I | H22 | 28 | 7300 | 28 | 일치 | D1 철근재료표 (SD500) B6 |
| B1 | I | H16 | 31 | 7300 | 31 | 일치 | D1 철근재료표 (SD500) B1 |
| B4 | I | H16 | 31 | 7300 | 31 | 일치 | D1 철근재료표 (SD500) B4 |
| B8 | V | H16 | 7 | 31581 | 7 | 일치 | D1 철근재료표 (SD500) B8 |
| B9 | III | H16 | 7 | 7500 | 7 | 일치 | D1 철근재료표 (SD500) B9 |
| B10 | III | H16 | 7 | 7500 | 7 | 일치 | D1 철근재료표 (SD500) B10 |
## 7. 철근상세 (기록)
원길이·곡선길이·피복은 판정이 아닌 기록 값입니다(요구사항 §6.2).
### 7.1 기둥 (G2)
| 항목 | 값 |
| :--- | :--- |
| P1 curve length - L (record) | min -0.9 / max -0.9 mm |
| P2 curve length - L (record) | min -252.3 / max -252.3 mm |
| P3 curve length - L (record) | min 0.4 / max 0.4 mm |
| P4 curve length - L (record) | min 0.4 / max 0.4 mm |
| P5 curve length - L (record) | min -36.7 / max -36.7 mm |
| concrete union for cover | 1 brep |
| min cover to concrete surface per mark (record) | {"P1": 109.0, "P2": 93.0, "P3": 117.8, "P4": 93.0, "P5": 93.0} |
### 7.2 확대기초 (G3)
| 항목 | 값 |
| :--- | :--- |
| B1 curve length - L (bend fillets / laps) | min 0.0 / max 0.0 |
| B2 curve length - L (bend fillets / laps) | min -1042.5 / max -1042.5 |
| B3 curve length - L (bend fillets / laps) | min 0.0 / max 0.0 |
| B4 curve length - L (bend fillets / laps) | min 0.0 / max 0.0 |
| B5 curve length - L (bend fillets / laps) | min -1042.5 / max -1042.5 |
| B6 curve length - L (bend fillets / laps) | min 0.0 / max 0.0 |
| B7 curve length - L (bend fillets / laps) | min -16.7 / max -16.7 |
| B8 curve length - L (bend fillets / laps) | min -2242.2 / max -2242.2 |
| B9 curve length - L (bend fillets / laps) | min -20.6 / max -20.6 |
| B10 curve length - L (bend fillets / laps) | min -20.6 / max -20.6 |
| min cover to footing surface per mark (record; top face under the column counted) | {"B1": 69.5, "B2": 89.0, "B3": 89.0, "B4": 92.0, "B5": 66.5, "B6": 89.0, "B7": 109.5, "B8": 69.5, "B9": 92.0, "B10": 92.0} |
### 7.3 코핑 (G4)
| 항목 | 값 |
| :--- | :--- |
| C7 mean original length vs L (variable mark, record) | mean 9162.8 / L 9190 (diff -27.2); min 6645 max 11640 |
| C8 mean original length vs L (variable mark, record) | mean 10648.0 / L 10666 (diff -18.0); min 10037 max 11796 |
| C9 mean original length vs L (variable mark, record) | mean 8904.2 / L 8931 (diff -26.8); min 6394 max 11381 |
| C10 mean original length vs L (variable mark, record) | mean 20828.4 / L 21711 (diff -882.6); min 15534 max 26122 |
| C11 mean original length vs L (variable mark, record) | mean 7081.4 / L 7081 (diff +0.4); min 3993 max 10170 |
| C12 mean original length vs L (variable mark, record) | mean 27283.1 / L 27300 (diff -16.9); min 26993 max 27607 |
| C13 mean original length vs L (variable mark, record) | mean 10880.0 / L 10880 (diff -0.0); min 10726 max 11034 |
| min cover to coping surface per mark (record; seat bars measured to the coping only) | {"C1": 82.5, "C2": 82.5, "C3": 82.9, "C4": 82.9, "C5": 83.5, "C6": 83.5, "C7": 62.5, "C8": 61.5, "C9": 62.0, "C10": 88.5, "C11": 94.9, "C12": 88.5, "C13": 104.2, "C14": 92.0, "C15": 87.8, "S1": 112.6, "S2": 125.6, "S3": 90.6, "S4": 103.6} |
## 8. 검증 방법
- 검사기는 생성 입력(params)이 아니라 도면 문자·표에서 옮긴 독립 기대값(expected)만 읽습니다.
- 게이트마다 G1부터 새로 생성 → 저장 파일을 다시 열어 검사(재로드) → 객체를 수평·수직으로 옮겨 FAIL이 나는지 확인(음성 시험) → 앞 게이트 객체 지문 비교.
- 일괄 실행(단일 Rhino 세션)으로 검사한 게이트는 중간 저장·재로드와 앞 게이트 비교를 하지 않으며, 표에 '생략(일괄 실행)'으로 적습니다. 모델은 마지막 G5만 저장합니다.
| 게이트 | 재로드 | 음성 시험 | 앞 게이트 객체 |
| :--- | :--- | :--- | :--- |
| G1 | 생략(일괄 실행) | 수평 검출 / 수직 검출 | 생략(일괄 실행) |
| G2 | 생략(일괄 실행) | 수평 검출 / 수직 검출 | 생략(일괄 실행) |
| G3 | 생략(일괄 실행) | 수평 검출 / 수직 검출 | 생략(일괄 실행) |
| G4 | 생략(일괄 실행) | 수평 검출 / 수직 검출 | 생략(일괄 실행) |
| G5 | 생략(일괄 실행) | 수평 검출 / 수직 검출 | 생략(일괄 실행) |
## 변경 이력
| 버전 | 일자 | 내용 |
| :--- | :--- | :--- |
| v0.1.00 | 2026-10-14 | 앱 자동 생성 초안 |
@@ -0,0 +1,185 @@
# 산외교울산P1 교각 모델링 검토보고서 (초안)
> 앱이 게이트 결과·도면 표·승인 기록으로 자동 작성한 **초안**입니다. '오류'·'불일치' 판정과 3~5장의 서술은 담당자가 확인·확정해야 합니다. 작성일 2026-10-19 · 작성 심영표.
## 1. 개요
- 교각: 산외교울산P1 (T형) · 좌표: 로컬(교각 중심 원점, X 교축직각, Y 교축, Z = EL×1000, mm) · 산출: .3dm
- 게이트 진행: 5/5 실행, **전 게이트 PASS·승인**
### 1.1 입력 도면
| 구분 | DWG | SHA-256(앞 16자) |
| :--- | :--- | :--- |
| D1 | 교각배근도(울산P1).dwg | 5805357b67af903e |
### 1.2 게이트 결과
| 게이트 | 내용 | 판정 | 검사 PASS | 승인 | 의견 |
| :--- | :--- | :--- | :--- | :--- | :--- |
| G1 | 형상(콘크리트·말뚝·받침대좌·패드) | PASS | 104/104 | 승인 심영표 2026-10-16 16:37:40 | 일괄 실행 자동 승인 |
| G2 | 기둥 철근 | PASS | 35/35 | 승인 심영표 2026-10-16 16:37:40 | 일괄 실행 자동 승인 |
| G3 | 확대기초 철근 | PASS | 63/63 | 승인 심영표 2026-10-16 16:37:40 | 일괄 실행 자동 승인 |
| G4 | 코핑 철근 | PASS | 129/129 | 승인 심영표 2026-10-16 16:37:40 | 일괄 실행 자동 승인 |
| G5 | 교량받침·솔플레이트 | PASS | 75/75 | 승인 심영표 2026-10-16 16:37:40 | 일괄 실행 자동 승인 |
## 2. 도면 오류·불일치
자동 등재 기준: 승인된 계획 FAIL → '불일치', 계획되지 않은 FAIL과 도면 표 값·입력값 차이 → '확인 필요'.
자동으로 찾은 항목이 없습니다.
## 3. 개선방안
[담당자 작성] 2장 항목별로 도면 수정·설계자 확인 방안을 적습니다.
## 4. 추가되어야 할 사항
[담당자 작성] 도면에 없어 추정·가정으로 모델링한 사항(입력 묶음의 `[추론]` 표기)을 정리합니다.
- 자동 확인: `[추론]` 표기가 있는 입력 묶음 — column_rebar, coping_rebar, footing_rebar, materials
## 5. 누락사항
[담당자 작성] 도면에서 빠진 치수·표·상세를 적습니다.
## 6. 철근재료표 (원본 vs 모델)
원본 = 도면 재료표 판독값(동일 기호 " 해석 포함), 모델 = 게이트 검사의 본수 실측값.
| 마크 | 형식 | 직경 | 재료표 수량 | 재료표 L(mm) | 모델 본수 | 대조 | 근거 |
| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- |
| C1 | IX | H32 | 13 | 13551 | 13 | 일치 | D1 철근재료표 (SD400) C1 |
| C2 | IX | H32 | 13 | 11061 | 13 | 일치 | D1 철근재료표 (SD400) C2 |
| C3 | IX | H32 | 12 | 13551 | 12 | 일치 | D1 철근재료표 (SD400) C3 |
| C4 | IX | H32 | 12 | 11061 | 12 | 일치 | D1 철근재료표 (SD400) C4 |
| C5 | IV | H32 | 7 | 12731 | 7 | 일치 | D1 철근재료표 (SD400) C5 |
| C6 | IV | H32 | 6 | 12731 | 6 | 일치 | D1 철근재료표 (SD400) C6 |
| C7 | II | H22 | 51 | 9190 | 51 | 일치 | D1 철근재료표 (SD400) C7 |
| C8 | II | H22 | 21 | 10666 | 21 | 일치 | D1 철근재료표 (SD400) C8 |
| C9 | II | H22 | 51 | 8931 | 51 | 일치 | D1 철근재료표 (SD400) C9 |
| C10 | III | H22 | 7 | 21711 | 7 | 일치 | D1 철근재료표 (SD400) C10 |
| C11 | VII | H22 | 32 | 7081 | 32 | 일치 | D1 철근재료표 (SD400) C11 |
| C12 | XII | H22 | 6 | 27300 | 6 | 일치 | D1 철근재료표 (SD400) C12 |
| C13 | VIII | H22 | 20 | 10880 | 20 | 일치 | D1 철근재료표 (SD400) C13 |
| C15 | I | H22 | 13 | 5520 | 13 | 일치 | D1 철근재료표 (SD400) C15 |
| P5 | I | H19 | 64 | 2595 | 64 | 일치 | D1 철근재료표 (SD400) P5 |
| C14 | I | H16 | 20 | 3600 | 20 | 일치 | D1 철근재료표 (SD400) C14 |
| P2 | VI | H16 | 70 | 8779 | 70 | 일치 | D1 철근재료표 (SD400) P2 |
| P3 | V | H16 | 12 | 7219 | 12 | 일치 | D1 철근재료표 (SD400) P3 |
| P4 | X | H16 | 25 | 7219 | 25 | 일치 | D1 철근재료표 (SD400) P4 |
| B7 | I | H13 | 98 | 2418 | 98 | 일치 | D1 철근재료표 (SD400) B7 |
| S1 | I | H13 | 22 | 2600 | 22 | 일치 | D1 철근재료표 (SD400) S1 |
| S2 | I | H13 | 22 | 2600 | 22 | 일치 | D1 철근재료표 (SD400) S2 |
| S3 | I | H13 | 22 | 2600 | 22 | 일치 | D1 철근재료표 (SD400) S3 |
| S4 | I | H13 | 22 | 2600 | 22 | 일치 | D1 철근재료표 (SD400) S4 |
| P1 | VI | H32 | 68 | 28545 | 68 | 일치 | D1 철근재료표 (SD500) P1 |
| B2 | IV | H22 | 31 | 12800 | 31 | 일치 | D1 철근재료표 (SD500) B2 |
| B3 | I | H22 | 28 | 7300 | 28 | 일치 | D1 철근재료표 (SD500) B3 |
| B5 | IV | H22 | 31 | 12800 | 31 | 일치 | D1 철근재료표 (SD500) B5 |
| B6 | I | H22 | 28 | 7300 | 28 | 일치 | D1 철근재료표 (SD500) B6 |
| B1 | I | H16 | 31 | 7300 | 31 | 일치 | D1 철근재료표 (SD500) B1 |
| B4 | I | H16 | 31 | 7300 | 31 | 일치 | D1 철근재료표 (SD500) B4 |
| B8 | V | H16 | 7 | 31581 | 7 | 일치 | D1 철근재료표 (SD500) B8 |
| B9 | III | H16 | 7 | 7500 | 7 | 일치 | D1 철근재료표 (SD500) B9 |
| B10 | III | H16 | 7 | 7500 | 7 | 일치 | D1 철근재료표 (SD500) B10 |
## 7. 철근상세 (기록)
원길이·곡선길이·피복은 판정이 아닌 기록 값입니다(요구사항 §6.2).
### 7.1 기둥 (G2)
| 항목 | 값 |
| :--- | :--- |
| P1 curve length - L (record) | min -0.9 / max -0.9 mm |
| P2 curve length - L (record) | min -252.3 / max -252.3 mm |
| P3 curve length - L (record) | min 0.4 / max 0.4 mm |
| P4 curve length - L (record) | min 0.4 / max 0.4 mm |
| P5 curve length - L (record) | min -36.7 / max -36.7 mm |
| concrete union for cover | 1 brep |
| min cover to concrete surface per mark (record) | {"P1": 109.0, "P2": 93.0, "P3": 117.8, "P4": 93.0, "P5": 93.0} |
### 7.2 확대기초 (G3)
| 항목 | 값 |
| :--- | :--- |
| B1 curve length - L (bend fillets / laps) | min 0.0 / max 0.0 |
| B2 curve length - L (bend fillets / laps) | min -1042.5 / max -1042.5 |
| B3 curve length - L (bend fillets / laps) | min 0.0 / max 0.0 |
| B4 curve length - L (bend fillets / laps) | min 0.0 / max 0.0 |
| B5 curve length - L (bend fillets / laps) | min -1042.5 / max -1042.5 |
| B6 curve length - L (bend fillets / laps) | min 0.0 / max 0.0 |
| B7 curve length - L (bend fillets / laps) | min -16.7 / max -16.7 |
| B8 curve length - L (bend fillets / laps) | min -2242.2 / max -2242.2 |
| B9 curve length - L (bend fillets / laps) | min -20.6 / max -20.6 |
| B10 curve length - L (bend fillets / laps) | min -20.6 / max -20.6 |
| min cover to footing surface per mark (record; top face under the column counted) | {"B1": 69.5, "B2": 89.0, "B3": 89.0, "B4": 92.0, "B5": 66.5, "B6": 89.0, "B7": 109.5, "B8": 69.5, "B9": 92.0, "B10": 92.0} |
### 7.3 코핑 (G4)
| 항목 | 값 |
| :--- | :--- |
| C7 mean original length vs L (variable mark, record) | mean 9162.8 / L 9190 (diff -27.2); min 6645 max 11640 |
| C8 mean original length vs L (variable mark, record) | mean 10648.0 / L 10666 (diff -18.0); min 10037 max 11796 |
| C9 mean original length vs L (variable mark, record) | mean 8904.2 / L 8931 (diff -26.8); min 6394 max 11381 |
| C10 mean original length vs L (variable mark, record) | mean 20828.4 / L 21711 (diff -882.6); min 15534 max 26122 |
| C11 mean original length vs L (variable mark, record) | mean 7081.4 / L 7081 (diff +0.4); min 3993 max 10170 |
| C12 mean original length vs L (variable mark, record) | mean 27283.1 / L 27300 (diff -16.9); min 26993 max 27607 |
| C13 mean original length vs L (variable mark, record) | mean 10880.0 / L 10880 (diff -0.0); min 10726 max 11034 |
| min cover to coping surface per mark (record; seat bars measured to the coping only) | {"C1": 82.5, "C2": 82.5, "C3": 82.9, "C4": 82.9, "C5": 83.5, "C6": 83.5, "C7": 62.5, "C8": 61.5, "C9": 62.0, "C10": 88.5, "C11": 94.9, "C12": 88.5, "C13": 104.2, "C14": 92.0, "C15": 87.8, "S1": 112.6, "S2": 125.6, "S3": 90.6, "S4": 103.6} |
## 8. 검증 방법
- 검사기는 생성 입력(params)이 아니라 도면 문자·표에서 옮긴 독립 기대값(expected)만 읽습니다.
- 게이트마다 G1부터 새로 생성 → 저장 파일을 다시 열어 검사(재로드) → 객체를 수평·수직으로 옮겨 FAIL이 나는지 확인(음성 시험) → 앞 게이트 객체 지문 비교.
- 일괄 실행(단일 Rhino 세션)으로 검사한 게이트는 중간 저장·재로드와 앞 게이트 비교를 하지 않으며, 표에 '생략(일괄 실행)'으로 적습니다. 모델은 마지막 G5만 저장합니다.
| 게이트 | 재로드 | 음성 시험 | 앞 게이트 객체 |
| :--- | :--- | :--- | :--- |
| G1 | 생략(일괄 실행) | 수평 검출 / 수직 검출 | 생략(일괄 실행) |
| G2 | 생략(일괄 실행) | 수평 검출 / 수직 검출 | 생략(일괄 실행) |
| G3 | 생략(일괄 실행) | 수평 검출 / 수직 검출 | 생략(일괄 실행) |
| G4 | 생략(일괄 실행) | 수평 검출 / 수직 검출 | 생략(일괄 실행) |
| G5 | 생략(일괄 실행) | 수평 검출 / 수직 검출 | 생략(일괄 실행) |
### 8.1 입력 묶음 앱 확인 결과 요약
- 앱 확인(검사 버전 B1, 2026-10-19 09:28:47): 일치 12 · 주의 4 · 불일치 0 · 근거 없음 7 · 해당 없음 8 (전체 묶음 31개).
- 앱 확인은 도면 표·재료표 수량·고정 항목을 앱이 대조한 결과입니다. '일치'는 독립 근거와 값이 같다는 뜻이며 도면이 맞다는 보증이 아닙니다. 확정은 사람이 했고, 앱 확인이 일치가 아닌 묶음은 사유가 기록되어 있습니다.
| 묶음 | 앱 확인 | 근거 | 사람 확정 |
| :--- | :--- | :--- | :--- |
| expected:G1 | 일치 | C2 표 후보 4건이 현재 값과 모두 같다 | 심영표 2026-10-13 14:25:06 |
| expected:G2 | 일치 | C2 표 후보 10건이 현재 값과 모두 같다 | 심영표 2026-10-13 14:25:06 |
| expected:G3 | 일치 | C2 표 후보 10건이 현재 값과 모두 같다 | 심영표 2026-10-13 14:25:06 |
| expected:G5 | 일치 | C2 표 후보 24건이 현재 값과 모두 같다 | 심영표 2026-10-13 14:25:06 |
| expected:checkers | 일치 | C7 템플릿 복사 기록은 없지만 보호 템플릿 2종(산외교울산P1형, 산외교울산P2형)과 같은 값이다 | 심영표 2026-10-16 16:32:46 |
| expected:negative | 일치 | C7 템플릿 복사 기록은 없지만 보호 템플릿 2종(산외교울산P1형, 산외교울산P2형)과 같은 값이다 | 심영표 2026-10-16 16:32:46 |
| params:bearing_seats | 일치 | C2 표 후보 20건이 현재 값과 모두 같다 | 심영표 2026-10-13 14:25:06 |
| params:builders | 일치 | C7 템플릿 복사 기록은 없지만 보호 템플릿 2종(산외교울산P1형, 산외교울산P2형)과 같은 값이다 | 심영표 2026-10-16 16:32:46 |
| params:display | 일치 | C7 템플릿 복사 기록은 없지만 보호 템플릿 4종(산외교울산P1형, 산외교울산P2형, 새재1교P1형)과 같은 값이다 | 심영표 2026-10-13 14:25:06 |
| params:rebar_marks | 일치 | C2 표 후보 34건이 현재 값과 모두 같다 | 심영표 2026-10-13 14:25:06 |
| params:scope | 일치 | C7 템플릿 복사 기록은 없지만 보호 템플릿 5종(Ramp-A교P1형, 산외교울산P1형, 산외교울산P2형)과 같은 값이다 | 심영표 2026-10-16 16:32:46 |
| params:sole_plates | 일치 | C2 표 후보 20건이 현재 값과 모두 같다 | 심영표 2026-10-13 14:25:06 |
| expected:G4 | 주의 | C4 생성 목록 수량 19건이 재료표 수량과 같다 (위치·좌표는 확인하지 않음) — 수량만 확인, 위치·좌표는 도면과 직접 대조 | 심영표 2026-10-13 14:25:06 |
| params:column_rebar | 주의 | C4 생성 목록 수량 5건이 재료표 수량과 같다 (위치·좌표는 확인하지 않음) — 수량만 확인, 위치·좌표는 도면과 직접 대조 | 심영표 2026-10-13 14:25:06 |
| params:coping_rebar | 주의 | C4 생성 목록 수량 19건이 재료표 수량과 같다 (위치·좌표는 확인하지 않음) — 수량만 확인, 위치·좌표는 도면과 직접 대조 | 심영표 2026-10-13 14:25:06 |
| params:footing_rebar | 주의 | C4 생성 목록 수량 10건이 재료표 수량과 같다 (위치·좌표는 확인하지 않음) — 수량만 확인, 위치·좌표는 도면과 직접 대조 | 심영표 2026-10-13 14:25:06 |
| expected:pier_id | 근거 없음 | 앱이 독립적으로 대조할 근거가 없다 — 도면과 직접 대조한 뒤 사유와 함께 확정 | 심영표 2026-10-13 14:25:06 |
| params:column | 근거 없음 | 앱이 독립적으로 대조할 근거가 없다 — 도면과 직접 대조한 뒤 사유와 함께 확정 | 심영표 2026-10-13 14:25:06 |
| params:coping | 근거 없음 | 앱이 독립적으로 대조할 근거가 없다 — 도면과 직접 대조한 뒤 사유와 함께 확정 | 심영표 2026-10-13 14:25:06 |
| params:footing | 근거 없음 | 앱이 독립적으로 대조할 근거가 없다 — 도면과 직접 대조한 뒤 사유와 함께 확정 | 심영표 2026-10-13 14:25:06 |
| params:lean_concrete | 근거 없음 | 앱이 독립적으로 대조할 근거가 없다 — 도면과 직접 대조한 뒤 사유와 함께 확정 | 심영표 2026-10-13 14:25:06 |
| params:materials | 근거 없음 | 앱이 독립적으로 대조할 근거가 없다 — 도면과 직접 대조한 뒤 사유와 함께 확정 | 심영표 2026-10-13 14:25:06 |
| params:pier_id | 근거 없음 | 앱이 독립적으로 대조할 근거가 없다 — 도면과 직접 대조한 뒤 사유와 함께 확정 | 심영표 2026-10-13 14:25:06 |
| expected:planned_fail | 해당 없음 | 사람 결정 기록 또는 참고 정보 — 앱이 도면과 대조하지 않는다 | 심영표 2026-10-13 14:25:06 |
| expected:rebar_palette | 해당 없음 | 사람 결정 기록 또는 참고 정보 — 앱이 도면과 대조하지 않는다 | 심영표 2026-10-13 14:25:06 |
| expected:tol_mm | 해당 없음 | 사람 결정 기록 또는 참고 정보 — 앱이 도면과 대조하지 않는다 | 심영표 2026-10-13 14:25:06 |
| params:rebar_marks_src | 해당 없음 | 참고 정보 | 미확정 |
## 변경 이력
| 버전 | 일자 | 내용 |
| :--- | :--- | :--- |
| v0.1.00 | 2026-10-19 | 앱 자동 생성 초안 |