Lifetime
Companion

연구개발

RND | QuickSurface 한글화 패치

2026.04.18 03:25


004.png

1. 프로젝트 개요 (Project Overview)

  • 연구 코드명: Project J3D-QS-KR_PATCH

  • 핵심 기술: Python, Tkinter, Pyinstaller

  • 해결 과제:제이쓰리디는 QuickSurface 골드 파트너사로서, 국내 사용자 편의성 향상을 목표로 자체 한글화 패치 배포 시스템을 개발

2. 시스템 설계 (System Architecture)

  • 핵심 방향 : 편리한 패치를 위한 실행파일로 구현, 매뉴의 CAD 사용언어 적용, 한글 사용메뉴얼 연동이 핵심 설계 목표

  • 기술 스택 :  Python 3.x · Tkinter · ctypes (Windows API) · PyInstaller · shutil · Windows UAC

  • QS 2026 메뉴가 계속 변화하므로, expire date를 두고 배포함으로써, 고객의 Old Version 설치로 인한 혼란을 근원적으로 차단.

QS 한글화 패치 파이썬 코드.png

3. 기술적 도전과 해결 (Technical Challenges and Solutions)

Challenge #1: 리소스 경로 이중화 문제

  • Issue:  Python 스크립트를 PyInstaller로 단일 .exe 로 묶을 경우, 내장 리소스 파일의 경로가 런타임에 임시 디렉터리( _MEIPASS )로 변경되어 상대경로가 깨지는 현상

  • Approach:  sys._MEIPASS 존재 여부를 런타임에 감지하여 경로를 동적으로 분기하는 resource_path() 함수를 구현. 개발 환경과 배포 환경 양쪽에서 동일하게 동작하도록 처리

Challenge #2: Window 권한 상승 자동화

  • Issue:  Program Files 하위 경로는 일반 사용자 권한으로 파일 쓰기가 불가. 사용자에게 "관리자로 실행"을 별도 안내하면 설치 실패율이 높아짐

  • Approach: 실행 시 ctypes.windll.shell32.IsUserAnAdmin() 으로 권한 상태를 감지하고, 관리자 권한이 없을 경우 ShellExecuteW runas 동사를 활용해 UAC 프롬프트를 자동으로 호출. 사용자 개입 없이 권한 상승 후 재실행.

Challenge #3: 유효기간 기반 배포 제어

  • Issue: 소프트웨어 버전 업데이트 주기와 맞지 않는 구버전 패치가 유통될 경우, 호환성 문제 발생

  • Approach:패치 실행 파일 자체에 만료일을 내장하고, 실행 시점에 시스템 날짜와 비교하여 유효기간 초과 시 자동 종료. 버전별 패치 파일을 명확히 구분하여 관리.

4. 개발 결과 및 시연 (Development Results and Demonstration)

실시간 작동 시연

한글화 패치 된 QuickSurface Pro 2026 UI 화면 시연

QuickSurface 2D스케치 with J3D.png

 

QuickSurface NEW SURFACE J3D.png

Before & After 비교

❌ Before (기존 방식)

  • 잘못된 경로 설치로 사용자 오류 빈번

  • CAD 전문용어 미사용으로 사용자의 혼란 가중

  • 업데이트 버젼과 호환성이 맞지 않아, 누락 용어 발생

QuickSurface main page 기본설정.png

✅ After (개선된 방식)

  • 실행 파일 더블클릭 설치, 기본 경로 자동탐지 및 수동지정 Fallback 설치

  • 설치파일에 유효기간을 표시하고, 설치 시 유효기간을 비교함으로써 Old Version 한글패치 설치가 원천 차단

  • 한글 메뉴 뿐만 아니라, 한글 사용자 메뉴얼도 같이 업데이트


QS 설치 파일_expire date 포함.png

주요 성과 및 효과

  • J3D, 구매 고객의 만족도 상승 : 고객의 요구에 따라 생성 된 프로그램, 단순 구매가 아닌 사용 동반자로써의 J3D 실현 

  • 학습 곡선 개선: 초보자도 간단히 사용 가능, 교육 시에도 CAD 초보자의 두려움 완화

  • Old version 설치 원천 봉쇄 : Version 별 한글 패치 파일 생성가능 및 Old version 패치 파일로 인한 오류 방지

QuickSurface main page with J3D.png

5. 결론 및 향후 계획 (Conclusion and Future Plans)

  • QuickSurface 신규 버전 출시 주기에 맞춘 패치 자동 빌드 파이프라인 구축 검토

© 2022 J3D Co., Ltd (주식회사 제이쓰리디) | 3D For Automation

산업현장의 Needs를 계속 청휘하고 피드백 해 드리고 있습니다. 언제든지, 어떤 내용이라고 개선 요구 사항을 메일로 주세요. lee@j3d.co.kr