| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Prüfen ob Baugruppe vorhanden ist? (1604 mal gelesen)
|
iUser Mitglied
Beiträge: 38 Registriert: 26.11.2013 Inv2k13
|
erstellt am: 23. Jan. 2014 11:45 <-- editieren / zitieren --> Unities abgeben:
Hallo ich suche einen iLogic Code, der mir ausgibt, ob ein bestimmtes Bauteil/Baugruppe in meiner Baugruppe vorhanden ist. Weiss nicht, ob man per iLogic das abfragen kann? Bsp: - Baugruppe 1 (inkl iLogic) --- Baugruppe 1.1 --- Bauteil 1.1 Wennich die iLogic starte, möchte ich Wissen ob Baugruppe 1.1 verbaut wurde... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
erstellt am: 23. Jan. 2014 18:46 <-- editieren / zitieren --> Unities abgeben: Nur für iUser
Hallo So? Code: Private Sub Main()Dim oDoc As AssemblyDocument oDoc = ThisApplication.ActiveDocument Dim oRefedDoc As Document For Each oRefedDoc In oDoc.AllReferencedDocuments If InStr(oRefedDoc.FullDocumentName, "NAME_DER_GESUCHTEN_BAUGRUPPE") Then MsgBox ("Gefunden") Exit Sub End If Next End Sub
------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
iUser Mitglied
Beiträge: 38 Registriert: 26.11.2013 Inv2k13
|
erstellt am: 24. Jan. 2014 08:29 <-- editieren / zitieren --> Unities abgeben:
danke. aber irgendwie klappt das nicht, bekomme immer "nicht gefunden" ausgegeben... Code:
Private Sub Main() Dim oDoc As AssemblyDocument oDoc = ThisApplication.ActiveDocumentDim oRefedDoc As Document For Each oRefedDoc In oDoc.AllReferencedDocuments If InStr(oRefedDoc.FullDocumentName, "Test-1:1") Then MsgBox ("Gefunden") Else MsgBox ("Nicht gefunden") Exit Sub End If Next End Sub
Habs auch schon mit
Code: InStr(oRefedDoc.FullDocumentName, "*Test*")
und Code: InStr(oRefedDoc.FullDocumentName, "Test-1.iam")
probiert. Geht leider auch nicht. [Diese Nachricht wurde von iUser am 24. Jan. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
2paul Mitglied
Beiträge: 20 Registriert: 13.01.2014
|
erstellt am: 24. Jan. 2014 10:26 <-- editieren / zitieren --> Unities abgeben: Nur für iUser
Ohne das getestet zu haben, denke ich das in dem "Exit Sub" der fehler liegt... du willst dass die schleife aussteigt, wenn du das gefunden hast, nicht, wenn du das erste objekt untersuchst und es nicht das gesuchte ist Code:
For Each oRefedDoc In oDoc.AllReferencedDocuments If InStr(oRefedDoc.FullDocumentName, "Test-1:1") Then MsgBox ("Gefunden") Exit Sub -> hier rein End If Next MsgBox ("Nicht Gefunden")
[Diese Nachricht wurde von 2paul am 24. Jan. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2166 Registriert: 15.11.2006 Windows 10 x64, AIP 2022
|
erstellt am: 24. Jan. 2014 18:50 <-- editieren / zitieren --> Unities abgeben: Nur für iUser
Hallo Noch nebenbei bemerkt, wenn man den angezeigten Namen aus dem Teilebrowser samt Komponentennummer (Test-1:1) benutzt, kann es nicht gehen. Mal probiert im Windowsexplorer eine Datei mit Doppelpunkt im Namen anzulegen? Weiterhin sucht VBA mit *Test* tatsächlich nach einer Datei dieses Namens. Auch den Dateinamen kannst du gern mal im Explorer versuchen zu erstellen.
------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |