| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Fehlermeldung bei öfnnen (1098 mal gelesen)
|
Fiedel93felix Mitglied Konstrukteur
Beiträge: 448 Registriert: 19.02.2014
|
erstellt am: 13. Okt. 2014 12:30 <-- editieren / zitieren --> Unities abgeben:
Schönen guten Tag, Ich habe ein parametrisches Modell, für das wird beim öffnen Werte über eine Userform abgefragt. klappt alles super auch wenn ich die Zeichnung dann öffne alles Top Aber wenn ich die Zeichnung öffne, ohne das das Bauteil offen ist, kommt ein Fehler (Laufzeitenfehler '13': Typen unverträglich) Weis jemand wie man das umgehen kann? Also ich denke ja das IV das Modell im Hintergrund öffnet und somit die Regel zum öffnen der Userform eingreift und diese öffnen will. Da das Bauteil aber bloß im Hintergrund geöffnet ist kommt der Fehler. Kann das sein so ungefähr? Bin für jeden Rat oder Hinweis dankbar!! MfG Felix 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: 13. Okt. 2014 13:37 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
Hallo Versuch mal in deinem iLogic Code der beim OnOpenDocument-Event ausgeführt wird, ganz zu Beginn das ActiveDocument zu prüfen. Und wenn das nicht dein Bauteil ist, sollte der Code beendet werden, statt die UserForm aufzurufen. ActiveDocument ist das Dokument das gerade im Grafikfenster von Inventor angezeigt wird bzw. bei Fensteranordnung mehrerer Dokumente das Fenster mit Fokus. ------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedel93felix Mitglied Konstrukteur
Beiträge: 448 Registriert: 19.02.2014
|
erstellt am: 13. Okt. 2014 16:32 <-- editieren / zitieren --> Unities abgeben:
Ja so etwas habe ich mir auch schon überlegt und auch schon versucht umzusetzen, aber ich bekomm die abfrage nicht wirklich hin. Oder besser gesagt ich finde keinen passenden Befehl für die Abfrage. Kann mir da jemand helfen?Wei evt. jemand wie ich Prüfe ob ein bestimmtes Dokument activ ist? 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: 13. Okt. 2014 19:03 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
Hallo Ich habe mal mit einer einfachen Regel versucht das Problem nachzustellen. Wenn ich die IDW öffne wird die Regel im Bauteil nicht ausgeführt. Was für mich auch das erwartete Verhalten ist. Bist du sicher das nicht eine Regel in der Zeichnung das Problem auslöst? Verstehe ich das soweit richtig, das die Zeichnung die UserForm aufruft und in der UserForm Daten aus dem Bauteil abgerufen werden? Wie erfolgt dann der Zugriff auf die Bauteildatei? Kannst du wenigstens den Teil des Codes mal posten? ------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedel93felix Mitglied Konstrukteur
Beiträge: 448 Registriert: 19.02.2014
|
erstellt am: 14. Okt. 2014 13:54 <-- editieren / zitieren --> Unities abgeben:
Fürs Dateien Hochladen habe ich nicht die Rechte.... Nein Ralf nicht ganz.... Ich habe eine Userform im meinem Bauteil erstellt durch welche das Bauteil verändert werden kann... Diese wird immer geöffnet wenn das Bauteil geöffnet wird. Wenn ich die Zeichnung öffne wird auf Werte des Bauteils zugegriffen um bsp den Maßstab zu bestimmen. Allerdings wenn ich die Zeichnung öffne ohne das Bauteil offen zu haben kommt die Fehlermeldung... Ich habe es auch mal versucht....es liegt wirklich an der Regel die bei jedem öffnen des Bauteils das Makro aufruft, denn ich habe die Regel mal unterdrückt alles geschlossen und dann nur die Zeichnung aufgemacht...da kommt kein Fehler!!! Also ich brauch ein iLogic Code, der abfragt ob das active Dokument ein bestimmtes Dokument ist. Gibts das??? Oder evt. könnte es auch klappen wenn der Typ des activen Dokuments abgefrufen wird???? MfG Felix
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: 14. Okt. 2014 16:53 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
Hallo Seltsam, nachdem ich es heut wieder versucht habe, springt meine Testregel auch beim Öffnen der Zeichung an. Genau wie von dir beschrieben. Ok, dann versuch mal den hier:
Code: Sub MainDim oApp As Inventor.Application oApp=ThisApplication If oApp.ActiveDocument.DocumentType= kpartdocumentobject Then MessageBox.Show("Part", "Title") Else MessageBox.Show("kein Part", "Title") End If End Sub
Statt DocumentType müßte es auch mit FullDocumentName gehen... Code: Sub MainDim oApp As inventor.Application oApp=ThisApplication If oApp.ActiveDocument.FulldocumentName= "String mit dem vollständigen Pfad und Namen des Bauteils" Then MessageBox.Show("mein Part aktiv", "Title") Else MessageBox.Show("nicht mein Part aktiv", "Title") End If End Sub
------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedel93felix Mitglied Konstrukteur
Beiträge: 448 Registriert: 19.02.2014
|
erstellt am: 15. Okt. 2014 07:24 <-- editieren / zitieren --> Unities abgeben:
Ralf ich danke dir klappt beides super Ich habe es nur etwas anders geschrieben für iLogic: Abfrage ob Bauteil das active Dokument: If ThisApplication.ActiveDocument.DocumentType = kpartdocumentobject Then Abfrage nach Namen: (so mach ich es, da kann ich es auch für zeichnungen und BAugruppen verwenden ohne was ändern zu müssen^^) If ThisApplication.ActiveDocument.FulldocumentName = ThisDoc.Path & "\" &ThisDoc.FileName(True) Then InventorVb.RunMacro("Ovalbordscheibe_M", "Eingabe", "Eingabe_Ovalbordscheibe_M") Else End If
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |