• Support
  • Karriere
  • Blog
  • SOLIDWORKS testen
  • Schweiz Visiativ Switzerland (DE)
    • Deutschland Visiativ Germany
    • Österreich Visiativ Austria
    • Schweiz Visiativ Switzerland (DE)
    • Schweiz Visiativ Switzerland (FR)
Visiativ CH
  • Aktuelles
    • Visiativ Blog: Tipps & Tricks
    • Angebote & Aktionen
    • Events
    • SOLIDWORKS Tutorial Videos
    • Downloads
    • SOLIDWORKS Hilfe – FAQ
    • 3D-Druck Hilfe – FAQ
  • Consulting
    • PLM-Beratung
    • PDM-Beratung
    • CAD-Beratung
    • Visiativ Transformation Pilot
  • Lösungen
    • Produktentwicklung
      • Konstruktion & Entwicklung
      • Projektmanagement & Zusammenarbeit
    • PLM-Systeme
      • PLM-System
      • PDM-System
      • Cloud-Lösungen
    • Simulation
      • FEM-Simulation
      • Strömungssimulation
      • Spritzgusssimulation
      • Bewegungssimulation
    • Fertigung
      • Digitale Fertigung
      • Subtraktive Fertigung (CAM)
      • Additive Fertigung (3D-Druck)
    • Marketing
      • Technische Kommunikation
      • Visualisierung
  • Software
    • Dassault Systèmes Software
      • 3DEXPERIENCE Plattform
      • SOLIDWORKS 3D-CAD
      • SOLIDWORKS PDM
      • SOLIDWORKS Simulation
      • SOLIDWORKS Composer
      • SOLIDWORKS Visualize
      • SOLIDWORKS Electrical
      • SOLIDWORKS Testversion
      • CATIA
      • SIMULIA
      • ENOVIA
      • DELMIA
      • DraftSight
      • …mehr anzeigen ➝
    • Partner-Software
      • SolidCAM
      • SolidSteel parametric
      • DriveWorks
      • SWOOD
      • Qubes
      • Dimo Maint
      • …mehr anzeigen ➝
    • Visiativ Software
      • Visiativ PLM
      • myCADtools
      • myPDMtools
      • Visiativ Customer Service Portal
      • Visiativ Spare Parts
      • PDM Gateway
      • Quality Process
      • SolidWATCH
  • Hardware
    • 3D-Drucker
    • CAD-Workstation für SOLIDWORKS und CATIA
  • Schulungen
    • Alle Schulungen
    • Schulungskalender
    • Schulungskatalog
  • Referenzen
  • Unternehmen
  • Kontakt
  • Angebot anfordern
  • Menü Menü
Startseite1 / Visiativ Blog2 / SOLIDWORKS Klassen in C# erstellen

SOLIDWORKS Klassen in C# erstellen

Technische Kommunikation, Tipps & Tricks

Im folgenden Artikel wird beschrieben, wie mit Visual Studio und C# eine Klasse für alle SOLIDWORKS Dateien erstellt werden kann, welche mit weiteren Funktionen beliebig erweitert werden kann. Dies soll die Handhabung mit Klassen verdeutlichen und verständlicher machen. Hierzu wird ein Projekt erstellt und anschliessend eine Klasse erstellt. Anschliessend wird gezeigt, wie diese instanziiert und mit Eigenschaften und Methoden befüllt wird.

1 Einführung

Werden Anwendungen für SOLIDWORKS geschrieben, kann es schnell dazu kommen, dass der Code einfach in einer Klasse geschrieben wird oder der Code doppelt vorkommt. Was wiederum dazu führt, dass dieser irgendwann von niemandem mehr gelesen werden kann. Eine grundlegende Funktion hierfür wäre das Erstellen einer Klasse, welche alle zusammengehörigen Informationen und Funktionen bündelt und somit alles an einem Ort verwaltet.

2 Was ist eine Klasse?

Eine Klasse ist in C# eine Ansammlung von Eigenschaften und Methoden. Dies kann man sich z.B. so vorstellen: Eine Klasse für ein Auto besteht aus den Eigenschaften

  • Farbe,
  • Anzahl der Türen
  • und dem Verkaufspreis
  • sowie allem was noch zu einem Auto gehört.

Eine Methode wiederum wäre z.B. das Beschleunigen oder das Bremsen des Autos. Übertragen auf eine SOLIDWORKS Datei wären die Eigenschaften also  z.B. der Dateipfad oder welche Art von Datei (Teil, Baugruppe oder Zeichnung) vorliegt. Methoden könnten das Verschieben oder Kopieren der Datei sein oder auch eine Bearbeitung der Datei.

3 Projekt erstellen

Zuerst wird ein neues Projekt erstellt, sodass ein leeres (es geht natürlich auch ein bereits vorhandenes) Projekt vorliegt. Dieses Projekt könnte aussehen, wie unser Beispiel in Abbildung 1. Dieses Projekt besteht aktuell aus einer leeren Form und einer Programm-Klasse, welches diese Form startet.

Abbildung 1: Leeres Projekt

Um die Dateien geordnet zu halten, wird ein Ordner erstellt (Rechtsklick auf das Projekt – Hinzufügen – Neuer Ordner). Dieser wird z.B. Models genannt. In diesem wird eine neue Klasse erstellt (Rechtsklick auf den Ordner – Hinzufügen – Klasse). Der Name dieser Klasse könnte z.B. SolidworksFile sein. Ist dies gemacht sollte das Projekt aussehen wie in Abbildung 2.

Abbildung 2: Hinzugefügte Klasse

4 Klasse Instanziieren

Nun wurde eine Klasse erstellt und diese kann bereits verwendet werden. Hierzu müssen wir dorthin wechseln, wo diese Funktion verwendet werden soll. In diesem Beispiel wurde von der Form das Event benutzt, wenn diese geladen wurde. Dies wird in Abbildung 3 ersichtlich.

Um nun diese Klasse zu nutzen, wird einfach der Name der Klasse geschrieben, gefolgt von einem beliebigen Objektnamen. In diesem Fall „MySolidworksFile“. Anschliessend wird gleich eine neue Instanz davon erstellt, indem

  • das Schlüsselwort „new“
  • gefolgt von dem Namen der Klasse
  • und zwei Klammern

ergänzt wird. Sollte es nicht bereits automatisch geschehen sein, muss ein “using” zur neuen Klasse hinzugefügt werden.

Abbildung 3: Instanz der Klasse

5 Klasse mit Eigenschaften füllen

Nun ist es möglich mit der Instanz zu arbeiten, jedoch fehlt es noch an Eigenschaften und Methoden. Hierzu wird unsere in Abschnitt 3 erstellte Klasse geöffnet. Als erstes erfolgt die Überlegung, was alles gespeichert werden soll. Um zu starten, wird der Pfad der Datei, sowie dessen Typ gespeichert. Der Pfad wird dabei in einem String gespeichert und der Typ könnte als int-Wert gespeichert werde. Dabei könnte folgende Zuordnung stattfinden:

0 Teil (SLDPRT)

1 Baugruppe (SLDASM)

2 Zeichnung (SLDDRW)

In Abbildung 4 sehen Sie wie die Eigenschaften aussehen können. Hier wird ein String für den Pfad und ein int für den Typ erstellt. Diese erhalten das Schlüsselwort „private“, da es nicht möglich sein soll, die Werte nach belieben zu ändern, sondern höchstens mit Methoden in dieser Klasse

Abbildung 4: Eigenschaften der Klasse

6 Klasse mit Methoden füllen

Eine ganz besondere Methode ist der Konstruktor. Dieser wird immer als aller erstes aufgerufen. Dieser kann verwendet werden, um Werte gleich am Anfang zu berechnen. Damit ist es ebenfalls möglich gleich beim Instanziieren des Objekts einen Parameter zu übergeben.

Ein Konstruktor wird erzeugt, indem einfach eine Methode erstellt wird, welche den Namen der Klasse besitzt. Ein Rückgabewert darf diese Methode nicht erhalten und sie sollte das Schlüsselwort „public“ erhalten, damit diese weiterhin für alle Beteiligten zur Verfügung steht. Ebenfalls sollte immer beim Instanziieren ein Pfad angegeben werden, damit das Objekt, welches später erstellt wird immer den Pfad zur Verfügung hat. Dieser Parameter wird anschliessend direkt in unsere Variable geschrieben. Der Code sollte anschliessend aussehen, wie in Abbildung 5.

Abbildung 5: Konstruktor der Klasse

Als weitere Funktion soll gleich die Berechnung stattfinden, um herauszufinden, ob es sich um ein Teil, eine Baugruppe oder eine Zeichnung handelt. Hierzu wird eine bereits bestehende Methode von Microsoft benutzt, welche im Namespace System.IO verfügbar ist. Mit Path.GetExtension(String) ist es möglich die Dateiendung von einem Pfad  herauszulesen.

Dies kann z.B. in einer If oder Switch Anweisung überprüft werden. In Abbildung 6 wurde dies mit einer Switch Anweisung gelöst und die Typen wurden wie bereits definiert zugewiesen. In der Überprüfung wird die Dateiendung herausgelesen und alle Zeichen mit .ToLower() klein geschrieben. Dies dient der Vorbeugung von verschiedenen Dateiendungen wie z.B. „.sldprt“ und „.SLDPRT“. Sollte keine Zuweisung stattfinden können wird der Typ -1 festgelegt.

Abbildung 6: Berechnung des Typs der Datei

Um zu testen, ob alles funktioniert, können wir zusätzlich eine Methode einbauen, welche diesen Typ zurück gibt. Hierzu wird eine public Methode geschrieben, die den Rückgabewert int besitzt. Der Name der Methode kann frei gewählt werden. In Abbildung 7 wurde der Name GetFileType verwendet.

Abbildung 7: Rückgabe des Dateityps

7 Verwendung der Methoden

Wenn es Ihnen nicht bereits aufgefallen ist, meldet die in Abschnitt 4 durchgeführte  Instanziierung nun einen Fehler. Dies passiert, da wir in Abschnitt 6 ausdrücklich definiert haben, dass ein Parameter übergeben werden muss. Also wird nun wie in Abbildung 8 abgebildet ist, der Pfad für die Datei übergeben.

Abbildung 8: Anhabe des Parameters

Es wurde zudem auch eine MessageBox eingebaut, welche die Methode „Get-FileType()“ des Objekts aufruft und den zurückgegeben Wert anzeigt. Wird das Programm nun ausgeführt, wird zuerst der Dateityp 0 und anschliessend der Dateityp 2 angezeigt.

8 Fazit

Die nun erstellte Klasse kann um beliebig viele Methoden und Eigenschaften erweitert werden. Die Erstellung von Klassen ist sehr einfach und hilfreich, um strukturiertes und leserliches Programmieren zu gewährleisten.

In meinem nächsten Technical Tip werde ich zeigen, wie es möglich ist, diese zu vererben, sodass diese Funktionen auch in anderen Klassen zur Verfügung stehen.

Autor des Artikels

Martin Möllenhoff, R&D Developer bei Visiativ Solutions Switzerland

18. Mai 2021
https://www.visiativ.ch/wp-content/uploads/sites/3/2024/04/CH-DE_TT_Klassen-in-C_3-1.png 453 523 alma https://www.visiativ.ch/wp-content/uploads/sites/3/2023/03/visiativ-logo-340x156px-3.png alma2021-05-18 07:13:162024-10-15 14:46:38SOLIDWORKS Klassen in C# erstellen
Das könnte Sie auch interessieren
DraftSight - der ApplikationsbuttonDraftSight: Der Applikationsbutton
Tipps zur Nennwanddicke für SpritzgussteilenTipps zur Nennwanddicke für Spritzgussteile
Modellansicht drehen in SOLIDWORKSModellansicht drehen in SOLIDWORKS
DraftSight 3D-PyramideDas 3D-CAD-System DraftSight
MB CAD Draftsight BlogDraftSight Video Tutorial – Elementauswahl, Teil 2
Neuigkeiten und Tipps zur Verwaltung und Installation von SOLIDWORKS 2022

Follow us

  • LinkedIn
  • Youtube
Beliebt
  • SOLIDWORKS Installation
    SOLIDWORKS Installationsdaten downloaden
  • MB CAD Draftsight Blog
    DraftSight Video Tutorial – Elementauswahl, Teil 2
  • Oops - Befehle eintippen in DraftSight Teil 1
    Oops – Befehle eintippen in DraftSight Teil 1
  • Arbeitsbereich automatisch speichern
    DraftSight Oberfläche anpassen
  • SOLIDWORKS Kurvenfunktionen - Spirale und Helix
    Kurvenfunktionen in SOLIDWORKS – Teil 2

Kategorie

Visiativ Logo weiß
Abonnieren Sie unseren Newsletter ➝

Darum geht’s

Dienstleistungen
Software
SOLIDWORKS
3DEXPERIENCE Plattform
SOLIDWORKS Schulungen
SOLIDWORKS Angebot

Über Visiativ Switzerland

Unternehmen
Karriere
Kundenreferenzen
Glossar

Ausgezeichneter Support

Hotline & Support
Remote Support | TeamViewer
Tutorials & Videos
SOLIDWORKS Download
Hilfe – FAQ

Kontakt

T: +41 58 433 33 33
Kontakt aufnehmen

SOLIDWORKS Authorized Reseller SOLIDWORKS Certified Training & Support Provider SOLIDWORKS Certified Advanced Services Provider Certified Advanced Analysis ProviderSOLIDWORKS Certified Documentation & Services Provider

FOLGEN SIE UNS:

  • YouTube
  • Linkedin
Visiativ Logo weiß
Abonnieren Sie unseren Newsletter ➝

Darum geht’s

Dienstleistungen
Software
SOLIDWORKS
3DEXPERIENCE Plattform
SOLIDWORKS Schulungen
SOLIDWORKS Angebot

Über Visiativ Switzerland

Unternehmen
Karriere
Kundenreferenzen
Glossar

Ausgezeichneter Support

Hotline & Support
Remote Support | TeamViewer
Tutorials & Videos
SOLIDWORKS Download
Hilfe – FAQ

Kontakt

T: +41 58 433 33 33
Kontakt aufnehmen

SOLIDWORKS Authorized Reseller SOLIDWORKS Certified Training & Support Provider SOLIDWORKS Certified Advanced Services Provider
Certified Advanced Analysis ProviderSOLIDWORKS Certified Documentation & Services Provider

  • FOLGEN SIE UNS:
    • YouTube
    • Linkedin
Visiativ Logo weiß

International

International

Belgien – Deutschland – Frankreich – Kanada – Irland – Marokko – Niederlande – Österreich – Polen – Schweiz – USA – Vereinigtes Königreich (UK)

© 2025 Visiativ Switzerland AG

Datenschutz | AGB | Schulungsbedingungen | Impressum | Kontakt

Link to: Webanleitung für Batteriewechsel mit svg-Dateien Link to: Webanleitung für Batteriewechsel mit svg-Dateien Webanleitung für Batteriewechsel mit svg-Dateien Link to: Flächenbegrenzung erzeugen mit DraftSight Link to: Flächenbegrenzung erzeugen mit DraftSight DraftSight Flächenbegrenzung erzeugenFlächenbegrenzung erzeugen mit DraftSight Nach oben scrollen Nach oben scrollen Nach oben scrollen