| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Update event list beim öffnen von Parts mit Win Forms (849 / mal gelesen)
|
didie Mitglied NX Admin
Beiträge: 108 Registriert: 29.01.2004 win 10 NX1953
|
erstellt am: 07. Okt. 2022 12:33 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, Ich habe ein Window Forms NX Journal, dass Parts die in einer Liste stehen öffnet bearbeiten und wieder schließt. Dabei habe ich das Problem, dass bei manchen Parts die Meldung "Update event list" erscheint wenn zum Beispiel interpart expressions nicht gefunden werden. Der Anwender muss an dieser Stelle jedes Mal Ok drücken damit das Programm fortgeführt wird. Das komische an der Sache ist, dass wenn ich das laden der Parts direkt in der Main Methode aufrufe kommt die Meldung "Update event list" nicht
Code: public static void Main() { _session = Session.GetSession(); _activepart = _session.Parts.Work; _displayPart = _session.Parts.Display; new StandardPartForm2().Show(); var _files = Directory.GetFiles("C:\\temp", "*.prt", SearchOption.AllDirectories); foreach (string file in _files) { NXOpen.BasePart basePart2; NXOpen.PartLoadStatus partLoadStatus2; basePart2 = _session.Parts.OpenActiveDisplay(file, NXOpen.DisplayPartOption.AllowAdditional, out partLoadStatus2); _activepart = _session.Parts.Work; _displayPart = _session.Parts.Display; partLoadStatus2.Dispose(); } }
Wenn ich hingegen irgend eine andere Methode zum Beispiel ein Button Klick Event benutze erscheinen die "Update event list" Meldung
Code:
private void button1_Click(object sender, EventArgs e) { var _files = Directory.GetFiles("C:\\temp", "*.prt", SearchOption.AllDirectories); foreach (string file in _files) { NXOpen.BasePart basePart2; NXOpen.PartLoadStatus partLoadStatus2; basePart2 = _session.Parts.OpenActiveDisplay(file, NXOpen.DisplayPartOption.AllowAdditional, out partLoadStatus2); _activepart = _session.Parts.Work; _displayPart = _session.Parts.Display; partLoadStatus2.Dispose(); } }
Hat jemand eine Idee wie man diese Meldung "Update event list" unterdrücken oder im Journal bestätigen kann? Gruß didie Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 07. Okt. 2022 15:43 <-- editieren / zitieren --> Unities abgeben: Nur für didie
Hallo didie, diese Mitteilungsbedürftigkeit von NX stört bei den meisten Batch-Programmen, das ist bekannt. Neben den Update Events gib't noch 'ne Reihe anderer Dialoge, die den Ablauf blockieren, z.B. "Material Version Control", "New Iray + ..." usw. Die Lösung ist im Prinzip einfach Du überwachst den NX Prozess und suchst per Windows API nach zugehörigen Fenstern. Taucht ein unerwünschtes Fenster auf, wird's einfach geschlossen. So als hätte es der Anwender weggeklickt. Damit können Batch Programme mit geringfügiger Verzögerung weiter laufen. Gruß, Michael
------------------ Ein Mensch wird laut, wenn er was will; wenn er's erst hat, dann wird er still; Das "Danke" ist, nach alter Sitte, Weit selt'ner als das "Bitte, Bitte". Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
didie Mitglied NX Admin
Beiträge: 108 Registriert: 29.01.2004 win 10 NX1953
|
erstellt am: 07. Okt. 2022 16:37 <-- editieren / zitieren --> Unities abgeben:
Hallo Michael, das hast du schön ausgedrückt.
Zitat: Die Lösung ist im Prinzip einfach
wenn man weiß wie. Ich habe Code Schnipsel gefunden mit denen ich nach aktiven Fenstern suchen kann. Nur ist mir nicht so ganz klar wie ich das umsetzten muss. Wenn mein NX Journal auf einen Fehler trifft, dann bleibt es zunächst mal stehen. Ich kann also die Überwachung der Fenster nicht in meinem NX Journal vornehmen. oder doch ? Muss ich da parallel ein zweites Programm starten das mein NX überwacht?
Kannst du mir noch etwas auf die Sprünge helfen? Gruß didie
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 08. Okt. 2022 11:27 <-- editieren / zitieren --> Unities abgeben: Nur für didie
Hallo didie, ein separates Programm geht in jedem Fall, das wüde ich empfehlen. Evtl. geht es auch aus einer Quelle, als extra Prozess oder Thread, damit sich nichts gegenseitig blockiert. Jedenfalls solltest du dich mit den Basics der Win API befassen. Gruß, Michael ------------------ Ein Mensch wird laut, wenn er was will; wenn er's erst hat, dann wird er still; Das "Danke" ist, nach alter Sitte, Weit selt'ner als das "Bitte, Bitte". Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
didie Mitglied NX Admin
Beiträge: 108 Registriert: 29.01.2004 win 10 NX1953
|
erstellt am: 10. Okt. 2022 08:34 <-- editieren / zitieren --> Unities abgeben:
Hallo Michael, Ich habe eine Lösung für mein Problem gefunden. In den Customer Defaults gibt es mittlerweile unter Standards/Gateway/General/Expressions die Schalter "Show missing cross-part expression warnings" & "Display warnings for referencing cross-part expressions". Gruß didie Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Ingenieur (m/w/d) Automatisierung | Menschen und Technologien zu verbinden, den Perfect Match für unsere Kunden zu gestalten, immer die richtigen Expert:innen für die jeweilige Herausforderung zu finden - das ist unser Anspruch bei FERCHAU und dafür suchen wir dich: als ambitionierte:n Kolleg:in, der:die wie wir Technologien auf die nächste Stufe bringen möchte. Wir realisieren spannende Projekte für namhafte Kunden in den Technologiebereichen ... | Anzeige ansehen | Automatisierungstechnik |
|
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2700 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 10. Okt. 2022 09:13 <-- editieren / zitieren --> Unities abgeben: Nur für didie
Hallo didie, solange keine weiteren Dialoge auftauchen, die den Ablauf stören dürfte das der einfachste Weg sein. Gruß, Michael ------------------ Ein Mensch wird laut, wenn er was will; wenn er's erst hat, dann wird er still; Das "Danke" ist, nach alter Sitte, Weit selt'ner als das "Bitte, Bitte". Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|