| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Meldung unterdrücken (1821 mal gelesen)
|
Fiedel93felix Mitglied Konstrukteur
Beiträge: 448 Registriert: 19.02.2014 Autodesk Inventor 2014 Microsoft Visual Basic 2010
|
erstellt am: 10. Dez. 2014 14:59 <-- editieren / zitieren --> Unities abgeben:
Hallo an alle, hab da mal ne kleine Frage. Kann man beim öffnen, speichern und schließen entstehende Meldungen unterdrücken? Konkretes Bsp: Ich hab eine Baugruppe die sich über eine Eingabemaske steuern lässt. Dadurch werden die Parameter verändert und die Baugruppe mit allen dazugehörogen Datein (auch Zeichnung) wird in einen anderen Ordner kopiert. Anschließend öffne ich per Makro die Zeichnung und möchte dort die Referenz automatisch ersetzen. Dabei entsteht das problem. Wenn ich die Zeichnung öffne kommt die Meldung das eine unaufgelöste Refernz gefunden wurde (da der Name der BG geändert wurde) und ich soll die Baugruppe wählen. Wenn ich hier abreche gehts normal weiter und die Referenz wird ersetzt. Kann ich das abbrechen irgndwie automatisch machen? Oder kann ich ganz vermeiden das so eine Meldung kommt. 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: 10. Dez. 2014 15:22 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
Hallo SilentOperation könnte helfen, unsichtbar öffnen falls es nur um's Referenzen tauschen geht könnte helfen, Referenzen mit Apprentice tauschen würde helfen (wo keine GUI, da auch keine Meldungen ) Aber die beste Wahl dürfte OpenWithOptions sein, da mM dort das Übergehen nicht aufgelöster Referenzen als Option mitgegeben werden kann. ------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedel93felix Mitglied Konstrukteur
Beiträge: 448 Registriert: 19.02.2014 Autodesk Inventor 2014 Microsoft Visual Basic 2010
|
erstellt am: 10. Dez. 2014 15:35 <-- editieren / zitieren --> Unities abgeben:
Danke für die antwort. Also öffnen muss ich die Datei schon richtig, da ich noch mehr daran mache und sie dann auch für den User zum bearbeiten offen sein soll. Aber wenn ich Datei erst öffnen möchte kann ihr doch noch kein SilentOperation zuweisen oder geht das doch?
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: 10. Dez. 2014 17:15 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
Hallo SilentOperation ist ein Property der Inventor Application. Aber nimm die Funktion OpenWithOptions und paccke "SkipAllUnresolvedFiles" als Option dazu. Das ist sauberer. ------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedel93felix Mitglied Konstrukteur
Beiträge: 448 Registriert: 19.02.2014 Autodesk Inventor 2014 Microsoft Visual Basic 2010
|
erstellt am: 10. Dez. 2014 17:39 <-- editieren / zitieren --> Unities abgeben:
Okay vieln dank Ralph sehr hilfreich Ich versuch es morgen mal mit der openWithOption-Methode, geht heute nicht mehr. Aber als Info, wie greife auf das SilentOperation Proberty zu wenn die Datei noch geschlossen ist? Und, SilentOperation ist doch entweder true oder False aber standartmäsig False? Oder lieg ich da falsch?
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: 10. Dez. 2014 20:07 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
|
RolandD Mitglied
Beiträge: 533 Registriert: 07.01.2005
|
erstellt am: 10. Dez. 2014 20:54 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
Hallo Felix, Vielleicht kannst du dein Problem mit der Meldung durch eine andere Reihenfolge der Aktionen lösen: 1. IAM ist offen 2. Neuen Dateinamen für die IAM abfragen und daraus den IDW-Namen bilden 3. Zugehörige IDW mit dem gleichen Dateinamen öffnen 4. IAM und IDW mit neuem Dateinamen speichern 5. Neue IDW öffnen und die Referenz auf die neue IAM ersetzen 6. Die Änderungen in der neuen IAM durchführen Vorteil: Du brauchst nur einmal Speicherort und Dateinamen eingeben. ------------------ Gruß Roland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2015 Professional Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 11. Dez. 2014 09:39 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
Hallo Felix, falls du Thisapplication.SilentOperation = True setzt, dann ist es wichtig, dass sobald die betreffende Aktion beendet wird, das ganze wieder auf = False zu setzen!
------------------ MFG Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedel93felix Mitglied Konstrukteur
Beiträge: 448 Registriert: 19.02.2014 Autodesk Inventor 2014 Microsoft Visual Basic 2010
|
erstellt am: 11. Dez. 2014 09:48 <-- editieren / zitieren --> Unities abgeben:
|
Fiedel93felix Mitglied Konstrukteur
Beiträge: 448 Registriert: 19.02.2014 Autodesk Inventor 2014 Microsoft Visual Basic 2010
|
erstellt am: 11. Dez. 2014 10:07 <-- editieren / zitieren --> Unities abgeben:
Also ich hab jetzt mal bei varianten versucht.... Bei der SilentOperation Methode passiert nichts. D.H. es kommt immernoch die Meldung. Hab ich da vielleicht was im Code falsch? Code: ThisApplication.Documents.Open(Pfad & "idw") ThisApplication.SilentOperation = True Und wenn die die Open with Optionsmethode nehmen will kommt schon nach der Eingabe ein Fehler: ThisApplication.Documents.OpenWithOptions(Pfad & "idw", SkipAllUnresolvedFiles) Fehlermeldung: "SkipAllUnresolvedFiles" wurde nicht deklariert Muss ich da noch irgndwas beachten? MfG Felix
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2015 Professional Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 11. Dez. 2014 10:30 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
|
Fiedel93felix Mitglied Konstrukteur
Beiträge: 448 Registriert: 19.02.2014 Autodesk Inventor 2014 Microsoft Visual Basic 2010
|
erstellt am: 11. Dez. 2014 10:36 <-- editieren / zitieren --> Unities abgeben:
Achso okay das wusste ich nicht damit hab ich noch nie gearbeitet. Hast du zufällig ein Beispeil als Code wie ich das ganze lösen kann? Und wieso klappt meine SilentOperation nicht? Muss ich die über den apprenticeServer vorher vergeben oder was mach ich da falsch?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2015 Professional Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 11. Dez. 2014 10:52 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
zu deiner SilentOperation: das musst du vor dem open angeben. so in etwa Code: Thisapplication.SilentOperation = True Thisapplication.Documents.Open(...) Thisapplication.SilentOperation = False
zu dem SkipAllUnresolvedFiles:
Ist jetzt ungetestet und ich selbst habe auch noch nie mit dem Befehl gearbeitet. Die Vorgangsweise ist aber bei jeder NameValueMap gleich.
Code:
Dim oRE As TransientObjects Set oRE = ThisApplication.RepresentationEvents Dim oNameValueMap As NameValueMap Set oNameValueMap = oRE.CreateNameValueMap Dim skip As Boolean Set skip = ThisApplication.PresentationOptions.SkipAllUnresolvedFiles Call oNameValueMap.Add(skip = True) Call ThisApplication.Documents.OpenWithOptions("C\BEISPIEL.iam", oNameValueMap)
------------------ MFG Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedel93felix Mitglied Konstrukteur
Beiträge: 448 Registriert: 19.02.2014 Autodesk Inventor 2014 Microsoft Visual Basic 2010
|
erstellt am: 11. Dez. 2014 11:06 <-- editieren / zitieren --> Unities abgeben:
Also erstmal danke für die Hilfe so klappt es. Da stand ich mal wieder aufm Schlauch....ist ja logisch das man erst die Silent Operation nehmen muss bevor man es öffnet. Aber beim zwieten Fehlt noch was Laut Fehlermeldung zu: Call oNameValueMap.Add(skip = True) kommt der Fehler: Für den Parameter "Value" von "Public Sub Add(Name As String, Value As Object)" wurde kein Argument angegeben. Also d.h. es fehlt was. Das Skip=true ist doch das Argument für Value oder? Also fehlt der Name? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2015 Professional Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 11. Dez. 2014 12:09 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
das richtige wäre Call oNameValueMap.Add(skip,true) Aber auch so wird das wohl nicht so richtig funktionieren, weil die Zuweisung vorher schon nicht stimmt... Ich schaue mal nach, ob ich finde, wie man das richtig zuweist. ------------------ MFG Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2015 Professional Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 11. Dez. 2014 12:26 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
Code: Dim oRE As TransientObjects Set oRE = ThisApplication.TransientObjectsDim oNameValueMap As NameValueMap Set oNameValueMap = oRE.CreateNameValueMap Dim skip As Boolean skip = ThisApplication.PresentationOptions.SkipAllUnresolvedFiles Call oNameValueMap.Add(skip, True) Call ThisApplication.Documents.OpenWithOptions("C\BEISPIEL.iam", oNameValueMap)
so ist zumindest die Zuweisung richtig, aber bei mir möchte er das trotzdem nicht ausführen und meckert in der letzten Zeile ------------------ MFG Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedel93felix Mitglied Konstrukteur
Beiträge: 448 Registriert: 19.02.2014 Autodesk Inventor 2014 Microsoft Visual Basic 2010
|
erstellt am: 11. Dez. 2014 12:26 <-- editieren / zitieren --> Unities abgeben:
Okay wie es aussieht wirst du recht haben. Ich habe es jetzt mal geändert und jetzt kommt keine Fehlermeldung mehr aber dafür wird die Zeihnung auch nicht geöffnet. Naja wer weis woran das leigt, aber mit der SilentOperation erreich ich ja erstmal mein ziel und das zählt^^ Dank nochmal für all eure Hilfe
[Diese Nachricht wurde von Fiedel93felix am 11. Dez. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2015 Professional Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 11. Dez. 2014 12:29 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
So geht es...
Code: Dim oRE As TransientObjects Set oRE = ThisApplication.TransientObjectsDim oNameValueMap As NameValueMap Set oNameValueMap = oRE.CreateNameValueMap Dim skip As Boolean skip = ThisApplication.PresentationOptions Call oNameValueMap.Add("SkipAllUnresolvedFiles", True) Call ThisApplication.Documents.OpenWithOptions("C:\BEISPIEL.iam", oNameValueMap)
------------------ MFG Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedel93felix Mitglied Konstrukteur
Beiträge: 448 Registriert: 19.02.2014 Autodesk Inventor 2014 Microsoft Visual Basic 2010
|
erstellt am: 11. Dez. 2014 12:32 <-- editieren / zitieren --> Unities abgeben:
|
Chris 31 Mitglied Konstrukteur und Mädchen für alles
Beiträge: 575 Registriert: 23.04.2013 Inventor 2015 Professional Windows 7 64 bit 16GB RAM nVidia Quadro 600
|
erstellt am: 11. Dez. 2014 13:00 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
|
Fiedel93felix Mitglied Konstrukteur
Beiträge: 448 Registriert: 19.02.2014 Autodesk Inventor 2014 Microsoft Visual Basic 2010
|
erstellt am: 11. Dez. 2014 13:16 <-- editieren / zitieren --> Unities abgeben:
|