Update config, docs and add box model

- server.py: Output-Verzeichnis default auf models/ relativ zu server.py
- README.md: Claude Code statt Desktop, models/-Ordner, korrekte settings.json
- models/box.py: Offene Box 30x30x20mm, alle Maße als Variablen

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
nova
2026-03-13 15:29:23 +01:00
parent bcb90a6017
commit bae8071e69
3 changed files with 64 additions and 84 deletions
+54 -68
View File
@@ -10,7 +10,7 @@ Zusätzlich ist CQ-editor als GUI-Vorschau-Tool integriert.
1. [Voraussetzungen](#1-voraussetzungen)
2. [Installation](#2-installation)
3. [Claude Desktop einbinden](#3-claude-desktop-einbinden)
3. [Claude Code einbinden](#3-claude-code-einbinden)
4. [CQ-editor starten](#4-cq-editor-starten)
5. [Verwendung in Claude](#5-verwendung-in-claude)
6. [Projektstruktur](#6-projektstruktur)
@@ -24,7 +24,7 @@ Zusätzlich ist CQ-editor als GUI-Vorschau-Tool integriert.
|---|---|---|
| Windows 10/11 | 64-Bit | Getestet auf Windows 11 |
| Python | ≥ 3.10 | [python.org](https://www.python.org/downloads/) – „Add to PATH" aktivieren |
| Claude Desktop | aktuell | [claude.ai/download](https://claude.ai/download) |
| Claude Code | aktuell | CLI-Tool von Anthropic |
| Git | optional | Für Versionsverwaltung |
> **Hinweis:** Python 3.13 wird vollständig unterstützt (CadQuery 2.7.0 liefert fertige Wheels).
@@ -76,57 +76,52 @@ Installierte Pakete (Auswahl):
# Ausgabe: cq-editor OK
```
### 2.5 Test-STL erzeugen
### 2.5 Output-Verzeichnis anlegen
```powershell
.venv\Scripts\python -c "
import cadquery as cq
from cadquery import exporters
from pathlib import Path
output = Path.home() / '3d-models'
output.mkdir(exist_ok=True)
result = cq.Workplane('XY').box(20, 20, 10)
exporters.export(result, str(output / 'test_box.stl'))
print('OK:', output / 'test_box.stl')
"
mkdir models
```
Die STL-Datei wird in `C:\Users\<Benutzername>\3d-models\` gespeichert.
STL-Dateien und Vorschauen werden in `cadquery\models\` gespeichert.
---
## 3. Claude Code einbinden
**Claude Code** (CLI) nutzt `settings.json`, nicht `claude_desktop_config.json`.
**Claude Code** (CLI) nutzt `settings.json` — **nicht** `claude_desktop_config.json`.
### 3.1 Konfigurationsdatei
```
C:\Users\thors\.claude\settings.json
C:\Users\<Benutzername>\.claude\settings.json
```
### 3.2 CadQuery-Server eintragen
Der CadQuery-Server ist bereits eingetragen (Auszug):
Den folgenden Block in `"mcpServers"` einfügen:
```json
{
"mcpServers": {
"cadquery": {
"type": "stdio",
"command": "C:/Users/thors/Documents/Claude/cadquery/.venv/Scripts/python.exe",
"args": ["C:/Users/thors/Documents/Claude/cadquery/server.py"]
"command": "C:/Users/<Benutzername>/Documents/Claude/cadquery/.venv/Scripts/python.exe",
"args": ["C:/Users/<Benutzername>/Documents/Claude/cadquery/server.py"],
"env": {
"CADQUERY_OUTPUT_DIR": "C:/Users/<Benutzername>/Documents/Claude/cadquery/models"
}
}
}
}
```
> **Hinweis:** In `settings.json` werden Pfade mit Forward-Slashes (`/`) geschrieben.
> **Wichtig:** `<Benutzername>` durch den tatsächlichen Windows-Benutzernamen ersetzen.
> Pfade in `settings.json` werden mit Forward-Slashes (`/`) geschrieben.
### 3.3 Claude Code neu starten
Nach Änderungen an `settings.json` muss Claude Code neu gestartet werden.
Nach Änderungen an `settings.json` muss Claude Code **vollständig** neu gestartet werden
(nicht nur eine neue Konversation öffnen — die App selbst beenden und neu starten).
Die MCP-Tools erscheinen dann automatisch in der Werkzeugliste.
---
@@ -139,26 +134,16 @@ CQ-editor ist ein Qt-basierter GUI-Editor mit Live-3D-Vorschau.
```powershell
# Direkt über die installierte Executable:
C:\Users\<Benutzername>\Documents\Claude\cadquery\.venv\Scripts\cq-editor.exe
.venv\Scripts\cq-editor.exe
# Alternativ über Python:
.venv\Scripts\python -m cq_editor
```
### Startskript (optional)
Für einfacheres Starten kann eine Datei `start-cq-editor.bat` im Projektverzeichnis
angelegt werden:
```batch
@echo off
C:\Users\<Benutzername>\Documents\Claude\cadquery\.venv\Scripts\cq-editor.exe
```
### Workflow mit CQ-editor
1. CQ-editor starten
2. CadQuery-Code im Editor schreiben
2. Datei aus `models\` öffnen (z.B. `box.py`)
3. **F5** drücken → Live-Vorschau rechts aktualisiert sich
4. Datei → Export → STL zum Speichern
@@ -168,10 +153,10 @@ C:\Users\<Benutzername>\Documents\Claude\cadquery\.venv\Scripts\cq-editor.exe
### 5.1 Verfügbare MCP-Tools
Nach dem Neustart von Claude Desktop stehen drei Tools zur Verfügung:
Nach dem Neustart von Claude Code stehen drei Tools zur Verfügung:
#### `mcp__cadquery__render_stl`
Führt CadQuery-Python-Code aus und exportiert eine STL-Datei.
Führt CadQuery-Python-Code aus und exportiert eine STL-Datei nach `models\`.
```
Parameter:
@@ -180,7 +165,7 @@ Parameter:
```
#### `mcp__cadquery__preview_png`
Exportiert eine SVG-Vorschau des Modells.
Exportiert eine SVG-Vorschau des Modells nach `models\`.
```
Parameter:
@@ -189,7 +174,7 @@ Parameter:
```
#### `mcp__cadquery__list_models`
Listet alle STL-Dateien im Output-Verzeichnis auf.
Listet alle STL-Dateien in `models\` auf.
### 5.2 Code-Konventionen
@@ -213,11 +198,23 @@ result = cq.Workplane("XY").box(20, 20, 10)
### 5.3 Beispiele
**Einfacher Quader:**
**Offene Box mit parametrischen Maßen (siehe `models/box.py`):**
```python
import cadquery as cq
result = cq.Workplane("XY").box(30, 20, 10)
# Maße
breite = 30 # mm (X)
tiefe = 30 # mm (Y)
hoehe = 20 # mm (Z)
wandstaerke = 2 # mm
result = (
cq.Workplane("XY")
.box(breite, tiefe, hoehe)
.faces(">Z")
.shell(-wandstaerke)
)
show_object(result)
```
@@ -234,14 +231,14 @@ result = (
show_object(result)
```
**Parametrisches Modell:**
**Quader mit abgerundeten Kanten:**
```python
import cadquery as cq
breite = 40
hoehe = 20
tiefe = 10
radius = 3
breite = 40
tiefe = 20
hoehe = 10
radius = 3
result = (
cq.Workplane("XY")
@@ -252,29 +249,15 @@ result = (
show_object(result)
```
**Assembly (Baugruppe):**
```python
import cadquery as cq
box = cq.Workplane("XY").box(20, 20, 10)
zylinder = cq.Workplane("XY").cylinder(15, 5)
asm = (
cq.Assembly()
.add(box, name="basis", loc=cq.Location((0, 0, 0)))
.add(zylinder, name="zapfen", loc=cq.Location((0, 0, 10)))
)
show_object(asm)
```
### 5.4 Output-Verzeichnis
STL-Dateien werden gespeichert in:
STL-Dateien und SVG-Vorschauen werden gespeichert in:
```
C:\Users\<Benutzername>\3d-models\
cadquery\models\
```
Diesen Pfad kann man über die Umgebungsvariable `CADQUERY_OUTPUT_DIR` überschreiben.
Der Pfad wird über `CADQUERY_OUTPUT_DIR` in `settings.json` gesetzt.
Fallback (wenn nicht gesetzt): `cadquery\models\` relativ zu `server.py`.
---
@@ -283,6 +266,8 @@ Diesen Pfad kann man über die Umgebungsvariable `CADQUERY_OUTPUT_DIR` überschr
```
cadquery/
├── .venv/ # Python Virtual Environment (nicht ins Git)
├── models/ # Generierte STL- und SVG-Dateien + Python-Modelle
│ └── box.py # Beispiel: offene Box mit parametrischen Maßen
├── server.py # MCP-Server (FastMCP)
└── README.md # Diese Datei
```
@@ -309,14 +294,15 @@ in eine Variable namens `result` speichern.
### STL-Datei wird nicht erstellt
- Output-Verzeichnis prüfen: `C:\Users\<Benutzername>\3d-models\`
- Output-Verzeichnis prüfen: `cadquery\models\` muss existieren
- Schreibrechte auf das Verzeichnis prüfen
### Claude Desktop zeigt keine MCP-Tools
### Claude Code zeigt keine MCP-Tools
1. `claude_desktop_config.json` auf korrekte Pfade und JSON-Syntax prüfen
2. Claude Desktop vollständig beenden (Taskleiste → Rechtsklick → Beenden)
3. Claude Desktop neu starten
1. `settings.json` auf korrekte Pfade und JSON-Syntax prüfen
2. Claude Code **vollständig** beenden (nicht nur Konversation schließen)
3. Claude Code neu starten
4. MCP-Server-Log prüfen: `%APPDATA%\Claude\logs\mcp-server-cadquery.log`
### Download bricht ab (cadquery-ocp / PyQt5-Qt5)