| | |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS | | | |  | InnovateNext 26. in Donaueschingen, eine Veranstaltung am 13.11.2025
|
|
Autor
|
Thema: VBA | Komponenten in der Baugruppe ermitteln (1221 / mal gelesen)
|
fabian1243 Mitglied Maschinen-Konstrukteur

 Beiträge: 44 Registriert: 28.06.2018 SW 2021 Win 10 Pro v1909
|
erstellt am: 13. Mrz. 2020 21:34 <-- editieren / zitieren --> Unities abgeben:         
Hallo Leute, Die nachfolgende Funktion ermittelt ob eine Datei in einer Baugruppe vorhanden ist oder nicht. Code:
Option ExplicitPublic swApp As Object Public swModel As SldWorks.ModelDoc2 Public swAssembly As SldWorks.AssemblyDoc Public swComponent As SldWorks.Component2 Public vComponents As Variant Public lCompCount As Long Sub Test() If InBaugruppe("C:\Baugruppe1.SLDASM", "C:\Teil1.SLDPRT") Then MsgBox "Die Datei ist in der Baugruppe verbaut" Else MsgBox "Die Datei wird in der Baugruppe nicht verwendet" End If End Sub Public Function InBaugruppe(PfadBaugruppe As String, PfadDatei As String) As Boolean Dim i As Integer Dim Zwischenspeicher As String Dim Errors As Long Set swApp = Application.SldWorks swApp.DocumentVisible False, swDocASSEMBLY Set swModel = swApp.OpenDoc3(PfadBaugruppe, swDocASSEMBLY, True, True, True, True, Errors) Set swAssembly = swModel InBaugruppe = False lCompCount = swAssembly.GetComponentCount(True) vComponents = swAssembly.GetComponents(True) For i = 0 To lCompCount - 1 Set swComponent = vComponents(i) Zwischenspeicher = swComponent.GetPathName If Zwischenspeicher = PfadDatei Then InBaugruppe = True Exit For End If Next i swApp.DocumentVisible True, swDocASSEMBLY swApp.QuitDoc swModel.GetTitle Set swModel = swApp.ActiveDoc End Function
[Diese Nachricht wurde von fabian1243 am 14. Mrz. 2020 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
fabian1243 Mitglied Maschinen-Konstrukteur

 Beiträge: 44 Registriert: 28.06.2018 SW 2021 Win 10 Pro v1909
|
erstellt am: 14. Mrz. 2020 15:02 <-- editieren / zitieren --> Unities abgeben:         
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |