
FreeCAD를 MCP로 연결해 써 보니, 만들고 싶은 형상을 자연어로 설명해 실제 CAD 모델을 생성할 수 있다는 점이 인상적이었다. “이런 크기의 판을 만들고, 가운데 구멍을 뚫어 줘”처럼 요구사항을 전달하면 AI가 FreeCAD의 도구와 Python 코드를 이용해 형상을 만든다. 화면에서 결과를 확인한 뒤 치수나 조건을 더 구체적으로 알려 주는 식으로 작업을 이어 갈 수 있다.
이번에는 구멍이 있는 판재와 육각형 셀이 반복되는 허니컴 코어를 만들어 봤다. 간단한 부품부터 반복 구조까지, 머릿속에 있는 형태를 실제 모델로 옮기는 데 꽤 유용한 방식이었다.
이 글의 이미지는 작업 중 저장한 실제 FreeCAD 파일을 다시 열어 캡처한 화면이다. 아래의 자연어 요청 문장은 모델의 조건을 설명하기 위해 재구성한 예시이며, 당시 대화 내용을 그대로 옮긴 것은 아니다.
FreeCAD와 MCP를 함께 쓰면 무엇이 달라질까?
FreeCAD는 무료로 사용할 수 있는 오픈소스 파라메트릭 3D CAD 프로그램이다. 스케치와 치수, 구속조건을 바탕으로 부품을 만들고, 설계값을 변경하면서 형상을 수정할 수 있다. 정밀한 솔리드 모델링과 여러 파일 형식의 입출력 등을 지원한다. FreeCAD 공식 기능 소개
직접 모델링할 때는 스케치를 만들고, 치수를 넣고, 돌출이나 구멍 가공에 해당하는 기능을 차례로 적용한다. MCP를 연결하면 원하는 형상을 말로 설명하며 작업을 시작할 수 있다. AI가 요청을 해석하고 연결된 도구를 호출해 FreeCAD에서 모델링 작업을 수행한다.
MCP(Model Context Protocol)는 AI 애플리케이션이 외부 도구와 연결되는 방식을 정한 프로토콜이다. 이번 작업에서는 freecad-mcp 프로젝트로 AI 클라이언트와 FreeCAD를 연결했다. 이 프로젝트는 FreeCAD 안에서 실행되는 애드온과 AI 클라이언트가 실행하는 MCP 서버로 구성된다. 자연어 모델링에는 FreeCAD 외에 MCP 연결과 AI 클라이언트가 필요하다. MCP 구조 설명, FreeCAD MCP 프로젝트
작업 흐름은 다음과 같이 이해하면 쉽다.
- 원하는 부품의 크기, 구멍, 반복 패턴 등을 말로 설명한다.
- AI가 MCP 도구를 통해 FreeCAD에서 객체를 만들거나 코드를 실행한다.
- 생성된 모델을 화면과 속성값으로 확인한다.
- 필요한 수정 조건을 전달하고, 결과를 저장하거나 다른 형식으로 내보낸다.
첫 번째 예제: 가운데 구멍이 있는 판재
첫 번째 모델은 60 × 40 × 10 mm 판재이다. 가운데에는 지름 10 mm의 관통 구멍이 있고, 위에서 보았을 때 네 모서리가 반지름 3 mm의 필렛으로 둥글게 처리되어 있다.
이 모델의 조건은 다음과 같이 요청할 수 있다.
길이 60 mm, 폭 40 mm, 두께 10 mm인 판을 만들어 줘. 판의 가운데에 지름 10 mm의 관통 구멍을 뚫고, 위에서 보았을 때 네 모서리가 반지름 3 mm로 둥글게 보이도록 필렛을 적용해 줘. 주요 치수는 나중에 수정할 수 있도록 파라미터로 연결해 줘.

