SOLIDWORKS Tipp: Abfrage aller Features

1. Einführung

Wenn man mit SOLIDWORKS arbeitet, muss man früher oder später auf Features zugreifen können, um diese zu bearbeiten. Um es nur zu selektieren, es zu löschen oder zu bearbeiten. In diesem Technical Tip zeige ich Ihnen, wie alle Features abgefragt und gewisse Funktionen ausgeführt werden können. Hierfür wird eine Standalone Anwendung aufgebaut. Das SOLIDWORKS Modell wird ganz simpel aufgebaut und enthält eine Skizze, sowie ein Extrude.

2. SOLIDWORKS Modell

Als Beispiel soll folgendes Modell zur Verfügung stehen:

Abbildung 1: SOLIDWORKS Modell

Um ein Beispiel zu haben, soll der Name des Skizzen-Features umbenannt werden.

3. Visual Studio Projekt

Um das Beispiel zu testen, wird ein simples Forms Projekt erstellt. Anschliessend werden wieder die SOLIDWORKS Librarys hinzugefügt, damit die API genutzt werden kann. In einem vorherigen Tech Tip wurde erklärt, wie diese leicht über NuGet hinzugefügt werden können. Die Pakete kann sind dann im NuGet- Manager auffindbar:

Abbildung 2: SOLIDWORKS Library

Zum Starten einer Funktion wird ein simpler Button auf die Form gelegt, welcher dann über das Klick-Event eine Funktion ausführt. In dieser Funktion werden nun alle Features durchlaufen. Hierzu wird zuerst die Referenz zu SOLIDWORKS hergestellt und das aktive Dokument abgefragt. Nun kann eine Foreach-Schleife erstellt werden, die alle Elemente eines Arrays durchläuft. Das Objekt Array liefert der Feature-Manager des aktiven Dokuments mit der Funktion GetFeatures:

SOLIDWORKS Hilfe

Jetzt können wir in dieser Schleife auf jedes Element zugreifen. Es fehlt jedoch eine Identifikation, sodass nur der Name der Skizze geändert wird. Dazu fügen wir eine If-Abfrage ein, welche die Funktion GetTypeName2() auf dem Feature aufruft und das Ergebnis mit einem String vergleicht. Die Funktion GetTypeName2() liefert den Typ des Features ab. Eine Liste mit möglichen Werten kann in der SOLIDWORKS- Hilfe gefunden werden:

SOLIDWORKS Hilfe

Für eine Skizze ist der Wert ProfileFeature. Nun braucht nur noch der Name in dieser If-Abfrage zugewiesen werden und die Skizze hat einen anderen Namen.

4. Ergebnis

Jetzt kann das Beispielmodell geöffnet und der Code gestartet werden. Hat alles geklappt, sollte die Skizze einen anderen Namen besitzen.

Abbildung 3: Ergebnis

Der komplette Code kann anschliessend wieder in unserem Repository heruntergeladen werden:

Code herunterladen

Autor des Artikels

Martin Bartolome, Application Engineer bei Visiativ