Skip to main content
Glama

SolidPilot

SolidWorks용 AI 기반 CAD 자동화 — MCP(Model Context Protocol) 서버.

SolidPilot을 사용하면 AI 모델이 CAD 피처 수준에서 SolidWorks를 다룰 수 있습니다. 목표는 모델이 "어떤 API 메서드를 호출해야 할까?"가 아니라 "어떤 CAD 의도를 실현하고 있는가?"를 기준으로 추론하도록 하는 것입니다. 의도는 CAD 중립 중간 표현으로 변환되고, 결정적 컴파일러가 그 표현을 구체적인 SolidWorks 작업으로 낮춥니다.

SolidPilot은 Claude 전용 플러그인이 아니라 SolidWorks와 AI 사이의 일반적인 브리지입니다. MCP는 개방형 표준이므로 MCP를 지원하는 모든 AI 클라이언트가 연결할 수 있습니다. Claude 외에도 OpenClaw, OpenAI 기반 에이전트, 로컬 LLM도 대상으로 합니다. 아키텍처는 처음부터 이러한 확장성을 염두에 두고 설계되었습니다. 실행 및 플래너 레이어는 어떤 클라이언트가 호출하는지 알지 못하며, 클라이언트별 얇은 어댑터가 공유 브리지 코어를 재사용합니다. adapters/claude/가 현재 구현이며, 새 AI 클라이언트를 지원하려면 새 어댑터만 추가하면 됩니다.

저장소: mcp-server-solidworks · 공개 이름: SolidPilot · 대상 버전: SolidWorks 2026

배포 및 확장 — Constructo AI inc. 사장 Sylvain Leduc 님의 제공

퀘벡의 지능형 건설 생태계 · www.constructoai.ca

이 저장소는 eyfel/mcp-server-solidworks (AGPL-3.0, © Çağatay Bakan)를 기반으로 Constructo AI의 프로덕션 레이어를 추가합니다: swkit.py (스크립트 파이프라인 — 모델 좌표를 미터 단위로, 취소 가능한 트랜잭션, 좌표 기반 모서리 선택), modeles/ 아래의 완전한 모델 4개, 설치 프로그램 INSTALLER.ps1, 그리고 server.pytool-schemas.json의 확장.


핵심 아이디어

SolidWorks API는 수천 개의 메서드를 노출합니다. 각각을 AI에게 별도의 "도구"로 제시하면 컨텍스트 크기와 토큰 비용이 폭발합니다. 이는 유사한 프로젝트를 지연시키는 경제적 문제입니다.

SolidPilot은 추상화 수준을 높여 이 문제를 해결합니다.

  • AI는 피처 수준의 의도를 생성합니다 (예: "윗면에 구멍을 뚫어라").

  • 그 의도는 CAD 중립 Feature Graph IR로 표현됩니다.

  • 결정적 컴파일러가 IR을 순서가 있는 구체적인 SolidWorks 작업으로 낮춥니다.

  • 따라서 단일 피처는 많은 저수준 작업에 매핑되며, 요청당 모델 호출 한 번이면 충분합니다.

IR이 중추이기 때문에 동일한 메커니즘이 역방향으로도 작동합니다. 2D 기술 도면은 2차원으로 표현된 설계 의도이므로 동일한 IR로 읽어들여 구축할 수 있습니다.

2D 도면 파일에서 솔리드 부품까지

SolidPilot에 .DXF 또는 .DWG — 공급업체나 고객이 실제로 보내는, 뒤에 모델이 없는 파일 — 을 건네면 부품을 재구성합니다:

drawing.dwg → analyze_drawing → (draw dialect: views, edge classes, chained contours,
              true-valued dimensions, bend notes) → Feature Graph IR → compiler → SolidWorks

리더는 도면이 요구하는 두 가지 답 중 하나를 결정합니다. 부품에 필요한 모든 결정이 도면 자체에 의해 강제되는 경우 — 현재로서는 판금 평판 패턴 — 전체 부품을 스스로 IR로 낮추고 analyze_drawing(mode='build')가 한 번의 호출로 구축합니다. 도면에 실제 엔지니어링 판독이 필요한 경우(가공 부품의 일반적인 경우) 그렇게 명시하고 구조화된 분석을 넘겨주며, 모델은 버전별 규칙 세트(recipe://usage/reverse 리소스)에 따라 이를 해석하고 submit_feature_graph를 통해 구축합니다.

어느 쪽이든 결과는 가정이 아니라 검증됩니다. 예상 체적은 구축 전에 도면 자체의 치수로 계산되고 구축 후 다시 읽힙니다. 지금까지 9개의 실제 도면이 이 방식으로 재구성되었습니다. 사내 샘플 4개(그중 2개는 판금)와 생산 제조 도면 5장(A4/A3/A1, 1:1~1:10, 서로 다른 표제란 템플릿 3종)이며, 각각 자체 표제란 중량 대비 0.02% 이내 또는 원본 부품 대비 정확한 토폴로지로 검증되었습니다.


Related MCP server: solidworks-mcp

아키텍처

flowchart TD
    U(["User + AI client<br/>Claude · OpenClaw · OpenAI · local LLM"])

    subgraph ADAPT["adapters/* — MCP bridge · MCP BOUNDARY = top"]
        LOW["38 low-level tools<br/>sketch · extrude · sheet-metal · drawing · assembly · analyze"]
        RIR["rebuild_from_ir · save_analysis · compare_parts/assemblies"]
        SFG["submit_feature_graph<br/>forward single tool"]
    end

    IR["Feature Graph IR<br/>feature-graph.schema.json<br/>(cad-planner · CAD-neutral)"]

    subgraph COMP["compiler/solidworks — deterministic compiler · no LLM"]
        CO["pycompiler<br/>lowering + reference resolver (geometric anchors v0)"]
    end

    subgraph EXE["execution/solidworks — C# .NET 4.8 · the ONLY COM-touching layer"]
        EX["Execution<br/>idempotency · state_version"]
    end

    SW(["SolidWorks · COM"])

    %% Working today (thick)
    U == "MCP: low-level tools (primary today)" ==> LOW
    LOW == "REST" ==> EX
    U == "MCP: rebuild_from_ir (reverse round-trip — WORKS)" ==> RIR
    IR ==> CO
    RIR == "REST" ==> CO
    CO == "REST" ==> EX
    EX == "COM" ==> SW

    %% Reverse discovery step: read an existing part → propose an IR
    EX -. "analyze_model / analyze_drawing (DXF/DWG)" .-> IR

    %% Planned forward collapse (dashed)
    IR -. "forward: submit_feature_graph" .-> SFG
    SFG -. "REST" .-> CO

다이어그램을 선 스타일로 읽으십시오: 굵은 선은 현재 작동, 점선은 계획입니다. 두 개의 MCP 경로가 활성화되어 있습니다. 저수준 도구(현재 기본 경로)와 rebuild_from_ir — 실제 결정적 컴파일러를 구동하여 Feature Graph IR에서 부품 또는 어셈블리를 재현합니다. 점선 역방향 화살표는 발견 단계입니다. analyze_model/analyze_drawing이 기존 부품을 읽어 IR을 제안할 수 있게 합니다. 유일한 점선(아직 계획 중) 부분은 정방향 통합입니다. 처음부터 구축하기 위해 저수준 표면을 대체할 단일 submit_feature_graph 도구로, 동일한 컴파일러를 통해 실행됩니다.

시스템은 4개의 레이어로 구성됩니다:

레이어

디렉터리

언어

책임

플래너 / 의도

cad-planner/

AI 모델 + IR 스키마

사용자 의도를 CAD 중립 Feature Graph IR로 변환. COM을 건드리지 않으며 원시 도구 호출을 생성하지 않음.

컴파일러

compiler/solidworks/

결정적 (LLM 없음)

IR을 순서 있는 도구 호출로 낮춤; 실시간 지오메트리 상태에 대해 의미론적 참조(예: top_face, center)를 해석.

실행

execution/solidworks/

C# (.NET Framework 4.8)

SolidWorks COM API를 다루는 유일한 레이어. CAD 상태에 대한 단일 진실 소스.

어댑터

adapters/claude/

Python (MCP SDK v2)

MCP 프로토콜 브리지. MCP 경계는 시스템의 최상위에 위치.

MCP는 최상위에 위치합니다: MCP는 AI 클라이언트가 시스템을 만나는 경계이지 내부 전송 수단이 아닙니다. IR 아래의 모든 것은 결정적이며 일반 REST로 통신합니다.

adapters/ 레이어는 공급자별로 다르며 교체할 수 있습니다. 실행 및 플래너 레이어는 어떤 클라이언트가 호출하는지 알지 못하므로 새 AI 클라이언트(OpenClaw, OpenAI, 로컬 LLM 등)를 추가하려면 새 어댑터만 작성하면 됩니다. IR, 컴파일러, 실행 레이어는 변경되지 않습니다.

현재 vs. 목표: Feature Graph IR과 결정적 컴파일러는 이제 존재하며 작동합니다 — 컴파일러(compiler/solidworks/pycompiler, lowering + v0 참조 해석기)는 실제 생산 부품을 IR에서 verified 일치까지 엔드투엔드로 재현했습니다(프로젝트 상태 참조). 현재는 rebuild_from_ir 도구(역방향/재현 방향)를 통해 접근할 수 있습니다. 아직 남은 것은 정방향 통합입니다. 처음부터 구축하기 위해 저수준 표면을 단일 submit_feature_graph 도구로 대체하고, 편집 후에도 유지되는 내구성 있는 참조 해석기(성패를 가르는 모듈)를 만드는 것입니다. 그때까지 저수준 MCP 도구가 구축의 기본 경로로 남습니다.


도구 목록

현재 시스템은 수행을 위한 46개의 도구읽기를 위한 13개의 MCP 리소스를 노출합니다. 계약 테스트는 두 인터페이스를 모두 검증합니다. 어댑터는 실행 계약에 대해, 그리고 어댑터에 언급된 모든 리소스 URI는 실제로 등록된 것에 대해 검증합니다(CONTRIBUTING.md 참조). 대부분의 도구는 저수준 CAD 작업이며, 일부(save_analysis, rebuild_from_ir, submit_feature_graph, compare_parts, compare_assemblies)는 아래 설명된 분석/IR 라운드트립을 구동합니다. 모든 길이는 미터 단위입니다(SolidWorks 내부 단위).

리소스는 동작이 아니라 규칙 세트와 계약을 담고 있습니다: recipe://usage/index와 규칙 섹션별 정적 recipe://usage/<section> 하나, 그리고 schema://feature-graph + schema://analysis-artifact입니다. 이러한 분리는 의도적입니다. 도구 설명은 사용 여부와 관계없이 매 턴마다 비용이 발생하는 반면, 리소스 본문은 읽을 때만 비용이 발생하므로 거의 정적인 참조 자료는 리소스 쪽에 두는 것이 맞습니다.

문서 및 수명 주기

  • ensure_ready — COM을 통해 SolidWorks를 시작하고 닫혀 있으면 연결합니다(문서를 열지는 않음).

  • open_new_part — 새 부품 문서를 엽니다.

  • open_document — 디스크에서 기존 파일을 엽니다(기본 .sldprt/.sldasm/.slddrw; 변환기를 사용할 수 있을 때 3D Interconnect를 통해 .ipt/.CATPart/STEP/IGES를 가져오며, 그렇지 않으면 명확한 OPEN_FAILED를 반환).

  • activate_document — 열린 문서 간에 전환합니다.

  • save_document — 부품 또는 도면을 디스크에 저장합니다.

  • close_document — 문서를 닫습니다.

스케치

  • create_sketch — 평면 또는 선택한 면에 스케치를 시작합니다.

  • edit_sketch — 기존 스케치를 편집하기 위해 다시 엽니다.

  • add_sketch_entity — 스케치 엔티티를 추가합니다: 선, 원, 호, 중심 호, 타원, 스플라인, 사각형, 필렛, 모따기.

  • add_sketch_constraint — 스케치 관계를 추가합니다(수평, 일치 등).

  • add_dimension — 스케치에 치수를 추가합니다.

피처 및 솔리드 모델링

  • extrude_feature — 보스, 컷, 회전, 스윕, 로프트.

  • add_edge_feature — 솔리드 모서리에 필렛 또는 모따기(모따기: 임의 각도의 거리-각도 또는 거리-거리).

  • create_rib — 열린 스케치 프로파일에서 리브 피처.

  • add_reference_geometry — 참조 평면, 축 또는 점.

  • create_pattern — 선형 또는 원형 패턴.

  • sheet_metal_feature — 판금: base_flange, edge_flange(사용자 정의 프로파일 플랜지 포함), sketched_bend, flat_pattern.

편집

  • modify_dimension — 이름이 지정된 치수의 값을 변경합니다(변형의 기초).

  • edit_feature — 피처를 억제, 억제 해제, 삭제 또는 이름을 변경합니다.

재질

  • set_part_material — 부품에 재질을 지정합니다.

분석 및 조회

  • analyze_modelgeometry, mass_properties, bodies(멀티바디 부품의 바디별 지문), features(간결한 피처 수준 레시피), edges, faces, sketch(요청 시 단일 스케치의 정확한 세그먼트), feature_map(피처별 소비/생성 토폴로지 — 참조 해석기 앵커의 원천) 모드.

  • get_selection — 사용자가 SolidWorks GUI에서 선택한 지오메트리를 읽고 분석 인덱스에 매핑합니다.

  • verify_state — 현재 상태와 피처 트리를 반환합니다.

어셈블리

  • open_new_assembly — 새 빈 어셈블리 문서를 엽니다.

  • insert_component — 부품 파일을 컴포넌트로 삽입합니다: 삽입점 또는 전체 13개 숫자 변환, 고정 또는 유동.

  • add_mate — 강력한 인덱스 기반 엔티티 선택을 사용하여 메이트를 추가합니다(일치, 동심, 평행, 수직, 접선, 거리, 각도, 잠금).

  • analyze_assembly — 컴포넌트(전체 변환이 포함된 트리 순서, 중첩 수준에 걸친 평면화된 리프 뷰 포함), 메이트(생성 순서, 로케일 독립적 열거형, 엔티티 앵커), 또는 단일 컴포넌트의 면/모서리 목록을 읽습니다.

  • save_body_as_part — 멀티바디 부품의 한 바디를 별도의 부품 파일로 추출합니다(평면화된 어셈블리 STEP 가져오기용).

  • compare_assemblies — 객관적 어셈블리 비교(컴포넌트 세트, 컴포넌트별 변환 ≤1 µm, 메이트 수 + 유형, 질량 속성)와 verified 판정.

분석 파이프라인 및 IR 라운드트립

이 도구들은 역공학 루프 — "LLM이 제안하고, 라운드트립이 결정한다" — 를 구현하며, CAD 중립 Feature Graph IR에서 기존 부품을 재현하고 결과를 객관적으로 검증합니다.

  • IR 생성 레시피는 도구가 아니라 MCP 리소스로 제공됩니다(2026-07-30부터): recipe://usage/index는 규칙 섹션마다 하나의 recipe://usage/<section>을 인덱싱하며(매핑/정규화/순방향/역방향/검증/…), schema://feature-graph + schema://analysis-artifact는 두 계약을 제공합니다. 모델은 IR을 작성하기 전에 이를 읽습니다. 이들은 거의 정적이고 모든 호출자에게 동일하며 ttlMs/cacheScope 신선도 힌트를 담고 있습니다. 그래서 리소스인 것입니다: 폐기된 get_recipe 도구는 읽든 읽지 않든 매 턴마다 도구 목록에서 약 2.4KB를 차지했습니다.

  • save_analysis — 부품 또는 어셈블리 파일에 대한 분석 아티팩트(피처 레시피 / 컴포넌트 + 메이트 트리, 구동 파라미터, 선택적 Feature Graph IR 블록)를 <folder>/.solidpilot/에 씁니다.

  • rebuild_from_ir역방향 IR 문: 아티팩트의 IR 블록을 결정적 컴파일러를 통해 실행하여 새 문서에서 부품 — 또는 어셈블리 — 을 재구축하고, 아티팩트 아래에서 소스 파일이 변경된 경우(source_stale) 경고합니다.

  • submit_feature_graph순방향 IR 문: 모델이 직접 제공한 Feature Graph(설계 의도, 복사할 원본 없음)에서 부품 또는 어셈블리를 동일한 컴파일러를 통해 빌드합니다 — 두 개의 문, 하나의 컴파일러.

  • compare_parts — 프로젝트의 verified 판정(토폴로지 정확 |ΔV| ≤ 1% |ΔA| ≤ 1%)을 사용한 객관적 두 부품 diff(토폴로지, 부피, 면적, 질량 중심).

도면

도면 도구는 초기 부품 모델링 세트 이후에 추가되었으며, 이제는 여전히 성숙해 가고 있지만 상당한 기능입니다. 모델을 치수가 있는 다중 뷰 도면으로 만들고, 역설계를 위해 도면을 다시 읽을 수 있을 만큼 충분합니다.

  • create_drawing — 도면 문서(A3 시트)를 생성합니다.

  • add_drawing_view — 모델 뷰를 추가합니다: front, top, right, isometric, back, bottom, left; 직교 뷰는 제도 관례에 따라 기본적으로 Hidden-Lines-Visible로 설정됩니다(display_mode로 재정의 가능).

  • add_flat_pattern_view — 판금 플랫 패턴 뷰(벤드 라인과 벤드 노트가 있는 펼쳐진 블랭크)를 추가합니다; 판금 부품을 상세화하는 올바른 표준 방법입니다.

  • auto_dimension_drawing — 모델의 구동 치수를 뷰로 전송합니다("Insert Model Items" 자동화) — 좌표로 치수를 배치하는 것에 대한 강력한 대안입니다.

  • auto_center_marks — 모든 홀/슬롯에 중심 표시와 중심선을 자동으로 삽입합니다.

  • add_hole_callout — 홀 가장자리에 홀 콜아웃을 추가합니다.

  • add_drawing_dimension — 시트 좌표로 단일 치수를 추가합니다.

  • add_section_view — 기존 모서리 또는 그려진 절단선을 따라 단면 뷰를 추가합니다 — 내부/블라인드 피처를 노출하고 치수화하는 표준 방법입니다(서로 다른 내부 깊이 축마다 하나의 단면).

  • analyze_drawing도면 → 부품 프런트 엔드: **2D 기술 도면 파일(.DXF 또는 .DWG)**을 읽고 그로부터 부품을 빌드하거나 빌드할 증거를 넘겨줍니다. .DWG는 자동으로 DXF로 변환됩니다. 추출하는 내용: 뷰별 축척(이미 적용되어 있으므로 모든 숫자는 실제 모델 mm), 프리미티브별 엣지 클래스(visible / hidden / section cut line / centre)가 있는 감지된 뷰, 이미 닫힌 루프로 연결된 컨투어, 뷰 정렬 쌍, CAD 시스템이 실제로 인쇄한 문자열을 담은 치수(저장된 값보다 우선합니다 — DWG 왕복은 각도와 반지름을 손상시킵니다), 파라미터 테이블로서의 타이틀 블록(frame_notes — 길이, 재질, 무게, 투영 표준), 그리고 세 개의 독립적인 채널에서 벤드 라인과 짝지어진 판금 벤드 노트. 두 가지 형태 중 하나로 응답하며, 읽는 쪽이 선택합니다: DIRECT_BUILDABLE + 간결한 요약(그러면 mode='build'로 한 번에 빌드), 또는 NOT_DIRECT | <reason> + recipe://usage/reverse 리소스 아래에서 모델이 읽을 전체 분석. 귀속시킬 수 없는 것은 건너뛴 것으로 보고됩니다 — 추측하지 않습니다. (네이티브 SolidWorks 도면용 이전 리더는 analyze_slddrw_test로 남아 있습니다 — 테스트/참조 전용: .SLDDRW는 모델에 연결되어 있으므로 이미 있다면 부품도 이미 존재합니다.)

내보내기

  • export_document — STEP, IGES, STL, PDF, DWG, DXF(PDF/DWG/DXF는 도면 문서가 필요합니다).

  • batch_export — 일괄 내보내기.


설치 및 실행

요구 사항

  • Windows 및 SolidWorks 2026.

  • 실행 계층용 .NET Framework 4.8 및 MSBuild(Visual Studio 2022에 포함).

  • 어댑터를 위한 Python 3.x 및 공식 MCP Python SDK v2(mcp>=2.0.0, 프로토콜 2026-07-28) (Python 종속성은 requirements.txt를 통해 설치됩니다).

  • MCP를 지원하는 AI 클라이언트(예: Claude Desktop; OpenClaw, OpenAI 기반 에이전트 및 로컬 LLM도 대상으로 함).

실행 계층(C#)

솔루션을 빌드합니다:

& "C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe" execution\solidworks\SolidworksExecution.sln /t:Build /p:Configuration=Debug

서버를 실행합니다(헤드리스, http://localhost:5000):

Start-Process execution\solidworks\SolidworksExecution\bin\Debug\SolidworksExecution.exe -WindowStyle Hidden

어댑터(Python)

cd adapters/claude
pip install -r requirements.txt
python server.py

어댑터는 EXECUTION_BASE_URL의 실행 계층에 연결합니다(기본값 http://localhost:5000; .env로 재정의).

AI 클라이언트에 등록(설치 방법)

어댑터는 MCP를 지원하는 AI 클라이언트에 등록되며, 클라이언트가 server.py를 직접 실행합니다. Claude Desktop의 경우 구성 파일은 다음 위치에 있습니다:

C:\Users\<username>\AppData\Roaming\Claude\claude_desktop_config.json

mcpServers 아래에 다음 항목을 추가합니다:

"SolidPilot": {
  "command": "C:\\Users\\<username>\\AppData\\Local\\python\\bin\\python.exe",
  "args": ["C:\\Users\\<username>\\Desktop\\MCP Server\\adapters\\claude\\server.py"],
  "cwd": "C:\\Users\\<username>\\Desktop\\MCP Server\\adapters\\claude"
}

자신의 시스템에 맞게 경로를 업데이트하세요.

구성 변경 후에는 Claude Desktop을 다시 시작하세요.

MCP는 개방형 표준이므로 OpenClaw, OpenAI 기반 에이전트 또는 로컬 LLM을 실행하는 클라이언트도 동일한 server.py 어댑터를 가리켜 같은 방식으로 연결할 수 있습니다.


프로젝트 상태

SolidPilot은 작동하는 프로토타입 / 초기 알파입니다. 저수준 도구는 실제 SolidWorks에 대해 종단 간 검증되었습니다. 모든 COM 호출은 단일 전용 STA 스레드에서 직렬화됩니다.

부품: 부품 모델링 표면이 가장 성숙합니다 — 스케치, 돌출/회전/스윕/로프트, 필렛/모따기, 패턴, 판금, 참조 형상, 그리고 편집(modify_dimension, edit_feature) 및 풍부한 분석. 처음에는 부품 생성에 필요한 도구만 존재했습니다.

기술 도면: 나중에 추가되었으며 이제는 실제(여전히 성숙 중이지만) 기능입니다 — 다중 뷰 도면, 단면 뷰, 모델 항목 자동 치수화, 중심 표시, 홀 콜아웃, 판금 플랫 패턴 뷰, 도면 리더. 모델 → 도면은 실제 양산 부품에서 입증되었습니다(분석만으로 배치된 두 개의 직교 단면 뷰를 포함한 5뷰 치수 도면). 알려진 제한 사항: 자동 치수화 패스는 제도에 대한 이해가 없습니다(치수를 생략하거나 잘못 배치하고 숨은 모서리에 치수를 지정할 수 있음) — 더 똑똑한 치수화 레이어가 로드맵에 있습니다.

도면 → 모델은 가장 최근에 변경된 방향이며, 이제 도면 파일만으로 작동합니다 — 모델도, SolidWorks 도면 문서도 없이 공급업체가 보내는 .DXF/.DWG만으로. 리더(cad-planner/drawing/, DXF를 다루는 유일한 모듈)는 엄격한 차수 2 엔드포인트 매칭으로 컨투어를 닫힌 루프로 연결하고, 벤드 노트를 벤드 라인과 짝지으며, 타이틀 블록을 파라미터 테이블로 읽고, 각 치수의 인쇄된 문자열을 ground truth로 삼습니다. 지금까지 재구성된 것: 원본과 정확한 토폴로지로 일치하는 사내 샘플 4개(판금 2개, 기계 가공 2개), 그리고 실제 양산 제조 도면 5장 — A4/A3/A1, 축척 1:1~1:10, 서로 다른 타이틀 블록 템플릿 3종 — 각각 명시된 무게에 대해 **≤ 0.02%**로 검증되었으며, 6.69m 3벤드 플레이트와 도면 길이가 부품 길이가 아닌 브레이크(중단) 뷰를 포함합니다. 솔직한 한계: 직교 뷰는 아직 완전히 체이닝되지 않습니다(모서리 중간에서 끝나는 피처 실루엣은 T-접합인데, 체이너는 추측하지 않고 멈춥니다 — 해결되지 않은 컨투어는 갭으로 보고됩니다), 투영 표준은 감지가 아니라 구성에서 읽으며, 기계 가공 부품은 여전히 모델이 엔지니어링 판독을 수행해야 합니다.

어셈블리: 어셈블리 표면이 이제 종단 간 작동합니다 — 어셈블리 생성, 전체 변환을 포함한 컴포넌트 삽입, 인덱스 기반 메이팅, 심층 구조 읽기(analyze_assembly), 객관적 검증(compare_assemblies). 어셈블리 IR 하위 어휘(컴포넌트 + 메이트)가 Feature Graph 스키마에 추가되었으며, 실제 샘플 어셈블리(최대 약 17개 컴포넌트)가 해당 IR에서 verified 일치로 재현되었습니다: 정확한 컴포넌트 세트, 서브마이크론 변환, 일치하는 메이트 수와 유형.

Feature Graph IR + 컴파일러(전략적 핵심): 이제 프로젝트의 중추이며 작동 중입니다. IR 스키마(cad-planner/contracts/feature-graph.schema.json)와 결정적 Python 컴파일러(compiler/solidworks/pycompiler, lowering + 기하학적 앵커 기반 v0 참조 해석기)는 모든 재구축을 하나의 코드 경로로 실행하며, 오프라인 테스트 스위트(라이브 SolidWorks 불필요)를 갖추고 있습니다. 역방향 왕복 — analyze_model → LLM이 제안한 IR → rebuild_from_ircompare_parts — 을 통해 실제 양산 부품이 해당 IR에서 verified 일치로 재현되었으며, 회전, 원형 패턴, 두 모따기 모드, 로프트, 다중 벤드 판금 형태를 아우릅니다. 각 부품은 새 문서에서 재구축되고 검증으로 인정되기 전에 정확한 토폴로지와 질량 특성으로 원본과 대조됩니다. 실제 부품에서 IR 어휘를 키우는 것이 발전 방식입니다. 이 작업에는 자체 원장(logs-ir.md)이 있습니다.

열린 문제 — 그리고 프로젝트의 실제 연구 리스크 — 는 내구성 있는 참조 해석기입니다: v0 기하학적 앵커는 새 문서에서 부품을 정확히 재현하지만 업스트림 편집을 견디지 못합니다(치수가 변경되면 앵커가 이동합니다). 의미적 참조(top_face, 특정 모서리)를 토폴로지 변경 전반에 걸쳐 견고하게 만드는 것이 아직 남아 있는 성패를 가르는 모듈입니다.

두 개의 IR 문, 하나의 컴파일러. 역방향 문은 rebuild_from_ir입니다(아티팩트에서 기존 부품 재현). 순방향 문은 submit_feature_graph입니다(복사할 원본 없이 설계 의도에서 빌드) — 이제 라이브이며 게이트가 없고, 실제 지오메트리에서 입증되었습니다: πr²·L을 여섯 자리까지 일치시키는 스윕 솔리드, 합성 패턴 그리드, 타원 프리즘, 판금 플랜지. 두 문 모두 동일한 pycompiler를 통해 실행되므로 한쪽에서 얻은 모든 교훈이 다른 쪽을 개선합니다. 순방향 문이 있다고 해서 그 아래의 저수준 표면이 사라지는 것은 아님을 유의하세요 — 40여 개의 저수준 도구는 여전히 유지되며, 이들을 은퇴시키는 것은 아래의 참조 해석기를 기다립니다.

테스트: 4개의 자동화된 스위트가 완전히 오프라인(SolidWorks 불필요)으로 그리고 모든 푸시에서 CI로 실행됩니다 — 어댑터(server.py)와 실행 계약(tool-schemas.json) 사이의 도구/파라미터 드리프트가 있으면 실패하는 도구 계약 테스트(adapters/claude/tests/test_schema_contract.py); IR 스키마 — 기능 레지스트리를 겸함 — 와 이를 강제하는 검증기 사이의 어휘 드리프트가 양방향으로 있으면 실패하는 IR 계약 테스트(compiler/solidworks/pycompiler/tests/test_ir_schema_contract.py); 가짜 실행 포트에 대한 IR 검증, lowering, 참조 해석을 다루는 컴파일러 스위트(compiler/solidworks/pycompiler/tests/); 그리고 드로잉 방언 어휘를 양방향으로 diff하고 원시 프리미티브에서 동결된 DXF 픽스처를 다시 체이닝하며, 방출하는 IR을 컴파일러 자체 검증기로 검증하여 리더가 컴파일러가 빌드할 수 없는 어휘를 발명하지 못하게 하는 도면 리더 게이트(cad-planner/drawing/tests/). CAD 작업 자체의 동작 검증은 설계상 라이브 SolidWorks에 대해 수동으로 수행됩니다.

참고:

  • Python MCP 어댑터는 실행 중 핫 리로드되지 않습니다. server.py를 편집한 후에는 MCP 서버를 다시 연결해야 합니다.

  • SolidPilot은 라이브 SolidWorks GUI 세션을 구동하므로 분석 도구가 진행 전에 SolidWorks에서 클릭을 기다려야 하는 경우가 가끔 있으며, 매우 긴 분석 후에는 MCP 도구가 오류를 반환하기 시작할 수 있습니다(클라이언트 측 제한). 두 경우 모두 어시스턴트에게 재시도하라고 말하면 계속 진행됩니다.


로드맵

이 프로젝트는 활발히 개발 중입니다. Feature Graph IR과 결정적 컴파일러는 이제 부품에 대해 작동합니다(실제 양산 부품에서 엔드투엔드로 검증됨). 주요 다음 목표는 다음과 같습니다:

  • 내구성 있는 참조 해석기 / 영구 명명(persistent naming) — 핵심 모듈: 의미적 참조(top_face, 특정 모서리)가 새 문서 재생(fresh-document replay)뿐만 아니라 치수 및 토폴로지 변경 후에도 유지되도록 하는 것입니다. 현재 v0 기하 앵커는 정확하지만 편집에 취약합니다.

  • 어셈블리 깊이 — 어셈블리 코어(삽입, 메이트, 분석, IR 왕복)는 작동합니다. 남은 작업은 1급(first-class) IR로서의 서브어셈블리 계층 구조, 변형 가능/안착 부품(예: 홈 속 오링)용 메이트, 그리고 어셈블리 도면 / BOM입니다.

  • 분석 파이프라인 범위 — 폴더 스캐너(부품/도면 디렉터리를 아티팩트로 일괄 분석), 카테고리별 IR을 생성하고 커버리지 보고서를 제공하는 AI 패스, 그리고 검증된 IR 간 패턴 재사용(LLM 없는 파라메트릭 재구축)입니다.

  • 도구 표면 축소 — 정방향 진입점(submit_feature_graph)이 운영 중이며 IR이 이제 전체 파트 모델링 표면을 포괄하므로, 남은 단계는 그 아래의 저수준 도구들을 폐기하는 것입니다. 이 아키텍처의 토큰 비용 절감 효과가 실제로 실현되는 지점이 바로 여기이며, 이는 참조 해석기가 완료되기를 기다립니다. 단일 도구 인터페이스는 그 참조가 내구성 있어야만 사용할 수 있기 때문입니다.

기존 영역에서 곧 제공될 기능:

  • 기술 도면: 핵심 도구는 이미 존재합니다. 남은 작업은 제도 인식 치수 기입 레이어(결정적 단면 계획, 올바른 치수 배치), GD&T / 데이텀, 도면 제목 블록, 상세도, 그리고 자재 명세서(BOM)입니다.


기여

기여 지침, 개발 환경 설정, 새 기능 추가 가이드는 CONTRIBUTING.md를 참조하세요.


라이선스

Copyright (c) 2025–2026 Çağatay Bakan.

SolidPilot은 GNU Affero General Public License v3.0(AGPL-3.0)에 따라 라이선스가 부여된 자유 소프트웨어입니다.

자유롭게 사용, 연구, 수정, 배포할 수 있습니다. SolidPilot은 서버 소프트웨어이므로 AGPL의 네트워크 조항(§13)이 적용됩니다: 수정된 버전을 실행하고 다른 사용자가 네트워크를 통해 그 버전과 상호작용하도록 허용하는 경우, 동일한 라이선스에 따라 해당 사용자에게 수정 버전의 완전한 대응 소스(complete corresponding source)를 제공해야 합니다. 정확한 조건은 LICENSE를 참조하세요.

상업 / 독점 라이선스

AGPL의 카피레프트 의무가 모든 조직에 적합한 것은 아닙니다. SolidPilot을 클로즈드 소스 또는 독점(프로프라이어터리) 제품에 내장하려 하거나, 다른 이유로 AGPL을 준수할 수 없는 경우, 별도의 상용 라이선스를 이용할 수 있습니다. 기여는 프로젝트 CLA에 따라 접수되며, 이중 라이선스 옵션이 계속 유지됩니다.

상용 라이선스, 파일럿, 또는 테스트/평가 프로그램에 관심이 있으신가요? 문의해 주시면 적절한 조건을 마련해 드리겠습니다:

Email: cagataybkn@gmail.com

Constructo AI의 수정 사항 (AGPL §5)

이 저장소는 eyfel/mcp-server-solidworks의 수정된 버전입니다. Constructo AI inc. (2026)의 추가 사항 — swkit.py, modeles/, INSTALLER.ps1, 그리고 adapters/claude/server.pyexecution/solidworks/contracts/tool-schemas.json의 확장 — 은 동일한 AGPL-3.0 라이선스로 게시됩니다. 기반 코드의 저작권은 여전히 Çağatay Bakan에게 있습니다.


Sylvain Leduc — Constructo AI inc.의 제공

퀘벡 건설을 위한 지능형 생태계

www.constructoai.ca

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables natural language control of SolidWorks 2024 through MCP, providing 87 tools for sketch, drawing, and model operations with an intelligent COM bridge that handles parameter limits.
    35
    16
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI (e.g., Claude) to control SolidWorks via natural language, automating part creation, sketching, and feature operations through the Model Context Protocol.
    1
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    An MCP server for parametric part modeling in Onshape, producing fully-defined, variable-driven sketches and features. It enables LLMs to create editable CAD models using semantic selection and geometrically grounded constraints.
    33
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Enables connecting MCP clients to local SolidWorks for automated 3D part creation, template generation, file export, and basic review via natural language.
    10
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ConstructoAI/solidworks_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server