{ "comment": "구조물 부품 상자(PLAN 322-1) — 코드가 그리는 방법 한 벌. TS(import) · 파이썬(json.load)이 같은 파일을 읽음. parts = 갈래(횡단도 · 카드이름 · 형상 · 3D)마다 부품 id → {이름 · 읽는 칸(옵션 키) · 자리꼴 · 정본}. 처음값 = 종류마다 정의 `반영` 이 없을 때 쓰는 값(지금 동작 · ★ = PLAN_구조물표 4장). 표 읽기 = common_util_structure_catalog.ts · .py(짝).", "parts": { "횡단도": { "anchor": { "이름": "기준 한 장", "읽는 칸": [], "자리꼴": ["point", "interval", "site"], "정본": ["pipe_points", "structures"] }, "span3": { "이름": "시작 · 기준 · 끝", "읽는 칸": ["length_m", "before_m", "after_m"], "자리꼴": ["interval"], "정본": ["pipe_points", "structures"] } }, "카드이름": { "pipe": { "이름": "관종 D관경", "읽는 칸": ["pipe_kind", "pipe_diameter_mm"], "자리꼴": ["point"], "정본": ["pipe_points"] } }, "형상": { "pipe_set": { "이름": "배관 세트(관 · 유입 · 유출 · 흙막이 · 도수로)", "읽는 칸": [ "pipe_kind", "pipe_diameter_mm", "revet_foundation", "inlet_type", "inlet_revet_form", "inlet_revet_length_m", "inlet_revet_before_m", "inlet_revet_after_m", "inlet_revet_height_m", "inlet_basin_length_m", "inlet_basin_before_m", "inlet_basin_after_m", "inlet_basin_height_m", "outlet_type", "outlet_revet_form", "outlet_revet_length_m", "outlet_revet_before_m", "outlet_revet_after_m", "outlet_revet_height_m" ], "자리꼴": ["point"], "정본": ["pipe_points"] }, "box": { "이름": "BOX 본체 · 날개벽", "읽는 칸": [ "body_width_m", "body_height_m", "wall_thickness_m", "slab_thickness_m", "wing_in", "wing_in_height_m", "wing_in_length_m", "wing_in_angle_deg", "wing_out", "wing_out_height_m", "wing_out_length_m", "wing_out_angle_deg" ], "자리꼴": ["point"], "정본": ["pipe_points"] }, "ford": { "이름": "세월교(관 · 월류 · 날개벽)", "읽는 칸": [ "pipe_kind", "pipe_diameter_mm", "pipe_count", "ford_width_m", "ford_height_m", "wing_in", "wing_in_height_m", "wing_in_length_m", "wing_in_angle_deg", "wing_out", "wing_out_height_m", "wing_out_length_m", "wing_out_angle_deg" ], "자리꼴": ["point"], "정본": ["pipe_points"] }, "ford_pavement": { "이름": "물넘이 포장(파인 노면 · 도수로)", "읽는 칸": ["ford_width_m", "ford_height_m", "ford_slope_deg", "ford_slope_pct"], "자리꼴": ["point"], "정본": ["pipe_points"] }, "hidden_revet": { "이름": "독립 기슭막이(관 숨김 벽)", "읽는 칸": [ "form", "height_m", "length_m", "before_m", "after_m", "tiers", "side", "foundation", "face_role", "face_slope_ratio" ], "자리꼴": ["interval"], "정본": ["pipe_points"] }, "wall": { "이름": "벽(옹벽 · 흙막이 · 돌쌓기)", "읽는 칸": [ "form", "height_m", "side", "foundation", "tiers", "lift_m", "shift_m", "face_role", "face_slope_ratio" ], "자리꼴": ["interval"], "정본": ["structures"] }, "berm": { "이름": "소단(사면 계단)", "읽는 칸": ["width_m", "interval_m", "slope_deg", "depth_m"], "자리꼴": ["interval"], "정본": ["structures"] }, "underdrain": { "이름": "맹암거", "읽는 칸": ["culvert_height_m", "culvert_slope_pct"], "자리꼴": ["point"], "정본": ["structures"] }, "pavement": { "이름": "포장층", "읽는 칸": ["pave_spec", "height_m", "widening_off"], "자리꼴": ["interval"], "정본": ["structures"] }, "spoil": { "이름": "사토(성토 채움)", "읽는 칸": ["capacity_m3"], "자리꼴": ["site"], "정본": ["structures"] } }, "3D": { "pipe": { "이름": "관 · 유입 · 유출 벽", "읽는 칸": [], "자리꼴": ["point"], "정본": ["pipe_points"] }, "box": { "이름": "BOX 본체 · 날개벽", "읽는 칸": [], "자리꼴": ["point"], "정본": ["pipe_points"] }, "ford": { "이름": "세월교 몸체 · 관", "읽는 칸": [], "자리꼴": ["point"], "정본": ["pipe_points"] }, "chute": { "이름": "물넘이 도수로 띠", "읽는 칸": [], "자리꼴": ["point"], "정본": ["pipe_points"] }, "wall": { "이름": "벽 스윕", "읽는 칸": [], "자리꼴": ["interval"], "정본": ["pipe_points", "structures"] }, "surface": { "이름": "설계선만(몸체 없음)", "읽는 칸": [], "자리꼴": ["point", "interval", "site"], "정본": ["pipe_points", "structures"] } } }, "처음값": { "pipe": { "목록": "both", "횡단도": "anchor", "카드이름": "pipe", "형상": "pipe_set", "3D": "pipe" }, "box_culvert": { "목록": "both", "횡단도": "anchor", "카드이름": "name", "형상": "box", "3D": "box" }, "ford_pavement": { "목록": "both", "횡단도": "anchor", "카드이름": "name", "형상": "ford_pavement", "3D": "chute" }, "ford_bridge": { "목록": "both", "횡단도": "anchor", "카드이름": "name", "형상": "ford", "3D": "ford" }, "cross_drain_exposed": { "목록": "both", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "open_ditch": { "목록": "both", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "cross_underdrain": { "목록": "both", "횡단도": "anchor", "카드이름": "name", "형상": "underdrain", "3D": "surface" }, "ditch_side": { "목록": "hidden", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "ditch_ridge": { "목록": "hidden", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "ditch_berm": { "목록": "hidden", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "chute": { "목록": "hidden", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "slope_drain": { "목록": "hidden", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "underdrain": { "목록": "hidden", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "retaining_wall": { "목록": "both", "횡단도": "span3", "카드이름": "name", "형상": "wall", "형상칸": { "form": "콘크리트", "weep": true }, "3D": "wall" }, "masonry_wet": { "목록": "hidden", "횡단도": "span3", "카드이름": "name", "형상": "wall", "형상칸": { "form": "돌쌓기(찰)" }, "3D": "wall" }, "masonry_dry": { "목록": "hidden", "횡단도": "span3", "카드이름": "name", "형상": "wall", "형상칸": { "form": "돌쌓기(메)" }, "3D": "wall" }, "soil_guard": { "목록": "both", "횡단도": "span3", "카드이름": "name", "형상": "wall", "형상칸": { "form": "통나무·목재틀" }, "3D": "wall" }, "boulder_masonry": { "목록": "hidden", "횡단도": "span3", "카드이름": "name", "형상": "wall", "형상칸": { "form": "돌쌓기(메)" }, "3D": "wall" }, "berm": { "목록": "both", "횡단도": "span3", "카드이름": "name", "형상": "berm", "3D": "surface" }, "erosion_check": { "목록": "hidden", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "bed_sill": { "목록": "hidden", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "check_dam_small": { "목록": "hidden", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "revetment": { "목록": "hidden", "횡단도": "span3", "카드이름": "name", "형상": "hidden_revet", "3D": "wall", "자리꼴": "interval" }, "evac_road": { "목록": "both", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "refuge": { "목록": "hidden", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "work_yard": { "목록": "hidden", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "turnaround": { "목록": "hidden", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "mirror": { "목록": "both", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "curb": { "목록": "both", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "hazard_sign": { "목록": "both", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "guardrail": { "목록": "both", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "position_sign": { "목록": "both", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "water_intake": { "목록": "both", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "barrier_gate": { "목록": "both", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "completion_sign": { "목록": "both", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "spoil_bank": { "목록": "both", "횡단도": "none", "카드이름": "name", "형상": "spoil", "3D": "surface" }, "borrow_pit": { "목록": "both", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "wildlife_path": { "목록": "b06", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "revegetation": { "목록": "b06", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" }, "pavement_concrete": { "목록": "both", "횡단도": "none", "카드이름": "name", "형상": "pavement", "3D": "surface" }, "gravel_surfacing": { "목록": "b06", "횡단도": "none", "카드이름": "name", "형상": "pavement", "3D": "surface" }, "etc": { "목록": "both", "횡단도": "none", "카드이름": "name", "형상": "none", "3D": "none" } } }