>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
Python

Sterowanie FreeCAD za pomocą Claude Desktop z wykorzystaniem MCP

Niedawno natknąłem się na ciekawy projekt: integrację FreeCAD z Claude Desktop za pomocą Model Context Protocol. Szukałem sposobu na szybkie szkicowanie prostego modelu 3D lub części na podstawie rysunku bez ręcznego klikania przez szkice w interfejsie CAD. Repozytorium neka-nat/freecad-mcp rozwiązuje dokładnie ten problem. Opisujesz część słowami lub załączasz obraz z rysunkiem, a model językowy buduje geometrię bezpośrednio w otwartym oknie FreeCAD.

Co to jest

Projekt to serwer MCP, który łączy FreeCAD z klientami takimi jak Claude Desktop. Cały system składa się z dwóch części: wtyczki (Addona) dla FreeCAD, która uruchamia lokalny serwer RPC wewnątrz edytora, oraz narzędzia Python tłumaczącego polecenia protokołu MCP na wywołania tego serwera RPC.

Kołnierz w FreeCAD

W rezultacie model widzi bieżącą scenę, może tworzyć obiekty, wykonywać dowolny kod Python, a nawet uruchamiać obliczenia analizy strukturalnej.

Jak to wygląda w praktyce

Autor repozytorium zademonstrował kilka praktycznych scenariuszy użycia.

Modelowanie na podstawie opisu

Prosisz o wykonanie kołnierza lub zabawki samochodowej o określonych wymiarach. Claude tworzy szkice, wyciąga powierzchnie i zaokrągla narożniki poprzez wywołania narzędzi.

Zabawka samochodowa

Rekonstrukcja części 3D na podstawie rysunku 2D

Jeśli wrzucisz standardowy rysunek techniczny z wymiarami do czatu, sieć neuronowa analizuje rzuty, generuje szkic i buduje model 3D.

Rysunek wejściowy

Po przeanalizowaniu wymiarów Claude składa część krok po kroku w edytorze:

Montaż na podstawie rysunku

Dostępne narzędzia i możliwości

Repozytorium daje modelowi językowemu dostęp do kilkunastu gotowych funkcji:

  • create_document, create_object, edit_object, delete_object do podstawowych operacji geometrycznych
  • execute_code do wykonywania surowego kodu Python wewnątrz sesji FreeCAD
  • get_view do przechwytywania zrzutu ekranu bieżącego widoku z określonego kąta
  • run_fem_analysis do uruchamiania obliczeń MES przez solver CalculiX z zwrotem maksymalnego naprężenia Von Mises i odkształceń

Ciekawe szczegóły: każde narzędzie może zwracać zrzut ekranu sceny w widoku izometrycznym lub innym. Dzięki temu model wizualnie sprawdza wynik każdego kroku. Jeśli chcesz oszczędzać kontekst i tokeny, transmisję obrazów można wyłączyć za pomocą flagi --only-text-feedback.

Instalacja i konfiguracja

Będziesz potrzebować FreeCAD w wersji 1.0 lub 1.1 oraz narzędzia uvx, aby rozpocząć.

Najpierw skopiuj addon do folderu mod w FreeCAD:

git clone https://github.com/neka-nat/freecad-mcp.git
cd freecad-mcp

# Для Ubuntu / Debian
mkdir -p ~/.FreeCAD/Mod/
cp -r addon/FreeCADMCP ~/.FreeCAD/Mod/

# Для macOS
mkdir -p ~/Library/Application\ Support/FreeCAD/v1-1/Mod/
cp -r addon/FreeCADMCP ~/Library/Application\ Support/FreeCAD/v1-1/Mod/

Po ponownym uruchomieniu FreeCAD w liście środowisk pracy pojawi się „MCP Addon".

Lista środowisk pracy

Wybierz go i kliknij „Start RPC Server" na pasku narzędzi. Możesz też włączyć automatyczne uruchamianie serwera przy starcie programu.

Uruchamianie serwera RPC

Następnie zarejestruj serwer w pliku konfiguracyjnym claude_desktop_config.json:

{
  "mcpServers": {
    "freecad": {
      "command": "uvx",
      "args": [
        "freecad-mcp"
      ]
    }
  }
}

Jeśli FreeCAD działa na osobnym komputerze w sieci lokalnej, możesz włączyć zdalne połączenia za pomocą flagi --host <ip-адрес> i skonfigurować listę dozwolonych adresów IP bezpośrednio w interfejsie addona.

Wrażenia

Projekt świetnie sprawdza się w przypadku inżynierów, twórców z drukarkami 3D oraz programistów często piszących skrypty automatyzacji dla FreeCAD. Zamiast poświęcać dużo czasu na naukę Pythonowego API edytora, możesz poprosić Claude o napisanie i natychmiastowe zastosowanie kodu w dokumencie. Oczywiście w przypadku złożonych zespołów z setkami części nadal potrzebna jest ręczna kontrola, ale do prototypowania i pracy z prostymi rysunkami narzędzie sprawuje się świetnie.

Powiązane projekty