SolidWorks Automation Skill
Dieser Skill ermöglicht die Automatisierung von SolidWorks über natürliche Sprache.
Voraussetzungen
- Windows-Betriebssystem
- SolidWorks 2015 oder neuer (muss laufen)
- Python 3.x mit pywin32:
pip install pywin32
- Ein geöffnetes Part-Dokument in SolidWorks
Workflow
- Nutzer beschreibt was erstellt werden soll (z.B. "Zeichne ein Rechteck 100x50mm und extrudiere es 20mm")
- Claude generiert Python-Code basierend auf diesem Skill
- Code wird ausgeführt in SolidWorks
- Ergebnis erscheint im SolidWorks-Modell
Wichtige API-Hinweise
Einheiten
- SolidWorks API verwendet Meter, nicht Millimeter
- Immer
mm / 1000 rechnen vor API-Aufruf
- Beispiel: 100mm = 0.1 Meter
Sketch-Operationen
- Sketch muss aktiv sein vor Zeichenoperationen
InsertSketch() startet neuen Sketch auf ausgewählter Ebene
InsertSketch() beendet auch aktiven Sketch
Feature-Operationen
- Features brauchen geschlossene Skizzen
- Nach Sketch:
InsertSketch() zum Beenden
- Dann Feature-Methode aufrufen
Verfügbare Operationen
2D Skizzen (SketchManager)
| Operation |
Methode |
Beispiel |
| Linie |
sw.sketch.line(x1, y1, x2, y2) |
Gerade zwischen zwei Punkten |
| Kreis |
sw.sketch.circle(diameter=100) |
Kreis mit Durchmesser |
| Rechteck |
sw.sketch.rectangle_centered(width, height) |
Zentriertes Rechteck |
| Ellipse |
sw.sketch.ellipse(major_radius, minor_radius) |
Ellipse |
| Bogen |
sw.sketch.arc(cx, cy, radius, start, end) |
Kreisbogen |
| 3-Punkt-Bogen |
sw.sketch.three_point_arc(x1,y1,x2,y2,x3,y3) |
Bogen durch 3 Punkte |
| Spline |
sw.sketch.spline(points, closed) |
Freiformkurve |
| Polygon |
sw.sketch.polygon(cx, cy, radius, sides) |
Regelmäßiges Vieleck |
| Langloch |
sw.sketch.slot(x1, y1, x2, y2, width) |
Slot/Langloch |
| Beziehung |
sw.sketch.add_relation("horizontal") |
Sketch-Constraints |
3D Features (FeatureManager)
| Operation |
Methode |
Beschreibung |
| Extrusion |
sw.feature.extrude(depth) |
Profil in Tiefe ziehen |
| Schnitt |
sw.feature.cut(depth) |
Material entfernen |
| Drehkörper |
sw.feature.revolve(angle) |
Rotation um Achse |
| Dreh-Schnitt |
sw.feature.revolve_cut(angle) |
Rotationsschnitt |
| Fase |
sw.feature.chamfer(distance) |
Kante abschrägen |
| Verrundung |
sw.feature.fillet(radius) |
Kante abrunden |
| Linear Pattern |
sw.feature.linear_pattern(dir, count, spacing) |
Lineares Muster |
| Bohrungsmuster |
sw.feature.circular_hole_pattern(...) |
Kreisförmiges Lochmuster |
| Spiegeln |
sw.feature.mirror(plane) |
Feature spiegeln |
| Referenzebene |
sw.feature.reference_plane(offset) |
Neue Ebene erstellen |
Quick-Funktionen
| Funktion |
Beschreibung |
quick_box(w, h, d) |
Schnell einen Quader erstellen |
quick_cylinder(d, h) |
Schnell einen Zylinder erstellen |
quick_pipe(outer, inner, length) |
Rohr/Hohlzylinder |
quick_revolve(points, axis, angle) |
Drehkörper aus Profil |
quick_plate_with_holes(...) |
Platte mit Bohrungen |
Code-Generierung
Wenn du Code generierst, verwende immer das Script aus scripts/sw_automation.py.
Standard-Template
from sw_automation import SolidWorksAutomation
# Verbindung herstellen
sw = SolidWorksAutomation()
# Operationen ausführen
# ... (spezifische Operationen hier)
# Speichern
sw.save()
Beispiel: Rechteck extrudieren
from sw_automation import SolidWorksAutomation
sw = SolidWorksAutomation()
# Rechteck zeichnen (100x50mm, zentriert)
sw.sketch.rectangle_centered(width=100, height=50)
# Extrudieren (20mm tief)
sw.feature.extrude(depth=20)
sw.save()
Beispiel: Kreis mit Bohrungen
from sw_automation import SolidWorksAutomation
sw = SolidWorksAutomation()
# Kreis zeichnen (Durchmesser 200mm)
sw.new_sketch("Front")
sw.sketch.circle(diameter=200)
sw.end_sketch()
# Extrudieren
sw.feature.extrude(depth=10)
# 8 Bohrungen auf Lochkreis
sw.feature.circular_hole_pattern(
num_holes=8,
hole_diameter=10,
pitch_circle_diameter=150,
hole_depth=10
)
sw.save()
Beispiel: Drehkörper (Kegel)
from sw_automation import SolidWorksAutomation
sw = SolidWorksAutomation()
sw.new_sketch("Front")
# Dreieckiges Profil für Kegel
sw.sketch.line(0, 0, 30, 0) # Basis
sw.sketch.line(30, 0, 0, 60) # Schräge
sw.sketch.line(0, 60, 0, 0) # Schließen
# Mittellinie für Rotation
sw.sketch.line(0, -10, 0, 70)
sw.end_sketch()
sw.feature.revolve(angle=360)
sw.save()
Beispiel: Quick-Funktionen
from sw_automation import quick_box, quick_cylinder, quick_pipe
# Quader 100x50x30mm
quick_box(100, 50, 30)
# Zylinder Ø80mm, Höhe 50mm
quick_cylinder(80, 50)
# Rohr Außen Ø50, Innen Ø40, Länge 100mm
quick_pipe(50, 40, 100)
Referenzen
Für detaillierte API-Dokumentation siehe:
references/sketch-operations.md - Alle Skizzen-Methoden
references/feature-operations.md - Alle Feature-Methoden
references/examples.md - Weitere Beispiele
Sprachunterstützung
Der Skill versteht Deutsch und Englisch:
Deutsch:
- "Zeichne ein Rechteck 100x50mm"
- "Erstelle eine Extrusion 20mm tief"
- "Füge 8 Bohrungen M10 auf Lochkreis 200mm hinzu"
English:
- "Draw a rectangle 100x50mm"
- "Create an extrusion 20mm deep"
- "Add 8 M10 holes on pitch circle 200mm"
Fehlerbehandlung
Häufige Fehler und Lösungen:
| Fehler |
Ursache |
Lösung |
| "Failed to connect" |
SolidWorks nicht gestartet |
SolidWorks starten |
| "No active document" |
Kein Part geöffnet |
Part-Dokument öffnen |
| "Sketch not active" |
Sketch nicht gestartet |
InsertSketch() aufrufen |
| "Feature creation failed" |
Sketch nicht geschlossen |
Sketch beenden vor Feature |
1---2name: solidworks-automation3description: Automatisiert SolidWorks CAD-Software über Python und COM-Schnittstelle. Verwende diesen Skill wenn der Nutzer: - 2D Skizzen erstellen möchte (Linien, Kreise, Rechtecke, Ellipsen, Bögen, Splines) - 3D Features erstellen möchte (Extrusionen, Schnitte, Bohrungen, Fasen, Verrundungen) - Drehkörper erstellen möchte (Revolve - Zylinder, Kegel, Kugeln, Torus) - Muster erstellen möchte (Linear Pattern, Circular Pattern, Mirror) - Referenzgeometrie erstellen möchte (Ebenen, Achsen) - SolidWorks-Modelle automatisieren möchte - CAD-Operationen in natürlicher Sprache beschreibt (Deutsch oder Englisch) Trigger-Phrasen: "zeichne", "erstelle", "extrudiere", "bohre", "drehe", "rotiere", "spiegele", "draw", "create", "extrude", "hole", "revolve", "mirror", "SolidWorks", "CAD", "Skizze", "sketch", "Welle", "Zylinder", "Kegel" Voraussetzungen: Windows, SolidWorks 2015+, Python mit pywin324---56# SolidWorks Automation Skill78Dieser Skill ermöglicht die Automatisierung von SolidWorks über natürliche Sprache.910## Voraussetzungen1112- Windows-Betriebssystem13- SolidWorks 2015 oder neuer (muss laufen)14- Python 3.x mit pywin32: `pip install pywin32`15- Ein geöffnetes Part-Dokument in SolidWorks1617## Workflow18191. **Nutzer beschreibt** was erstellt werden soll (z.B. "Zeichne ein Rechteck 100x50mm und extrudiere es 20mm")202. **Claude generiert** Python-Code basierend auf diesem Skill213. **Code wird ausgeführt** in SolidWorks224. **Ergebnis** erscheint im SolidWorks-Modell2324## Wichtige API-Hinweise2526### Einheiten27- SolidWorks API verwendet **Meter**, nicht Millimeter28- Immer `mm / 1000` rechnen vor API-Aufruf29- Beispiel: 100mm = 0.1 Meter3031### Sketch-Operationen32- Sketch muss **aktiv** sein vor Zeichenoperationen33- `InsertSketch()` startet neuen Sketch auf ausgewählter Ebene34- `InsertSketch()` beendet auch aktiven Sketch3536### Feature-Operationen37- Features brauchen geschlossene Skizzen38- Nach Sketch: `InsertSketch()` zum Beenden39- Dann Feature-Methode aufrufen4041## Verfügbare Operationen4243### 2D Skizzen (SketchManager)4445| Operation | Methode | Beispiel |46|-----------|---------|----------|47| Linie | `sw.sketch.line(x1, y1, x2, y2)` | Gerade zwischen zwei Punkten |48| Kreis | `sw.sketch.circle(diameter=100)` | Kreis mit Durchmesser |49| Rechteck | `sw.sketch.rectangle_centered(width, height)` | Zentriertes Rechteck |50| Ellipse | `sw.sketch.ellipse(major_radius, minor_radius)` | Ellipse |51| Bogen | `sw.sketch.arc(cx, cy, radius, start, end)` | Kreisbogen |52| 3-Punkt-Bogen | `sw.sketch.three_point_arc(x1,y1,x2,y2,x3,y3)` | Bogen durch 3 Punkte |53| Spline | `sw.sketch.spline(points, closed)` | Freiformkurve |54| Polygon | `sw.sketch.polygon(cx, cy, radius, sides)` | Regelmäßiges Vieleck |55| Langloch | `sw.sketch.slot(x1, y1, x2, y2, width)` | Slot/Langloch |56| Beziehung | `sw.sketch.add_relation("horizontal")` | Sketch-Constraints |5758### 3D Features (FeatureManager)5960| Operation | Methode | Beschreibung |61|-----------|---------|--------------|62| Extrusion | `sw.feature.extrude(depth)` | Profil in Tiefe ziehen |63| Schnitt | `sw.feature.cut(depth)` | Material entfernen |64| Drehkörper | `sw.feature.revolve(angle)` | Rotation um Achse |65| Dreh-Schnitt | `sw.feature.revolve_cut(angle)` | Rotationsschnitt |66| Fase | `sw.feature.chamfer(distance)` | Kante abschrägen |67| Verrundung | `sw.feature.fillet(radius)` | Kante abrunden |68| Linear Pattern | `sw.feature.linear_pattern(dir, count, spacing)` | Lineares Muster |69| Bohrungsmuster | `sw.feature.circular_hole_pattern(...)` | Kreisförmiges Lochmuster |70| Spiegeln | `sw.feature.mirror(plane)` | Feature spiegeln |71| Referenzebene | `sw.feature.reference_plane(offset)` | Neue Ebene erstellen |7273### Quick-Funktionen7475| Funktion | Beschreibung |76|----------|--------------|77| `quick_box(w, h, d)` | Schnell einen Quader erstellen |78| `quick_cylinder(d, h)` | Schnell einen Zylinder erstellen |79| `quick_pipe(outer, inner, length)` | Rohr/Hohlzylinder |80| `quick_revolve(points, axis, angle)` | Drehkörper aus Profil |81| `quick_plate_with_holes(...)` | Platte mit Bohrungen |8283## Code-Generierung8485Wenn du Code generierst, verwende immer das Script aus `scripts/sw_automation.py`.8687### Standard-Template8889```python90from sw_automation import SolidWorksAutomation9192# Verbindung herstellen93sw = SolidWorksAutomation()9495# Operationen ausführen96# ... (spezifische Operationen hier)9798# Speichern99sw.save()100```101102### Beispiel: Rechteck extrudieren103104```python105from sw_automation import SolidWorksAutomation106107sw = SolidWorksAutomation()108109# Rechteck zeichnen (100x50mm, zentriert)110sw.sketch.rectangle_centered(width=100, height=50)111112# Extrudieren (20mm tief)113sw.feature.extrude(depth=20)114115sw.save()116```117118### Beispiel: Kreis mit Bohrungen119120```python121from sw_automation import SolidWorksAutomation122123sw = SolidWorksAutomation()124125# Kreis zeichnen (Durchmesser 200mm)126sw.new_sketch("Front")127sw.sketch.circle(diameter=200)128sw.end_sketch()129130# Extrudieren131sw.feature.extrude(depth=10)132133# 8 Bohrungen auf Lochkreis134sw.feature.circular_hole_pattern(135 num_holes=8,136 hole_diameter=10,137 pitch_circle_diameter=150,138 hole_depth=10139)140141sw.save()142```143144### Beispiel: Drehkörper (Kegel)145146```python147from sw_automation import SolidWorksAutomation148149sw = SolidWorksAutomation()150sw.new_sketch("Front")151152# Dreieckiges Profil für Kegel153sw.sketch.line(0, 0, 30, 0) # Basis154sw.sketch.line(30, 0, 0, 60) # Schräge155sw.sketch.line(0, 60, 0, 0) # Schließen156157# Mittellinie für Rotation158sw.sketch.line(0, -10, 0, 70)159160sw.end_sketch()161sw.feature.revolve(angle=360)162sw.save()163```164165### Beispiel: Quick-Funktionen166167```python168from sw_automation import quick_box, quick_cylinder, quick_pipe169170# Quader 100x50x30mm171quick_box(100, 50, 30)172173# Zylinder Ø80mm, Höhe 50mm174quick_cylinder(80, 50)175176# Rohr Außen Ø50, Innen Ø40, Länge 100mm177quick_pipe(50, 40, 100)178```179180## Referenzen181182Für detaillierte API-Dokumentation siehe:183- `references/sketch-operations.md` - Alle Skizzen-Methoden184- `references/feature-operations.md` - Alle Feature-Methoden185- `references/examples.md` - Weitere Beispiele186187## Sprachunterstützung188189Der Skill versteht Deutsch und Englisch:190191**Deutsch:**192- "Zeichne ein Rechteck 100x50mm"193- "Erstelle eine Extrusion 20mm tief"194- "Füge 8 Bohrungen M10 auf Lochkreis 200mm hinzu"195196**English:**197- "Draw a rectangle 100x50mm"198- "Create an extrusion 20mm deep"199- "Add 8 M10 holes on pitch circle 200mm"200201## Fehlerbehandlung202203Häufige Fehler und Lösungen:204205| Fehler | Ursache | Lösung |206|--------|---------|--------|207| "Failed to connect" | SolidWorks nicht gestartet | SolidWorks starten |208| "No active document" | Kein Part geöffnet | Part-Dokument öffnen |209| "Sketch not active" | Sketch nicht gestartet | `InsertSketch()` aufrufen |210| "Feature creation failed" | Sketch nicht geschlossen | Sketch beenden vor Feature |