
연구 코드명: Project J3D-QS-KR_PATCH
핵심 기술: Python, Tkinter, Pyinstaller
해결 과제:제이쓰리디는 QuickSurface 골드 파트너사로서, 국내 사용자 편의성 향상을 목표로 자체 한글화 패치 배포 시스템을 개발
핵심 방향 : 편리한 패치를 위한 실행파일로 구현, 매뉴의 CAD 사용언어 적용, 한글 사용메뉴얼 연동이 핵심 설계 목표
기술 스택 :
Python 3.x
·
Tkinter
·
ctypes (Windows API)
·
PyInstaller
·
shutil
·
Windows UAC
QS 2026 메뉴가 계속 변화하므로, expire date를 두고 배포함으로써, 고객의 Old Version 설치로 인한 혼란을 근원적으로 차단.

Issue: Python 스크립트를 PyInstaller로 단일
.exe
로 묶을 경우, 내장 리소스 파일의 경로가 런타임에 임시 디렉터리(
_MEIPASS
)로 변경되어 상대경로가 깨지는 현상
Approach:
sys._MEIPASS
존재 여부를 런타임에 감지하여 경로를 동적으로 분기하는
resource_path()
함수를 구현. 개발 환경과 배포 환경 양쪽에서 동일하게 동작하도록 처리
Issue:
Program Files
하위 경로는 일반 사용자 권한으로 파일 쓰기가 불가. 사용자에게 "관리자로 실행"을 별도 안내하면 설치 실패율이 높아짐
Approach: 실행 시
ctypes.windll.shell32.IsUserAnAdmin()
으로 권한 상태를 감지하고, 관리자 권한이 없을 경우
ShellExecuteW
의
runas
동사를 활용해 UAC 프롬프트를 자동으로 호출. 사용자 개입 없이 권한 상승 후 재실행.
Issue: 소프트웨어 버전 업데이트 주기와 맞지 않는 구버전 패치가 유통될 경우, 호환성 문제 발생
Approach:패치 실행 파일 자체에 만료일을 내장하고, 실행 시점에 시스템 날짜와 비교하여 유효기간 초과 시 자동 종료. 버전별 패치 파일을 명확히 구분하여 관리.
한글화 패치 된 QuickSurface Pro 2026 UI 화면 시연


❌ Before (기존 방식)
잘못된 경로 설치로 사용자 오류 빈번
CAD 전문용어 미사용으로 사용자의 혼란 가중
업데이트 버젼과 호환성이 맞지 않아, 누락 용어 발생

✅ After (개선된 방식)
실행 파일 더블클릭 설치, 기본 경로 자동탐지 및 수동지정 Fallback 설치
설치파일에 유효기간을 표시하고, 설치 시 유효기간을 비교함으로써 Old Version 한글패치 설치가 원천 차단
한글 메뉴 뿐만 아니라, 한글 사용자 메뉴얼도 같이 업데이트

J3D, 구매 고객의 만족도 상승 : 고객의 요구에 따라 생성 된 프로그램, 단순 구매가 아닌 사용 동반자로써의 J3D 실현
학습 곡선 개선: 초보자도 간단히 사용 가능, 교육 시에도 CAD 초보자의 두려움 완화
Old version 설치 원천 봉쇄 : Version 별 한글 패치 파일 생성가능 및 Old version 패치 파일로 인한 오류 방지
