Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Wieder einmal: NX über Remote ansprechen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX
Autor Thema:  Wieder einmal: NX über Remote ansprechen (3867 mal gelesen)
Jens Hansen
Mitglied
Senior Consult


Sehen Sie sich das Profil von Jens Hansen an!   Senden Sie eine Private Message an Jens Hansen  Schreiben Sie einen Gästebucheintrag für Jens Hansen

Beiträge: 1055
Registriert: 05.08.2000

Win7
CATIA V5 R19
VB.Net
C#

erstellt am: 20. Sep. 2012 16:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von mseufert an!   Senden Sie eine Private Message an mseufert  Schreiben Sie einen Gästebucheintrag für mseufert

Beiträge: 2624
Registriert: 18.10.2005

HP Z420
WIN7 64 Win 10
UG NX6-1980
3D Printer Prusa MK2 S

erstellt am: 21. Sep. 2012 11:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Jens Hansen 10 Unities + Antwort hilfreich

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
Senior Consult


Sehen Sie sich das Profil von Jens Hansen an!   Senden Sie eine Private Message an Jens Hansen  Schreiben Sie einen Gästebucheintrag für Jens Hansen

Beiträge: 1055
Registriert: 05.08.2000

erstellt am: 21. Sep. 2012 12:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Michael,
das Starten von VS aus der NX-Shell will ich ja gerade vermeiden 

SG

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


Sehen Sie sich das Profil von mseufert an!   Senden Sie eine Private Message an mseufert  Schreiben Sie einen Gästebucheintrag für mseufert

Beiträge: 2624
Registriert: 18.10.2005

HP Z420
WIN7 64 Win 10
UG NX6-1980
3D Printer Prusa MK2 S

erstellt am: 24. Sep. 2012 10:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Jens Hansen 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von wladlaw an!   Senden Sie eine Private Message an wladlaw  Schreiben Sie einen Gästebucheintrag für wladlaw

Beiträge: 72
Registriert: 11.01.2012

erstellt am: 03. Okt. 2012 00:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Jens Hansen 10 Unities + Antwort hilfreich

Hallo Jens,

vielleicht hilft es:

Dim NX_Session As Session
NX_Session = DirectCast(Activator.GetObject(GetType(Session), "http://localhost:4574/Session"), Session)

Gruß, Wladimir

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Jens Hansen
Mitglied
Senior Consult


Sehen Sie sich das Profil von Jens Hansen an!   Senden Sie eine Private Message an Jens Hansen  Schreiben Sie einen Gästebucheintrag für Jens Hansen

Beiträge: 1055
Registriert: 05.08.2000

Win7
CATIA V5 R19
VB.Net
C#

erstellt am: 08. Okt. 2012 12:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
nachdem ich es wirklich geschafft habe auf NX extern zuzugreifen (Der Proxy war im Weg  ) habe ich da noch eine Frage:
Wie kann ich eine dll direkt beim Start von NX starten?
Wenn ich unter $User_startup= in ugII_env_ug.dat den Pfad zu meiner dll eintrage, bekomme ich beim Start von NX die Meldung dass der entry point nicht stimmt (Function: ugsta).
Starte ich die dll "von Hand" funktioniert es. Hm .. ?

SG

Jens

------------------
Inoffizielle CATIA-Hilfeseite
Kochbuch - CATIA V5 automatisieren

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

gfx-toxic.de
Moderator
Konstruktion / Anwenderbetreuung


Sehen Sie sich das Profil von gfx-toxic.de an!   Senden Sie eine Private Message an matthias-p  Schreiben Sie einen Gästebucheintrag für matthias-p

Beiträge: 501
Registriert: 09.06.2006

Teamcenter 11.3 / NX 11
Windows 10

erstellt am: 08. Okt. 2012 14:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Jens Hansen 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von Hauki2905 an!   Senden Sie eine Private Message an Hauki2905  Schreiben Sie einen Gästebucheintrag für Hauki2905

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Jens Hansen 10 Unities + Antwort hilfreich

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
Senior Consult


Sehen Sie sich das Profil von Jens Hansen an!   Senden Sie eine Private Message an Jens Hansen  Schreiben Sie einen Gästebucheintrag für Jens Hansen

Beiträge: 1055
Registriert: 05.08.2000

erstellt am: 09. Okt. 2012 10:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von Hauki2905 an!   Senden Sie eine Private Message an Hauki2905  Schreiben Sie einen Gästebucheintrag für Hauki2905

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Jens Hansen 10 Unities + Antwort hilfreich

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



CAD-Zeichner, Technischer Zeichner oder Bauzeichner (m/w/d) Umwelttechnologie, Gartenbautechnik, Schwerpunkt Wasser- und Bewässerungstechnik

Das Ingenieurbüro Irriproject BEWÄSSERUNG | WASSERTECHNIK (gegründet 2010) ist ein spezialisiertes Fachplanungsbüro, welches sich mit einer neuen und sehr interessanten Branche beschäftigt. Wir sind als Wassertechnikplaner/ Umwelttechnikplaner integraler Bestandteil eines neuen Denkens des Bauens, sowie der Städtebegrünung und dienen damit der Schaffung eines lebenswerten Umfelds in unseren Städten....

Anzeige ansehenTechnischer Zeichner, Bauzeichner
itmweg
Mitglied


Sehen Sie sich das Profil von itmweg an!   Senden Sie eine Private Message an itmweg  Schreiben Sie einen Gästebucheintrag für itmweg

Beiträge: 4
Registriert: 29.01.2015

erstellt am: 11. Feb. 2015 14:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Jens Hansen 10 Unities + Antwort hilfreich

@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

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz