In diesem Video werde ich euch eine weitere Methode zeigen, wie in einem Dokument der FeatureManager durchsucht werden kann. Dabei wir der Schwerpunkt auf den Baugruppen liegen.
Und an dieser Stelle der Code der im Makro vorhanden ist.
Option Explicit
Sub main()
Dim swApp As SldWorks.SldWorks
Set swApp = Application.SldWorks
Dim swModel As ModelDoc2
Set swModel = swApp.ActiveDoc
If swModel Is Nothing Then
swApp.SendMsgToUser2 "Keine Datei geöffnet.", swMessageBoxIcon_e.swMbStop, swMessageBoxBtn_e.swMbOk
Exit Sub
End If
Dim swAssembly As AssemblyDoc
Dim arrComponents As Variant
If swModel.GetType = swDocumentTypes_e.swDocASSEMBLY Then
Set swAssembly = swModel
arrComponents = swAssembly.GetComponents(False)
Else
Exit Sub
End If
Dim component As Variant
For Each component In arrComponents
Dim swComponent As Component2
Set swComponent = component
Debug.Print swComponent.Name2
Dim tempMD2 As ModelDoc2
Set tempMD2 = swComponent.GetModelDoc2
If tempMD2 Is Nothing Then
Debug.Print "Kein ModelDoc2 gefunden."
Else
Debug.Print tempMD2.GetPathName
End If
Next
End Sub
vielen Dank für das tolle und verständliche Video.
In großen Baugruppen sortiere ich die einzelnen Komponenten oder Baugruppen in Ordner, da die Ordner die Nummern von der Stückliste entsprechen wäre es schön wenn diese auch mit ausgelesen werden können.
Dadurch ist die Struktur die im Featurebaum festgelegt wurde die gleiche wie in der Stückliste (vom Warenwirtschaftssystem).
Zu meiner Frage:
Kann die Struktur im Featurebaum exakt ausgelesen werden und als Liste (z.B. Excel-Tabelle) ausgegeben werden?
Bsp.:
Ordner1: Pos.1
Teil1.sldprt
Teil2.sldprt
BG1.sldasm
Ordner2: Pos.2
Teil3.sldprt
…
Hallo Jan,
vielen Dank für die anerkennenden Worte.
Ja, man kann den Featurebaum auslesen, wie er angezeigt wird. Das macht man mit dem ITreeControlItem Interface.
https://help.solidworks.com/2022/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.itreecontrolitem.html
Dort gibt es auch ein Beispiel.
https://help.solidworks.com/2022/english/api/sldworksapi/Traverse_FeatureManager_Design_Tree_VB.htm
Wenn das nicht hilft, dann sollten wir einmal ein Zoom Meeting machen. Schreibe mir dazu eine Mail an swmp@berndhornemann.de mit Zeiten, wann du Zeit dafür hast.
Beste Grüße
Bernd