#!/usr/bin/env bash # make_model.sh — DWG 한 장에서 추출 모델까지 한 번에 만든다 (SPEC 28장) # 사용: bash tools/make_model.sh [입력.dwg] [출력 폴더] # 기본: 입력 private/drawing.dwg, 출력 private/ # 만드는 것: full.dxf(전체 DXF) → drawing.dxf(상자 안만) → drawing_gen.svg(웹 도면) → model_extracted.js # 출력 폴더가 private/ 이면 리포 루트의 model_extracted.js 도 새로 쓴다. set -eu ROOT="$(cd "$(dirname "$0")/.." && pwd)" IN="${1:-$ROOT/private/drawing.dwg}" OUT="${2:-$ROOT/private}" if [ ! -f "$IN" ]; then echo "입력 DWG 가 없다: $IN" exit 2 fi mkdir -p "$OUT" OUT="$(cd "$OUT" && pwd)" bash "$ROOT/tools/dwg_to_dxf.sh" "$IN" "$OUT/full.dxf" python3 "$ROOT/tools/select_views.py" "$OUT/full.dxf" "$ROOT/tools/views.json" "$OUT/drawing.dxf" python3 "$ROOT/tools/dxf_to_svg.py" "$OUT/drawing.dxf" "$ROOT/tools/views.json" "$OUT/drawing_gen.svg" python3 "$ROOT/tools/extract_from_dxf.py" "$OUT/drawing.dxf" "$OUT/model_extracted.js" "$ROOT/tools/views.json" if [ "$OUT" = "$ROOT/private" ]; then cp "$OUT/model_extracted.js" "$ROOT/model_extracted.js" echo "갱신: $ROOT/model_extracted.js" fi