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 |
Nummer 10 Feature auflisten |
Variante von u.clemens mit Excel |
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.
' *************************************************** |
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
Kritik und Anregungen bitte an Stefan Berlitz. Letzte Änderung dieser Seite am Donnerstag, 01. Februar 2007 17:40 |