SWXBridge 개발노트 · 02
지난 글에서는 CAD 작업에 AI를 접목하려는 이유를 이야기했다. 이번에는 그 생각을 실제 프로그램으로 옮기려면 어떤 연결이 필요한지 살펴보려 한다.
“현재 열려 있는 모델의 정보를 알려 줘.”
간단한 요청이지만 정확히 답하려면 실행 중인 SOLIDWORKS에 접근하고, 활성 문서를 찾고, 이름과 종류 같은 정보를 읽어 와야 한다. AI가 그럴듯한 문장을 만드는 것만으로는 현재 CAD 화면의 상태를 알 수 없다. 실제 프로그램에서 정보를 가져오는 통로가 필요하다.
SWXBridge는 이 통로를 만드는 작업에서 출발한다.
현재 MCP 서버에 등록된 도구는 문서 상태 조회와 사각형 판 생성이다. AI로 제작한 이미지이며, 그림 속 아이콘은 실제 도구 목록을 나타낸 것이 아닙니다.
AI가 사용할 수 있는 도구 만들기
프로그램에는 사용자가 마우스와 키보드로 조작하는 화면 외에도, 다른 프로그램이 기능을 호출할 수 있도록 마련된 API가 있다. 현재 구현에서는 Python 프로그램이 Windows의 COM 연결을 통해 실행 중인 SOLIDWORKS에 접근한다.
문서 조회를 요청하면 이 프로그램이 활성 문서의 이름, 저장 경로, 종류와 SOLIDWORKS 버전을 읽는다. 화면을 보고 추측하는 대신 프로그램에서 반환한 정보를 사용하는 방식이다.
AI 쪽에는 이 기능을 호출할 수 있는 도구를 제공한다. 현재 MCP 서버에 등록된 도구는 문서 상태 조회와 사각형 판 생성이다. 여기서 MCP는 AI 클라이언트가 외부 도구를 사용할 수 있도록 연결하는 규약이다. 이 프로젝트에서는 조회 기능의 이름과 설명, 판 생성에 필요한 가로·세로·두께 같은 입력 항목을 도구로 노출한다.
AI 클라이언트에서 도구를 사용하는 경로는 다음과 같이 볼 수 있다.
사용자 요청 → AI의 도구 호출 → SWXBridge의 처리 프로그램 → SOLIDWORKS → 실행 결과 반환
연결된 AI 클라이언트는 제공된 도구를 통해 실제 상태를 조회하거나 지원되는 작업을 요청할 수 있다. 어떤 작업까지 할 수 있는지는 구현된 도구의 범위에 달려 있다. 도구를 연결했다는 사실만으로 임의의 형상을 만들거나 모든 설계 요청을 처리할 수 있는 것은 아니다.
먼저 연결한 것은 문서 조회
모델을 만들거나 수정하려면 먼저 어느 프로그램과 어느 문서를 대상으로 작업하는지 알아야 한다. 그래서 문서 조회는 작지만 중요한 기반 기능이다.
현재 조회 기능은 실행 중인 SOLIDWORKS에 연결한다. 문서가 열려 있지 않으면 그 상태를 반환하고, 아직 저장하지 않은 문서는 저장 경로가 비어 있는 상태로 구분한다. 조회 과정에서 문서를 수정하거나 저장하지 않는다.
여러 SOLIDWORKS가 실행 중일 때의 처리도 필요하다. 현재는 2025와 2026 중 연결할 버전을 지정할 수 있으며, 같은 버전의 인스턴스가 여러 개여서 대상을 구별할 수 없는 경우에는 정리가 필요하다는 안내를 반환한다. 어떤 창을 조작할지 임의로 선택하지 않는 방식이다.
프로그램이 응답하지 않거나 연결되지 않았을 때도 결과를 구분해야 한다. 조회에 제한 시간을 두고, 연결 실패와 응답 지연 같은 상태를 오류 정보로 전달하도록 구성했다.
웹 화면과 AI 도구, 두 가지 진입점
SWXBridge에는 사용자가 직접 조작하는 웹 화면도 있다. 연결 상태와 문서 정보를 보고, 모델링 치수를 입력하거나 도면 분석 결과를 검토하기 위한 화면이다.
웹 화면의 모든 작업이 AI를 거치는 것은 아니다. 현재 명령창은 ‘연결 상태 확인’, ‘현재 문서 조회’, ‘문서 경로 확인’, ‘버전 확인’이라는 네 가지 조회 명령을 처리한다. 자유로운 문장을 이해해 임의의 모델을 수정하는 기능은 아직 준비 중이다.
문서 조회는 웹에서 요청하든 MCP 도구에서 요청하든 같은 처리 기능을 사용하도록 정리했다. 연결 대상과 문서를 읽는 방식, 오류를 해석하는 기준이 서로 달라지는 것을 줄이기 위해서다.
| 진입점 | 사용자 또는 AI가 하는 일 | 현재 연결된 기능 |
|---|---|---|
| 웹 화면 | 버튼·입력창·도면 검토 화면 조작 | 문서 조회, 모델링 및 지원 도면 작업 |
| MCP 도구 | AI 클라이언트에서 등록된 도구 호출 | 문서 상태 조회, 사각형 판 생성 |
현재 두 경로가 제공하는 기능의 범위는 서로 다르다. 문서 조회부터 공통으로 정리했으며, 모든 도구가 하나의 실행 구조로 통합된 상태는 아니다.
모델을 만드는 요청에는 무엇이 더 필요할까
조회 다음으로 사각형 판 생성을 생각해 볼 수 있다. 필요한 입력은 가로·세로·두께다. 단순한 형상이라도 값을 받는 것에서 작업이 끝나지는 않는다.
현재 생성 도구는 입력값이 허용 범위의 숫자인지 확인하고, mm로 받은 치수를 CAD API에서 사용하는 단위로 변환한 뒤, 새 부품에서 스케치와 형상을 생성한다. 도구 호출은 새 미저장 부품을 만드는 방식이며, 기존 문서를 덮어쓰는 동작은 포함하지 않는다.
또 하나의 문제는 실행 결과가 불확실한 경우다. 응답이 늦었다고 해서 모델이 생성되지 않았다고 단정할 수는 없다. 같은 요청을 반복하면 새 부품이 중복으로 생길 수도 있다. 웹의 판 생성 경로에서는 결과를 확인하지 못했을 때 자동으로 재시도하지 않고, SOLIDWORKS 화면을 먼저 확인하도록 안내한다.
이처럼 실제 작업을 연결하려면 입력 확인, 실행 대상 선택, 단위 처리, 결과와 오류의 구분까지 함께 다뤄야 한다.
사용자가 판단할 수 있는 연결을 만들기
앞으로 AI에 기대하는 역할은 사용자의 의도를 정리하고, 필요한 정보를 질문하며, 적절한 도구를 선택하도록 돕는 것이다. 프로그램은 정해진 기능을 실행하고 실제 결과를 돌려준다. 사용자는 입력 조건과 결과를 검토하며 다음 작업을 결정한다.
도면 기반 모델링에서는 이 구분이 더 중요해진다. 어떤 치수가 도면에서 확인됐는지, 어떤 값이 추가 입력인지, 어떤 순서로 형상을 만들었는지를 볼 수 있어야 한다. 모델이 생성됐다는 응답에 더해, 설계자가 결과를 검토할 수 있는 정보를 제공하려는 이유다.
현재까지 문서 조회를 웹과 MCP 양쪽에서 실행하고, 실제 SOLIDWORKS의 문서 정보를 반환하는 흐름을 확인했다. 복잡한 도면 해석과 다양한 모델 생성으로 범위를 넓히는 작업은 계속 진행 중이다.
다음 글에서는 육각 구멍이 있는 양단 구형 부품을 사례로, PDF 선택부터 치수 검토와 피처 생성까지의 흐름을 살펴본다. 이번 글에서 설명한 연결이 도면 모델링 화면에서는 어떻게 드러나는지 구체적으로 확인해 보려 한다.
키워드: SOLIDWORKS API, SOLIDWORKS COM, Python SOLIDWORKS, MCP 서버, AI 도구 연결, AI 클라이언트, CAD 연동, 문서 조회, 사각형 판 생성, SOLIDWORKS 자동화, AI CAD, SWXBridge