| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Problem mit Eintrag in Journalfile (1282 mal gelesen)
|
Heidi Krakat Mitglied CAD Konstrukteur
Beiträge: 20 Registriert: 02.10.2012 UG NX8.5
|
erstellt am: 07. Jan. 2016 14:12 <-- editieren / zitieren --> Unities abgeben:
Guten Tag, ich habe das Einladen von verschiedenen Expressionfiles in einem Journalfile abgelegt. Die entsprechenden Expressionfiles gibt es für verschiedene Größen der Geometrie. Ich habe also den Journalfile für die neue Größe gespeichert und in den Benennungen der Expressionfiles die Größe geändert. Zwei mal funktioniert das auch reibungslos (Journalfile läuft problemlos durch und ändert die Abmessungen der Geometrie). Bei der dritten analog erstellten Journladatei bekomme ich die Meldung, daß die Zeile mit dem Eintrag "nErrs1 = theSession.UpdateManager.DoUpdate(markId1)" Probleme macht. Hat jemand eine Idee, warum das in dem einen Journalfile ohne Problem durchläuft und in einem anderen nicht? ------------------ Liebe Grüße Heidi EDV = Ende der Vernunft Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Heidi Krakat Mitglied CAD Konstrukteur
Beiträge: 20 Registriert: 02.10.2012 UG NX8.5
|
erstellt am: 07. Jan. 2016 14:53 <-- editieren / zitieren --> Unities abgeben:
Hier ist übrigens die Originalmeldung, die mich schier in den Wahnsinn treibt. Es ist nicht immer dieselbe Zeilennummer aber immer derselbe Zeileninhalt - siehe oben ------------------ Liebe Grüße Heidi EDV = Ende der Vernunft [Diese Nachricht wurde von Heidi Krakat am 07. Jan. 2016 editiert.] [Diese Nachricht wurde von Heidi Krakat am 07. Jan. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 07. Jan. 2016 17:49 <-- editieren / zitieren --> Unities abgeben: Nur für Heidi Krakat
Hallo Heidi, Zitat: Die entsprechenden Expressionfiles gibt es für verschiedene Größen der Geometrie.
Was passiert, wenn die Expressionfiles manuell gelesen werden ? Zitat: Ich habe also den Journalfile für die neue Größe gespeichert und in den Benennungen der Expressionfiles die Größe geändert.
Hört sich kompliziert an. Welche Benennungen ? Welche Größe ? Keine Ahnung, was Du damit meinst. Zitat: daß die Zeile mit dem Eintrag "nErrs1 = theSession.UpdateManager.DoUpdate(markId1)" Probleme macht.
Meine Wette: Es liegt nicht am Journal, sondern an den geänderten Werten der Expressions. DoUpdate() aktualisiert lediglich das Modell. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Heidi Krakat Mitglied CAD Konstrukteur
Beiträge: 20 Registriert: 02.10.2012 UG NX8.5
|
erstellt am: 08. Jan. 2016 07:54 <-- editieren / zitieren --> Unities abgeben:
Hallo, Michael zu Deinen Fragen: - manuelles Einlesen der Expressionfiles im Expressionsbrowser funktioniert reibungslos - Die Expressionfiles haben Namen, in denen die Größenbezeichnung für die Geometrie (Turbinengehäuse) verwendet wird: Bsp. HD-R4THA.exp - wobei R4THA die Größe des Turbinengehäuses ist. Es gibt mehrere Größen und dementsprechend mehrere Epressionfiles mit verschiedener Benennung (HD-R3THA.exp, R5THB.exp etc.), die halt über Journalfiles, ebenfalls mit der Größenbezeichnung im Namen, eingeladen werden sollen. Ich werde mal prüfen, ob die einzuladenden Expressions alle richtig sind (es gibt Probleme, wenn ein Wert ein Komma statt eines Punktes als Dezimaltrenner enthält). Komisch ist allerdings, daß es zuerst funktioniert hat und dann auf einmal nicht mehr - mit demselben Journalfile. Ich hab mal einen Journalfile angehängt. Trotzdem Danke für die Rückmeldung. ------------------ Liebe Grüße Heidi EDV = Ende der Vernunft [Diese Nachricht wurde von Heidi Krakat am 08. Jan. 2016 editiert.] [Diese Nachricht wurde von Heidi Krakat am 08. Jan. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
Beiträge: 2624 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-1980 3D Printer Prusa MK2 S
|
erstellt am: 08. Jan. 2016 12:51 <-- editieren / zitieren --> Unities abgeben: Nur für Heidi Krakat
Hallo Heidi, die Expressions zu prüfen, ist eine gute Idee. Wenn ein Dezimaltrenner nicht erkannt wird, kann aus z.B. 1.23456 schnell 123456 werden. Und bei so einem Wert ist das Modell mit einiger Sicherheit hinüber, d.h. das Update produziert Fehler. Um die Sache einzugrenzen, kannst Du das Doupdate nach jedem Einlesen machen. Mit ein paar Kontrollausgaben (z.B. mit Messagebox oder Listingwindow.WriteLine den Inhalt der errorMessages* ausgeben) dazu lässt sich feststellen, welcher Import Probleme macht. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Projektkoordinator Maschinenbau (m/w/d) | Die besten Köpfe für die unterschiedlichsten Aufgaben zu finden sowie Menschen und Technologien zu verbinden, und zwar täglich aufs Neue - dafür schätzen unsere Kunden FERCHAU. Unterstütze uns: als ambitionierte:r Kolleg:in, der:die wie wir Technologien auf die nächste Stufe bringen möchte. Wir realisieren spannende Projekte für namhafte Kunden im Maschinenbau und Anlagenbau und übernehmen Verantwortung für komplexe Entwicklungsprojekte.... | Anzeige ansehen | Projektmanagement |
|
Merlin2001 Mitglied Sr. Software Engineer
Beiträge: 24 Registriert: 13.05.2011
|
erstellt am: 21. Jun. 2016 19:23 <-- editieren / zitieren --> Unities abgeben: Nur für Heidi Krakat
Hallo Heidi, ich kenne den Fehler nur zu gut, er tritt auf, wenn du im Code ein Update anstößt und das Standardverhalten bei Updatefehlern auf Undo gesetzt ist. Du hast die Möglichkeit, dieses Standardverhalten in deinem Journal umzustellen und damit alle Updatefehler während dem Einlesen zu ignorieren. (Falls das für deine Anwendung kein Problem darstellt.) Dazu kannst du folgende Code-Schnipsel benutzen: Code:
' Bisherige Einstellung zwischenspeichern Dim currentFailureAction = theSession.UpdateManager.GetDefaultUpdateFailureAction() ' Standardaktion auf "AcceptAll" stellen, damit kein Undo während dem Update ausgelöst wird theSession.UpdateManager.SetDefaultUpdateFailureAction(NXOpen.Update.FailureOption.AcceptAll) '---------------------------------------------------------------- ' Hier kannst du deinen vorhandenen Code zum Einlesen platzieren '----------------------------------------------------------------
' Wenn das Einlesen fertig ist, Standardaktion wieder zurücksetzen theSession.UpdateManager.SetDefaultUpdateFailureAction(currentFailureAction)
Der Nachteil ist natürlich, dass du nicht mehr direkt mitbekommst, ob/dass es Fehler während dem Einlesen gegeben hat. Das müsstest du ggfs. selbst nachprüfen. Viel Erfolg! Marcus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |