| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: eventhandler (2596 mal gelesen)
|
RobertM Mitglied
Beiträge: 223 Registriert: 03.12.2008 noch NX 8.5 + TC Teamcenter 9.1.2.2 64-Bit
|
erstellt am: 18. Okt. 2011 07:34 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich möchte einen Eventhandler erstellen, der aufgrufen wird, wenn ich über Fenster das prt wechsle. Über die Hilfe bin ich auf hello_goodbye.vb und die MenuBarManager Class gekommen. Ich habe hello_goodbye.dll in das Verzeichnis \ugsshare\nx6\win32\ugii\startup kopiert. Die wird bei Start von NX auch geladen aber nicht ausgeführt. In der Hilfe steht: After compiling and linking this example, the executable (hello_goodbye.dll) should be placed in the startup folder along with one of the example menu files above. Was für example menu files? Kann mir bitte jemand mitteilen ob ich auf dem richtigen Weg bin und ob das was ich vorhabe überhaupt funktionieren kann.
------------------ Gruß Robert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gfx-toxic.de Moderator Konstruktion / Anwenderbetreuung
Beiträge: 501 Registriert: 09.06.2006 Teamcenter 11.3 / NX 11 Windows 10
|
erstellt am: 18. Okt. 2011 08:28 <-- editieren / zitieren --> Unities abgeben: Nur für RobertM
Hallo Robert, für solche Fälle gibt es die USER_EXITS. Diese müssen mit einer Umgebungsvariable auf die dll die ausgeführt wird verdrahtet werden. Mehr dazu steht unter dem Begriff oben in der Doku. Code: Change Displayed Part USER_CDISP The change displayed part user exit occurs before the displayed part is about to be changed explicitly from any user interface entry point, e.g. from the Windows main menu. It is not possible to provide a default name for the operation. The next interactive step is determined by the return code as follows: . Return Code/Description 1 Cancel current assembly operation 3 Reserved for future use n Select Part dialog with no default string. "n" is any other return code except 1 or 3 Change Work Part USER_CWORK The change work part user exit occurs after the Assemblies→Context Control→Set Work Part before a Component is chosen or when the work part is about to be changed from any other explicit user interface entry point The next interactive step is determined by the return code as follows: Return Code/Description Cancel current assembly operation Select Component dialog with the string (from string parameter) as the default. Reserved for future use n Normal operation with no default strings. "n" is any other return code except 1, 2 or 3.
Gruß ------------------ Gruß Matthias ------------------------------------ ICQ: 163190295 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RobertM Mitglied
Beiträge: 223 Registriert: 03.12.2008 noch NX 8.5 + TC Teamcenter 9.1.2.2 64-Bit
|
erstellt am: 18. Okt. 2011 10:21 <-- editieren / zitieren --> Unities abgeben:
Hallo Matthias, den Aufruf der Function ufcdp hab ich hinbekommen. Da sind aber noch 2 Probleme. 1. Die Funktion soll aufgerufen werden, nachdem das andere Part geöffnet wurde. ok. Punkt 2 hat sich erledigt. Der Aufruf funktionert auch aus meiner dll. 2. Ich habe schon eine dll die ich nach dem NX-Start mit public static int MyUnload = 2; public static int GetUnloadOption(String dummy) {return MyUnload;} lade. Da sollen auch die Eventhandler definiert werden. ------------------ Gruß Robert [Diese Nachricht wurde von RobertM am 18. Okt. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RobertM Mitglied
Beiträge: 223 Registriert: 03.12.2008 noch NX 8.5 + TC Teamcenter 9.1.2.2 64-Bit
|
erstellt am: 19. Okt. 2011 08:24 <-- editieren / zitieren --> Unities abgeben:
Ok ich bin jetzt schon ein gutes Stück weiter. Nach vielem rumbasteln habe ich herausgefunden, dass die *.dll's nicht wie in der Hilfe beschrieben im Ordner \application sondern in \startup liegen müssen. Hat da jemand eine Erklärung dafür? Hier noch ein Auszug aus dem Logfile: AppBase: T:\nx6\win32\ugii_KL\startup\ Loaded assembly: CS_NX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null from T:\nx6\win32\ugii_KL\startup\CS_NX.dll Loaded assembly: NXOpen, Version=6.0.4.3, Culture=neutral, PublicKeyToken=null from T:\nx6\win32\ugii_KL\startup\NXOpen.dll Noch eine Frage: heißt das, dass dieses Menü nicht angepasst werden kann? ! *************** Window Menu *************** ! Mnemonics are not valid on the Window Menu pulldown MENU UG_WINDOW ------------------ Gruß Robert [Diese Nachricht wurde von RobertM am 19. Okt. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ThomasZwatz Ehrenmitglied V.I.P. h.c. cadadmin
Beiträge: 5433 Registriert: 19.05.2000
|
erstellt am: 19. Okt. 2011 10:01 <-- editieren / zitieren --> Unities abgeben: Nur für RobertM
Zitat: Original erstellt von RobertM: ... Nach vielem rumbasteln habe ich herausgefunden, dass die *.dll's nicht wie in der Hilfe beschrieben im Ordner \application sondern in \startup liegen müssen.Hat da jemand eine Erklärung dafür? ....
Sie sollen ja beim NX Start gelesen werden: daher ins startup Directory .... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RobertM Mitglied
Beiträge: 223 Registriert: 03.12.2008 noch NX 8.5 + TC Teamcenter 9.1.2.2 64-Bit
|
erstellt am: 19. Okt. 2011 10:16 <-- editieren / zitieren --> Unities abgeben:
Blöd von mir. Hät ich auch selber draufkommen können. Danke Wegen der anderen Frage. Kann man nicht alle Toolbars anpassen? Das hier hat nicht funktioniert: EDIT UG_WINDOW MODIFY BUTTON UG_WINDOW_CHANGE_PART ACTIONS/POST my_app_test END_OF_MODIFY Ich bin immer noch auf der Suche nach einer Lösung für folgende Aufgabe: Nachdem ich über das Menü Fenster die Anzeige gewechselt habe habe, möchte ich eine function aufrufen. Mit den User Exit Change Displayed Part wird die function vor dem Wechsel aufgerufen. ------------------ Gruß Robert 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: 19. Okt. 2011 12:57 <-- editieren / zitieren --> Unities abgeben: Nur für RobertM
|
RobertM Mitglied
Beiträge: 223 Registriert: 03.12.2008 noch NX 8.5 + TC Teamcenter 9.1.2.2 64-Bit
|
erstellt am: 20. Okt. 2011 12:32 <-- editieren / zitieren --> Unities abgeben:
Hallo Michael, ich bekomme es nicht hin. ich habe es so: public static int ufcdp(String Argument) und so probiert: public static int ufcdp(String[] Argumente) Der Aufruf von ufcdp funktioniert definitiv. In meinem Logfile bekomme ich folgende Meldung: ufcdp aufgerufen Der Aufruf ufcdp hat 1 Argumente. Argument 1: ist ein Leerstring
------------------ Gruß Robert 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: 21. Okt. 2011 10:06 <-- editieren / zitieren --> Unities abgeben: Nur für RobertM
Hallo Robert, einen leeren String bekommst Du beim Umschalten über das Hauptmenü. Versuch's mal über's Kontextmenü im ANT, da sollte dann der richtige String drinstehen. Die Argumente hab' ich als Stringarray angegeben. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RobertM Mitglied
Beiträge: 223 Registriert: 03.12.2008 noch NX 8.5 + TC Teamcenter 9.1.2.2 64-Bit
|
erstellt am: 21. Okt. 2011 11:14 <-- editieren / zitieren --> Unities abgeben:
Tschuldigung, was ist ANT? Hab ich noch nie gehört. Gefunden: Assemblies Navigation Tool. Versteh aber nicht was damit gemeint ist. Ich hab doch keine Baugruppe. ------------------ Gruß Robert [Diese Nachricht wurde von RobertM am 21. Okt. 2011 editiert.] 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: 21. Okt. 2011 13:41 <-- editieren / zitieren --> Unities abgeben: Nur für RobertM
|
RobertM Mitglied
Beiträge: 223 Registriert: 03.12.2008 noch NX 8.5 + TC Teamcenter 9.1.2.2 64-Bit
|
erstellt am: 21. Okt. 2011 13:49 <-- editieren / zitieren --> Unities abgeben:
Ja, hab ich schon kapiert. Aber wie soll ich im Baugruppennavigator zu einer anderen Zeichnung oder Modell kommen? Ich glaub ich hab den Unterschied zwischen Workpart, Displayable Object nicht begriffen. Part = Modell? Drawing=Zeichnung Assembly=Baugruppe Displayable Object ist doch irgenwie alles oder? Nachtrag: Auf dem Heimweg ist mir eingefallen, warum wir die ganze Zeit aneinander vorbeireden (schreiben). Du hast wahrscheinlich gemeint ich habe eine Baugruppe geladen und soll mit "zum Übergeordneten Teil wechseln" arbeiten. Ich arbeite in der Regel so, das ich beim Zeichnungserstellen nur die Komponenten geladen habe und nicht die ganze Baugruppe. Drum habe ich es nicht kapiert. Ich werde diesen Gedankengang am Montag weiterverfolgen. Schönes Wochenende ------------------ Gruß Robert [Diese Nachricht wurde von RobertM am 21. Okt. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RobertM Mitglied
Beiträge: 223 Registriert: 03.12.2008 noch NX 8.5 + TC Teamcenter 9.1.2.2 64-Bit
|
erstellt am: 24. Okt. 2011 07:32 <-- editieren / zitieren --> Unities abgeben:
Hallo Michael, über den ANT funktioniert es mit dem Argument wie von dir beschrieben. Hab auch gar nicht daran gezweifelt. Eine unbeantwortete Frage die ich noch habe betrifft "ug_main.men". Bedeutet "Mnemonics are not valid", dass dieses Menü nicht angepasst werden kann? ------------------ Gruß Robert
[Diese Nachricht wurde von RobertM am 24. Okt. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| C++ Softwareentwickler (m/w/d) für 3D CAD-System | Seit mehr als 30 Jahren entwickeln wir führende 3D?CAD Lösungen für das Bauwesen mit Schwerpunkt im Bereich Holzbau. Unsere Produkte bieten Zimmerleuten, Technikern, Ingenieuren, Architekten und Tischlern eine durchgängige Softwarelösung von der Planung bis zur Produktion. An unserem Standort in Hildesheim wird die Entwicklung der 3D?CAD-Komponenten für den Bereich Holzbau durchgeführt. Darüber ... | Anzeige ansehen | Softwareentwicklung |
|
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: 24. Okt. 2011 12:35 <-- editieren / zitieren --> Unities abgeben: Nur für RobertM
|