Files
Aislo/common_util/common_util_structure_parts.json
T
eomsangdonandClaude Opus 5.5 bbd6254892 feat(구조물표): 322-1 부품 상자 · 표 읽기 — 목록 · 측점 · 카드 이름 · 형상 고르기 · 3D 몸체 · 알약 띠가 종류 키 · 군 글자 · 자리꼴 · managed_by 대신 구조물 표(catalog) 한 줄을 읽음 · 코드 숨김 목록 걷음 · ★ 넷 + 관 공식 한 벌
- 부품 상자 common_util_structure_parts.json(갈래마다 부품 · 읽는 칸 · 자리꼴 · 정본 · 42종 처음값) · 표 읽기 common_util_structure_catalog.ts / .py 짝(정의 반영 ⊕ 처음값 ⊕ 부품 끔) · 거울 시험 test_322_1_catalog_mirror
- 목록: pickGroups 군 차례 = 구조물군 열쇠 · 페이지 거르기 listPick(B05 both · B06 both + b06) · HIDDEN_PICK_GROUPS · HIDDEN_PICK_TYPES · pickable 걷음(옛 대피 셋 asRoad 그대로)
- 측점: structureStationMarks · pipeStationMarks · is_station_planting_type · resolve_extra_stations = 표 횡단도(anchor · span3 · none)
- 카드 이름: cardTitle / card_title 한 공식(빈칸 = 그 종류 정의 기본값) · 표시 이름이 정의 관종도 앎
- 형상: 벽 = shape wall(형태 = 형상칸.form · 물빼기 = 형상칸.weep) · 포장 = shape pavement(「사용 중」 거르기 없앰) · 맹암거 · 사토 · 관 지점 시설 세트 = shape
- 3D 몸체 = 그림 자료 주인 종류의 표 3D 부품 · 알약 띠 = 표 자리꼴 구간(관 지점 시설은 알약만)
- ★1 노출형 · 개거 횡단도 none · ★2 쇄석 화면에서도 포장층 · ★3 기슭막이 표 자리꼴 interval(정의 파일 그대로) · ★4 코드 숨김 10종 list hidden · ★5 관 빈칸 D800 → 정의 기본 D1000
- 옛 시험: 도움 파일 로더 27개가 표 모듈 공용 한 벌(helper_322_catalog_module) 씀 · 기대값 고침(272_1 · b05_extra_stations · roundtrip · 314 · 52_7 · walls 거울 · wall_drain_pipe)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ji4nuyLVHcxrXWHTdb5nRD
2026-10-14 15:09:45 +09:00

486 lines
12 KiB
JSON

{
"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" }
}
}