저장된 판재 모델의 등각 뷰. 위쪽 면의 구멍과 옆면을 함께 볼 수 있어 전체 형상을 확인하기 좋다.
이 예제에서 마음에 들었던 부분은 수정할 수 있는 설계 구조가 함께 남아 있다는 점이다. 파일에는 스케치, 돌출(Pad), 모서리 필렛(CornerFillet), 관통 구멍(ThroughHole)이 있고, Parameters 스프레드시트의 치수가 각 기능에 표현식으로 연결되어 있다.

Parameters에 모아 둔 다섯 가지 치수. 왼쪽 모델 트리에는 판재를 구성하는 돌출, 필렛, 관통 구멍이 표시되어 있다.
| 항목 | 저장된 값 | 연결되는 부분 |
|---|---|---|
| 길이 | 60 mm | 바탕 스케치 |
| 폭 | 40 mm | 바탕 스케치 |
| 두께 | 10 mm | 돌출 길이와 구멍 스케치 높이 |
| 구멍 지름 | 10 mm | 원형 구멍 스케치 |
| 모서리 반지름 | 3 mm | 모서리 필렛 |
이런 구조라면 “길이는 그대로 두고 구멍 지름만 바꿔 줘”처럼 수정 의도를 전달하기 좋다. 직접 스프레드시트 값을 고쳐 재계산하는 방법도 있다. 다만 치수를 크게 바꾸면 필렛이나 다른 기능이 성립하지 않을 수 있으므로 변경한 형상은 다시 확인해야 한다.
두 번째 예제: 육각형이 반복되는 허니컴 코어
두 번째 모델은 200 × 50 × 10 mm 허니컴 코어이다. 정육각형 셀을 반복 배치하고 직사각형 외곽 범위로 잘라 낸 구조이며, 위아래 덮개와 별도의 외곽 프레임은 없다.
길이 200 mm, 폭 50 mm, 높이 10 mm인 허니컴 코어를 만들어 줘. 육각형 셀의 한 변은 벽 중심선 기준 5 mm, 벽 두께는 1 mm로 해 줘. 위아래 덮개와 외곽 프레임은 넣지 말고, 직사각형 범위 밖으로 나가는 부분은 잘라 줘.


같은 허니컴 모델의 등각 뷰(위)와 상면 뷰(아래). 등각 뷰는 셀 벽의 높이를, 상면 뷰는 셀 배열과 경계에서 잘린 형태를 확인하기 좋다.
허니컴처럼 같은 형태가 여러 번 반복되는 구조에는 자연어로 생성 규칙을 전달하는 방식이 특히 잘 어울린다. 셀 크기와 벽 두께, 배치 범위 같은 조건을 정하면 코드로 반복 형상을 생성할 수 있기 때문이다.
| 항목 | 저장된 모델의 조건 |
|---|---|
| 외곽 크기 | 200 × 50 mm |
| 코어 높이 | 10 mm |
| 육각형 한 변 | 벽 중심선 기준 5 mm |
| 벽 두께 | 1 mm |
| 상하 덮개·외곽 프레임 | 없음 |
| 생성 방식 | 매크로로 단면을 만들고 높이 방향으로 돌출 |
여기서 “한 변 5 mm”의 기준을 분명하게 정하는 것이 중요하다. 벽 중심선을 따라 측정한 셀의 한 변과 안쪽 개구부의 한 변은 길이가 다르다. 이 모델의 매크로에서는 안쪽 개구부의 한 변을 5 - 1 / √3 mm, 약 4.423 mm로 계산한다. 자연어로 요청할 때도 측정 기준을 함께 설명하면 치수 해석의 차이를 줄일 수 있다.
저장된 속성에는 외곽 범위와 교차하는 셀 후보가 175개로 기록되어 있다. 여기에는 경계에서 일부만 잘리는 셀도 포함되므로, 완전한 육각형 구멍 175개라는 뜻은 아니다.
판재와 허니컴의 수정 방식에도 차이가 있다. 이 허니컴 파일은 완성된 형상을 Part::Feature 객체로 저장한다. 치수 속성은 읽기 전용으로 기록되어 있으며, 속성값을 고치는 것만으로 형상이 자동 갱신되지는 않는다. 셀 크기나 벽 두께를 바꾸려면 생성 매크로의 입력값을 수정해 다시 실행하는 방식이다. 자연어 모델링을 요청할 때는 원하는 모양뿐 아니라, 나중에 어떻게 수정할 것인지도 함께 알려 주는 편이 좋다.
모델 파일로 남는다는 점도 좋았다
작업 결과는 FreeCAD 원본 형식인 .FCStd로 저장했고, 판재는 .stl, 허니컴은 .step으로도 내보냈다. 모델을 다시 열어 확인하거나 다른 프로그램에서 이어서 작업할 수 있다는 점도 유용했다.
| 형식 | 이번 작업에 남은 파일 | 활용 방향 |
|---|---|---|
| FCStd | 판재·허니컴 원본 모델 | FreeCAD에서 다시 열어 구조와 속성 확인 |
| STL | 판재의 메시 파일 | 3D 프린팅용 슬라이서 등에서 활용 |
| STEP | 허니컴의 CAD 교환 파일 | 다른 CAD 프로그램으로 형상 전달 |
두 원본 파일을 다시 열어 검사했을 때, 판재와 허니컴 모두 유효한 형상이며 각각 하나의 솔리드로 확인되었다. 모델의 외곽 치수를 나타내는 바운딩 박스도 각각 60 × 40 × 10 mm, 200 × 50 × 10 mm로 설정한 값과 일치했다. 화면과 수치로 함께 확인하면 결과를 판단하기 쉽다.
써 보면서 느낀 점
가장 큰 장점은 모델링의 출발점을 말로 전달할 수 있다는 것이다. 메뉴의 위치와 조작 순서를 모두 외우기 전에도, 만들고 싶은 부품의 조건부터 정리하며 시작할 수 있다. 특히 크기가 정해진 간단한 부품이나 허니컴처럼 규칙이 분명한 반복 형상에 활용하기 좋았다.
요청을 얼마나 구체적으로 쓰느냐도 결과에 큰 영향을 준다. 예를 들어 모서리를 둥글게 만들려면 적용할 위치와 반지름을 함께 지정하는 편이 명확하다. 구멍이 관통인지, 육각형 크기를 어디에서 측정하는지, 덮개나 프레임이 필요한지까지 정해 두면 결과를 확인하고 수정할 기준도 생긴다.
요청할 때는 치수와 단위 → 형상 조건 → 수정 방식 → 저장 형식 순서로 적는 것을 추천한다. 생성 후에는 모델을 여러 방향에서 보고, 치수와 형상 유효성을 확인하면 된다. 제조나 구조 검토에 사용할 경우에는 해당 목적에 맞는 공차, 재료, 강도 등을 별도로 검토해야 한다.
직접 시작해 보려면
이 글에서 사용한 freecad-mcp 프로젝트의 기본 연결 순서는 다음과 같다. AI 클라이언트마다 MCP 설정 화면이나 설정 파일은 다를 수 있다. 자세한 설치 방법은 프로젝트 설치 가이드를 참고하면 된다.
- FreeCAD와 MCP 서버 실행에 필요한
uv/uvx를 준비한다. - FreeCAD에 프로젝트의
FreeCADMCP애드온을 설치하고 재시작한다. - MCP Addon 작업대에서 Start RPC Server를 실행한다.
- 사용할 AI 클라이언트에
freecad-mcp서버를 등록하고, FreeCAD를 열어 둔 상태에서 모델링을 요청한다.
처음에는 이번 판재처럼 단순한 형상으로 모델 생성과 수정 과정을 익힌 뒤, 반복 패턴이나 조금 더 복잡한 부품에 도전해 보면 좋겠다. FreeCAD를 MCP와 연결하면 말로 설명한 형상을 실제 CAD 모델로 만들어 볼 수 있다. CAD를 새로 배우는 사람은 물론, 간단한 형상이나 반복 구조를 빠르게 만들어 보고 싶은 사람에게도 추천할 만하다.
관련 링크: FreeCAD 공식 홈페이지, FreeCAD MCP 프로젝트, MCP 공식 문서