--- name: vectorcraft-mcp description: Vektorgrafiken über den VectorCraft-MCP-Server zeichnen, bearbeiten und als SVG, PDF, DXF, EPS, PNG exportieren (Illustrator-Klon); öffnet auch DXF, SVG, PDF, AI, EPS. Verwenden, wenn VectorCraft-Werkzeuge verbunden sind oder der Nutzer VectorCraft nennt; typisch für Typenschilder und Laser-/Gravurvorlagen als DXF in mm, Hinweisschilder, Piktogramme, Skizzen und Illustrationen für Betriebsanleitungen. --- # Vektorgrafik mit VectorCraft (MCP) VectorCraft ist ein Open-Source-Vektorprogramm (Rust), das Illustrator-Parität anstrebt. Getestet mit Version 0.13.1. ## Voraussetzung Die Werkzeuge `draw_shape`, `draw_path`, `add_text`, `run_command`, `export`, `render_preview` … müssen verbunden sein. Ihr Präfix hängt vom Client und vom Namen der Erweiterung bzw. des Servers ab (z. B. `mcp__…__VectorCraft_for_Claude__draw_shape`). Sind sie zurückgestellt, nach dem Werkzeugnamen ohne Präfix suchen und alle benötigten auf einmal laden. Fehlen sie, dem Nutzer sagen, dass der Server nicht verbunden ist (Einrichtung siehe README). Dateizugriff: Lesen nur im Lese-Ordner, Schreiben nur im Schreib-Ordner. Wegen der Ordnergrenzen läuft der Server immer ohne Fenster (headless). Die Werkzeuge `inspect_ui`, `type_text`, `open_panel`, `ui_*` und `screenshot {window: true}` gehen deshalb nicht. ## Werkzeuge | Tool | Zweck | |---|---| | `run_command {command, params}` | jeder Menübefehl, z. B. `file.new` | | `list_commands {filter, brief}` | Befehle suchen | | `draw_shape` | rectangle/ellipse (`x,y,width,height`, `radius`), polygon, star, line (`x1,y1,x2,y2`) | | `draw_path` | `points: [[x,y],…]` oder SVG-`d`; `closed`, `fill`, `stroke`, `strokeWidth`, `join`, `cap`, `dash` | | `add_text` | Punkttext (`x,y` = Grundlinie) oder Flächentext (`width,height`); `size`, `font`, `color`, `justify` | | `set_paint`, `transform`, `pathfinder`, `apply_effect` | Farbe, verschieben/drehen/skalieren, Boolesche Operationen, Effekte | | `inspect_document {depth}` / `doc_inspect` | Ebenen, Objekte, Begrenzungen | | `render_preview` / `screenshot` | Zeichenfläche als PNG | | `open_file` / `save_file` / `export` | .vectorcraft, SVG, PDF, AI, EPS, DXF, EMF, PNG, JPG … | | `undo` / `redo` | Verlauf | ## Arbeitsweise 1. **Neues Dokument in mm-Größe:** `run_command {command: "file.new", params: {name, width: "100 mm", height: "50 mm", units: "Millimeters"}}`. Ohne `file.new` ist das Format US-Letter (612 × 792 pt). 2. **Koordinaten sind immer Punkt**, auch wenn die Einheit auf mm steht. Umrechnen: `pt = mm × 72 / 25,4` (1 mm = 2,8346 pt). Ursprung oben links, y nach unten. 3. **Befehle nie raten:** `list_commands {filter: "…", brief: true}`. 4. **Ansehen:** `render_preview {max_side: 1000}`. Für scharfe Bilder lieber `export {format: "png", scale: 3}`. 5. **Speichern** als `.vectorcraft` unter neuem Namen, dann in das Zielformat exportieren. ## Fallen (im Test bestätigt) - **`add_text {y}` ist die Grundlinie**, nicht die Oberkante. Die Schrift ragt um etwa 0,7 × `size` nach oben. - **Schriften:** Fehlt eine Schrift (z. B. `Helvetica-Bold`), wird still auf „Source Sans 3“ ausgewichen; der Export meldet das in `warnings`. Unter Windows z. B. `Arial` verwenden und die Warnungen beim Export lesen. `run_command text.fontList` listet die vorhandenen Schriften. - **DXF für Laser/Gravur:** - `export {format: "dxf", path}` schreibt im Maßstab 1:1 in mm (`$INSUNITS` = mm), y nach oben, Ursprung unten links. Im Test hatte ein 100 × 50 mm großes Schild genau 0–100 × 0–50. - Text wird als Kontur geschrieben, Kreise als echte CIRCLE. - Flächen bekommen zusätzlich Schraffuren (HATCH). Für Laser- und CAD-Programme ggf. `run_command document.exportDxf {path, version: "R12"}` ohne Schraffuren, oder `preserve: "editability"`, wenn Text als Text bleiben soll. - **SVG:** Text bleibt `` (Schrift muss beim Empfänger vorhanden sein). Mit `outlineText: true` wird er zu Pfaden; das ist für die Weitergabe sicherer. - **Lese-/Schreib-Ordner getrennt:** Eine Datei im Schreib-Ordner kann nur wieder geöffnet werden, wenn der Schreib-Ordner im Lese-Ordner liegt. - `open_file` öffnet ein **neues** Dokument und macht es aktiv; Befehle wirken auf das aktive Dokument. ## Rezepte 1. **Typenschild (DXF für Laser/Gravur, PDF zur Freigabe):** 1. `file.new` in Schildgröße. 2. Kontur mit `draw_shape rectangle {radius}`, Bohrungen als `ellipse`, eine Trennlinie. 3. Texte zeilenweise mit `add_text` (Hersteller, Typ, Serien-Nr., Baujahr, Spannung/Frequenz, Strom, Schutzart, Gewicht). 4. `render_preview` ansehen. 5. Speichern, dann `export` als PDF und DXF. Pflichtangaben nach Maschinenrichtlinie/Maschinenverordnung und das CE-Zeichen in Originalproportionen gibt der Nutzer vor; nicht selbst ergänzen. 2. **Hinweis-/Warnschild:** Dreieck mit `draw_path {closed, join: "round"}`, Symbol aus einfachen Formen, Text darunter mit `justify: "center"`. Export als SVG (für WordCraft-Dokumente) und PNG `scale: 3`. 3. **Grafik für die Betriebsanleitung:** DXF/PDF vom Konstrukteur mit `open_file` öffnen, Beschriftungen, Pfeile und Positionsnummern ergänzen, als SVG/PNG exportieren. ## Abschlussprüfung - `render_preview` angesehen: Texte innerhalb der Kontur, nichts verdeckt. - Export-`warnings` gelesen (Schriftersatz, nicht unterstützte Effekte). - Bei DXF: Maße im Ergebnis plausibel (Breite × Höhe in mm), dem Nutzer Version und Einheit nennen. - Pfade der gespeicherten Dateien dem Nutzer genannt. ## Datenschutz Ampel: - 🟢 Allgemeine und technische Inhalte ohne Kundenbezug. - 🟡 Projekt- und Geschäftsinfos: nur nach Abwägung oder anonymisiert. - 🔴 Personenbezogene Daten und NDA-Inhalte gehören nicht in die Cloud-KI. Kundenzeichnungen (DXF/PDF) mit Kundenname oder NDA-Vermerk sind 🔴: nur mit Zustimmung des Nutzers öffnen. ## Grenzen - **Keine zertifizierten Sicherheitszeichen.** Selbst gezeichnete Warnschilder sind Entwürfe. Für die Maschine die offiziellen ISO-7010-Zeichen verwenden und das dem Nutzer sagen. - Logos und Marken Dritter nicht nachzeichnen. Eigenes Firmenlogo nur aus einer Datei, die der Nutzer liefert. - DWG kann nicht geschrieben werden, nur DXF. Binäre DXF und DWG werden nicht geöffnet.