| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
| |
 | Solid Edge 2025 First Look Online-Event 14.11.2025, eine Pressemitteilung
|
Autor
|
Thema: Wieder einmal: NX über Remote ansprechen (4238 mal gelesen)
|
Jens Hansen Mitglied CAx-Spezialist
   
 Beiträge: 1056 Registriert: 05.08.2000 CATIA V5 R32 VB.Net C# WPF
|
erstellt am: 20. Sep. 2012 16:36 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, Trotz intensiver Suche im Forum, der online-Hilfe zu NXOpen und Internet komme ich nicht wirklich weiter  Ich möchte über meine Applikation (.NET) mittels Remote auf die laufende NX-Session zugreifen OHNE meine Programm aus NX starten zu müssen. Ich bin soweit gekommen, dass ich die laufende Session mittels eines Programm aus NX "veröffentlichen" kann. Dafür habe ich das Beispiel aus der Hilfe benutzt (NXOpenRemotingService.cs). Die entsprechende DLL starte ich aus NX und laut Logfile scheint dies zu klappen. Jetzt zur Client-Anwendung: Dort versuche ich mit folgenden Code (BV.NET) auf die Session zuzugreifen (alle notwendigen Libraries sind als Verweise gezogen): Dim NX_Session As Session NX_Session = Activator.GetObject(NX_Session.GetType, "http://localhost:4567/NXOpenSession") Allerdings bekomme ich hier eine Fehlermeldung: "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt" Das ganze mit folgende Code Dim NX_Session As New Object NX_Session = Activator.GetObject(NX_Session.GetType, "http://localhost:4567/NXOpenSession") ausprobiert ergibt: "Es wurde versucht, einen Proxy für einen nicht gebundenen Typ zu erstellen" Rufe ich im Browser die Adresse auf, kommt folgendes: "System.ArgumentNullException: Vor dem Aufruf von DispatchChannelSink wurde keine Meldung deserialisiert." Muss ich vielleicht beim Start von NX irgendwas in der Batch-Datei eintragen? Noch ein Nachtrag: Das entsprechende beispiel zum Client in C# liefert einen Fehler dass die Dll "libpar" nicht verfügbar ist. Was mache ich falsch und wie mache ich es richtig????? Kann mir bitte jemand helfen ? Danke im Voraus Jens ------------------ Inoffizielle CATIA-Hilfeseite Kochbuch - CATIA V5 automatisieren
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
      
 Beiträge: 2723 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 21. Sep. 2012 11:29 <-- editieren / zitieren --> Unities abgeben:          Nur für Jens Hansen
Hallo Jens, hier fallen zwei Dinge auf: Die nicht gefundene dll weist auf eine fehlende oder unvollständige NX- Umgebung hin. Einfachste Abhilfe: VS aus einer NX-Shell starten. Bei NX_Session.GetType vermute ich das andere Problem. Steht das tatsächlich so im Beispiel ? Mein Vorschlag lautet: GetType(Session). Ist aber auch nur geraten, nicht getestet. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jens Hansen Mitglied CAx-Spezialist
   
 Beiträge: 1056 Registriert: 05.08.2000
|
erstellt am: 21. Sep. 2012 12:21 <-- editieren / zitieren --> Unities abgeben:         
|
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
      
 Beiträge: 2723 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 24. Sep. 2012 10:59 <-- editieren / zitieren --> Unities abgeben:          Nur für Jens Hansen
Hallo Jens, der Start einer Anwendung aus NX und das Starten von VS bzw. einer fertigen Anwendung aus der NX-Shell (Start->NXxxx->Tools->CommandPrompt) sind zwei Paar Stiefel. Ohne korrekte Umgebung wird ein externes Programm nicht funktionieren. Gruß, Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wladlaw Mitglied Ingenieur

 Beiträge: 72 Registriert: 11.01.2012
|
erstellt am: 03. Okt. 2012 00:16 <-- editieren / zitieren --> Unities abgeben:          Nur für Jens Hansen
|
Jens Hansen Mitglied CAx-Spezialist
   
 Beiträge: 1056 Registriert: 05.08.2000 CATIA V5 R32 VB.Net C# WPF
|
erstellt am: 08. Okt. 2012 12:51 <-- editieren / zitieren --> Unities abgeben:         
|
gfx-toxic.de Moderator Konstruktion / Anwenderbetreuung
  
 Beiträge: 501 Registriert: 09.06.2006 Teamcenter 11.3 / NX 11 Windows 10
|
erstellt am: 08. Okt. 2012 14:58 <-- editieren / zitieren --> Unities abgeben:          Nur für Jens Hansen
Hi, für die User Functions gibts anderen Entry Points. Sprich Methodennamen die aufgerufen werden. Bei interaktiven aufruf, wird die publich static von Main aufgerufen. Bei USER_STARTUP: NX Startup USER_STARTUP ufsta Startup startup steht in der Doku in einer Tabelle. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hauki2905 Mitglied Softwareentwicklung CAD-CAM
 
 Beiträge: 113 Registriert: 03.02.2011 NX 7.5; 8.0; 8.5, 9.0, 10 auf Win 8.1 x64
|
erstellt am: 08. Okt. 2012 17:06 <-- editieren / zitieren --> Unities abgeben:          Nur für Jens Hansen
Ich hätte da mal eine ganz andere frage: diese Art zugriff habe ich auch schon einmal probiert. wie hat das bei dir mit dem Funktionsumfang ausgesehen? Sprich: konntest du in deiner Anwendung alle Funktionen von NX nutzen, genauso als wenn du es aus NX herraus gestartet hättest? Grüße Hauki Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jens Hansen Mitglied CAx-Spezialist
   
 Beiträge: 1056 Registriert: 05.08.2000
|
erstellt am: 09. Okt. 2012 10:30 <-- editieren / zitieren --> Unities abgeben:         
Hallo, irgendwie stehe ich auf den Schlauch was die entry points anbetrifft  Ich habe zwar die Funktionen umbenannt aber trotzdem wird die dll nicht ausgeführt. @hauki: Bei meinem Programm ging es um Schnitte in 3D (PMI) und die anschließende Zeichnungsableitung. Vom Funktionsumfang her wurde dabei alles unterstützt. Allerdings habe ich die Libraries von NX benutzt. Ob LateBinding mit NX funktioniert habe ich noch nicht prüfen können. SG Jens ------------------ Inoffizielle CATIA-Hilfeseite Kochbuch - CATIA V5 automatisieren
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hauki2905 Mitglied Softwareentwicklung CAD-CAM
 
 Beiträge: 113 Registriert: 03.02.2011 NX 7.5; 8.0; 8.5, 9.0, 10 auf Win 8.1 x64
|
erstellt am: 09. Okt. 2012 11:05 <-- editieren / zitieren --> Unities abgeben:          Nur für Jens Hansen
HI, wie heißen denn deine funktionen jetzt? du musst dich da mehr oder weniger sklavisch an die vorgaben halten, weil der das sonst eifnach ignoriert... ich mach das immer so: ich hab nen handler, der im entry point sitzt und dann sozusagen die eigentliche funktion aufruft. Bsp
Code:
Dim theUI As UI = UI.GetUI() Dim theSession As Session = Session.GetSession theUI.MenuBarManager.AddMenuAction("Akion", AddressOf perfAction_CB) ... Public Function perfAction_CB(ByVal bueattonEvent As NXOpen.MenuBar.MenuButtonEvent) As NXOpen.MenuBar.MenuBarManager.CallbackStatus Machehierwas() Return 0 End Function
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| (Senior) Kaufmännischer Property Manager (d/w/m) | Die Innovationskraft, der Ideenreichtum und der Anspruch unseres Medienhauses drücken sich in vielen Facetten aus: in Deutschlands größter Qualitätszeitung DIE ZEIT, Online-Aktivitäten, ZEIT Reisen, den ZEIT Magazinen, einem umfangreichen Veranstaltungs- und Konferenzgeschäft und exklusiven Sondereditionen. Leben Sie Ihre Talente in einem dynamischen Umfeld aus, das Tradition, Werte und Kreativität vereint.... | Anzeige ansehen | Feste Anstellung |
|
itmweg Mitglied
 Beiträge: 4 Registriert: 29.01.2015
|
erstellt am: 11. Feb. 2015 14:01 <-- editieren / zitieren --> Unities abgeben:          Nur für Jens Hansen
@Jens: Unwahrscheinlich, dass du das hier liest und sogar antwortest. Aber wie hast du es damals geschafft extern auf NX zuzugreifen? Vielleicht kann mir jemand anders weiterhelfen. Ich habe ein eigenes NXOpen-Programm in C# geschrieben. Kompilieren (als .dll in VS 2012) und Ausführen (in NX selbst) funktioniert problemlos. Jetzt würde ich die ganze Schose gerne extern als .exe ausführen lassen. Ist das überhaupt möglich von einem Rechner aus ohne NX-Umgebung? (Das RemotingExample funktioniert lokal auf dem NX-Rechner) Bin gespannt auf Antworten! =) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |