SolidWorks MakroMania - Feature auflisten

SolidWorks MakroMania ist eine Beispielsammlung einiger Makros, die Ihnen eine Vorstellung davon geben soll, was man auch schon mit Makros in SolidWorks alles anstellen kann. Der Code des Makros sollte so gut dokumentiert sein, dass Sie damit ohne weitere Anleitung verstehen, was gemacht wird.

< voriges
MakroMania
Übersicht


nächstes >

Nummer 10
Feature auflisten

Download
ZIP, 10 KB

Variante von u.clemens mit Excel
ZIP, 14 KB

Ich übernehme keine Haftung für die korrekte Funktion der Routinen oder irgendwelcher Schäden bei der Anwendung dieser Beispiele. Das gesamte Risiko trägt der Benutzer selbst. - Sorry, muss sein.

Als Beispiel, wie durch die Feature eines Parts gegangen werden kann ein SW2001 Makro, dass einfach in einer Textbox alle Feature und Subfeatures listet und dabei den Unterdrückungsstatus mit ausgibt. Starten erfolgt wie üblich in der Main-Prozedur, die ruft dann einfach nur die Userform auf.

 

' ***************************************************
' Beispiel zum Auslesen aller Feature in einem Part
' Stefan Berlitz 18.10.2001
' http://solidworks.cad.de
' http://swtools.cad.de

Sub main()
    ' alle Funktionen und Aufrufe in der Userform
    UserForm.Show

End Sub

In der Userform gibt es das Textfeld und zwei Befehlsschaltflächen:

Private Sub cmdExit_Click()
    End
End Sub

Private Sub cmdGetFeatureList_Click()

    Dim swApp As Object
    Dim Part As Object
    Dim FeatureData As Object
    Dim Feature As Object
    Dim featureName As String
    Dim subFeatureName As String

    Set swApp = CreateObject("SldWorks.Application")
    Set Part = swApp.ActiveDoc

    ' Ausgabe vorbereiten
    txtAusgabe.Text = "Beispiel listet alle Feature im Part auf" + vbCrLf

    ' das erste Feature im Part suchen
    Set Feature = Part.FirstFeature

    ' dann eine Schleife über alle Feature
    While Not Feature Is Nothing

        featureName = Feature.Name ' Get the name of the feature
        If Feature.IsSuppressed Then
            featureName = featureName + " (*** unterdrückt ***)"
        End If
        txtAusgabe.SelText = vbCrLf + featureName

        ' dann die Subfeatures auslesen
        Set subFeat = Feature.GetFirstSubFeature
        While Not subFeat Is Nothing
            subFeatureName = subFeat.Name
            If subFeat.IsSuppressed Then
                subFeatureName = subFeatureName + " (*** unterdrückt ***)"
            End If
            ' an die Ausgabe anhängen
            txtAusgabe.SelText = vbCrLf & " " + subFeatureName
            ' nächstes Subfeature
            Set subFeat = subFeat.GetNextSubFeature
        Wend
        ' und das nächste Feature abklappern
        Set Feature = Feature.GetNextFeature()
    Wend

    ' und noch allen Text sichtbar machen
    txtAusgabe.SelStart = 0
    txtAusgabe.SetFocus
End Sub

Zurück zum Seitenanfang

hr.gif (4491 Byte)

counter Kritik und Anregungen bitte an Stefan Berlitz. Letzte Änderung dieser Seite am Donnerstag, 01. Februar 2007 17:40