AttoGrid v1.0.0
데이터센터 DWG 도면을 읽고 · 번역하고 · 전기 구성을 검증하는 데스크톱/웹 앱 첫 릴리즈입니다.
주요 기능
| 기능 | 설명 |
|---|---|
| DWG 읽기 | dwgread JSON 경로 — 115,547개 객체 전부 보존 |
| 번역 (중→한) | argos(오프라인) / Ollama·vLLM(로컬 AI) / DeepL + 전문용어 사전 |
| 번역 얹기 | 한국어 번역을 도면 SVG 위에 직접 오버레이 + 원본으로 복귀 버튼 |
| 전압/구성 검증 | 전압·변압기·전류·차단기·이중화·냉방·금지패턴 7종 |
| 전압 마커 | 비표준 전압 위치를 도면 위에 마커로 표시 (10,000단위 격자 중복 제거) |
| SVG 고해상도 렌더 | 3000px 출력 · viewBox 팬/줌 · non-scaling-stroke |
| 2D→3D 모델링 | 닫힌 윤곽 압출 (three.js, PBR 재질·그림자) |
| 웹 서버 모드 | Flask REST API + nginx 리버스 프록시, 사내 브라우저 접근 |
버그 수정
- argos 선택 시 숫자 "1" → "한국어" 오번역 수정 (CJK 없는 구간 번역 건너뜀)
- Ollama 선택해도 argos가 실행되던 버그 수정 (
_translator()헬퍼 일원화) - pywebview 데스크톱에서 "업로드 오류" 뜨던 버그 수정 (
_isPolyfill마커) - SVG 텍스트 오버레이 폰트 0.7px 불가시 버그 수정 (최소 크기 클램핑)
- 전압 마커 중복 표시 수정 (16개 → 4개)
설치
brew install libredwg
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# argos 언어 모델 (오프라인 번역용)
python -c "
from argostranslate import package as p; p.update_package_index()
[p.install_from_path(x.download()) for x in p.get_available_packages()
if (x.from_code,x.to_code) in (('zh','en'),('en','ko'))]"실행
python app.py # 데스크톱 앱 (pywebview)
python web_app.py # 웹 서버 (Flask, 포트 5000)주의: 실제 도면(
*.dwg,real.*)은.gitignore로 저장소에서 제외됩니다.