Erweiterungsmöglichkeiten in C# für SOLIDWORKS

1 Einführung

Bei der Arbeit mit C# gibt es immer viele Funktionen und Methode, welche verwendet werden. Nun stellt z.B. SOLIDWORKS für die einzelnen Teile, Baugruppen und Zeichnungen bereits viele verschiedene Methoden zur Verfügung. Nun sollen diese Objekte jedoch um eigene Funktionen erweitert werden. Wie dies funktioniert wird in diesem TecTip erklärt.

2 Ausgangslage

Es soll eine Erweiterungsmethode für das ModelDoc2 Objekt von SOLIDWORKS geschrieben werden. Und zwar soll der Name in einer MessageBox ausgegeben werden, indem die Funktion ModelDoc2.PrintName() aufgerufen wird.

3 Projekt erstellen

Als erstes wird ein neues Projekt in Visual Studio erstellt. Hierzu verwenden wird eine Windows Forms App (alternativ auch in einer Library, welche dann in anderen Projekten verwendet wird) für das .NET Framework, wie in Abbildung 1 zu sehen ist. Projekt Name, Speicherort und Solution Name können anschliessend frei gewählt werden. Als Framework sollte .NET Framework 4.5 oder höher ausgewählt werden. In diesem Beispiel wird die neuste Version .NET Framework 4.8 verwendet.

Technical Tip: Extensions in C#

Abbildung 1: Erstellung eines neuen Projekts in Visual Studio

Nachdem das Projekt erstellt wurde muss wie immer die korrekte Library von SOLIDWORKS hinzugefügt werden, damit wir mit der API richtig arbeiten können. Hierfür benötigen wir 2 Dateien, die im Installationsverzeichnis von SOLIDWORKS (meist C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS) zu finden sind:

  • SolidWorks.Interop.sldworks.dll
  • SolidWorks.Interop.swconst.dll

Diese werden im Projekt als Referenz hinzugefügt. Dies geschieht über einen Rechtsklick auf Referenzen, Referenz hinzufügen und dann können diese über den Button Browse ausgewählt und hinzugefügt werden. Sobald diese im Projekt zur Verfügung stehen, müssen die Einstellungen für diese beiden Dateien angepasst werden. Die Einstellung ‚Embed Interop Types‘ muss hierbei auf False gesetzt werden, wie in Abbildung 2

Technical Tip: Extensions in C#

Abbildung 2: Einstellung der Referenzen

Nun kann im Code der Form1 die Usings hinzugefügt werden. Diese werden vor dem Name-space eingefügt:

 

  • using SolidWorks.Interop.sldworks;
  • using SolidWorks.Interop.swconst;

4 Erweiterungsmethode erstellen

Um eine Erweiterungsmethode zu erstellen, wird zunächst eine neue Klasse benötigt. Hierfür kann eine neue Datei erstellt werden; diese kann aber auch in der Form1.cs Datei hinzugefügt werden. Dies ist in Abbildung 3 dargestellt.

Abbildung 3: Erweiterungsmethode

Diese Klasse hat die Besonderheit, dass sie statisch ist. Die Methoden, welche hier erstellt werden, müssen ebenfalls statisch sein. Dies wird mit dem Wort Static definiert. Als Parameter wird hier wie gewohnt ein ModelDoc2 Objekt erwartet. Mit der Besonderheit, dass ein this vor diesem Parameter geschrieben wird. Dies hat den Vorteil, dass nun auf jedem ModelDoc2 Objekt diese Methode aufgerufen werden kann, ohne direkt einen Parameter einzugeben. Dies wird ebenfalls in Abbildung 4 dargestellt.

Technical Tip: Extensions in C#

Abbildung 4: Verwendung der Methode

Wenn diese Methode so verwendet wird, wird das Objekt von dem diese Methode aufgerufen wird, automatisch als Parameter übergeben.

5 Fazit

Das Verwenden von Erweiterungsmethoden ist leicht und schafft Ordnung in den Projekten. Es kann ebenfalls das Geschriebene lesbarer machen. Man könnte auch ein Methode erstellen und diese um Parameter erweitern und z.B. eine ModelDoc2.Spin(int degree) Methode erstellen. Diese würde dann das aktuelle Objekt in SOLIDWORKS drehen. Das würde Sinn ergeben und einen zukünftigen Programmierer das einlesen erheblich erleichtern.

Wir hoffen sehr, dass Ihnen dieser Technical Tip dabei hilft, Erweiterungsmethoden in Visual Studio und C# zu schreiben.

  • Wie hilfreich sind diese Technical Tips für Sie im Alltag?
  • Haben Sie Vorschläge für einen Technical Tip?

Teilen Sie Ihre Erfahrungen mit uns: am besten als Kommentar, hier oder auf unserer LinkedIn-Seite.

Autor des Artikels

Martin Bartolomé, Application Engineer bei Visiativ

Sie möchten keine News aus der CAD-Welt mehr verpassen?

Mit unserem Newsletter bleiben Sie auf dem Laufenden: Produktneuheiten, Tipps und Tricks, Anleitungen, Erfahrungsberichte, Erfolgsgeschichten, Fotos, Veranstaltungsberichte und vieles mehr.

Bleiben Sie informiert und abonnieren Sie unseren Newsletter: