Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  CATIA vom Netzwerkordner starten

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
Autor Thema:  CATIA vom Netzwerkordner starten (1876 mal gelesen)
HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 11. Jun. 2008 09:24    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 CAD.de Gemeinde,

ich programmiere mit VB6 ein paar CAD-Tools zu CATIA. Habe bisher immer das Problem, dass nur ein CATIA geöffnet sein darf, da ich sonst nicht weiß welches ich aus der Prozessliste bekomme (mit GetObject), aber das ist bisher nicht weiter schlimm gewesen.

Nun habe ich aber ein sich daraus ergebendes Problem. Ich bin nicht in der Lage einen CATIA.Applcation Object direkt aus der Prozessliste zu bekommen.

Nun ist aber da Problem, dass die CATIA's im Netzwerk liegen und nicht direkt installiert sind, sprich es keinen Registry Eintrag gibt und der Anwender auch keine Adminrechte hat...

Meine Idee ist also nun, aus den Umgebungsvariablen den Netzwerkpfad auszulesen, wo das CATIA liegt und die Exe direkt vom in VB programmierten Tool zu starten, nur weiß ich an dieser stelle nicht, wie ich das bewerkstelligen soll und zwar so, dass ich dann mein CATIA Object erhalte.

Wäre cool wenn ihr da vielleicht irgendwie eine Idee hättet, wie ich an das CATIA Object heran komme.

Anmerkung: Eine besere Alternative wäre natürlich irgendwie ein CATIA Object aus der Processliste zu generieren.
Überlegt habe ich auch schon über ein CATScript, welches mein Tool startet, nur weiß ich dann noch immer nicht, wie das CATIA-Object übergeben werden soll...

[Diese Nachricht wurde von HoBLila am 11. Jun. 2008 editiert.]

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

apollo11
Mitglied



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

Beiträge: 47
Registriert: 31.03.2007

erstellt am: 11. Jun. 2008 12:08    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 HoBLila 10 Unities + Antwort hilfreich

Also mit
Code:
CATIA.SystemService.Environ("Variablenname")

kannst du auf die Systemvariablen zugreifen.

Auf catia.cad.de findest du ein Makro welches in Excel gestartet wird und in CATIA eine Kurve generiert. Vielleicht hilft dir das weiter.
http://catia.cad.de/images/downloads/Point.zip

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

Augustiner
Mitglied
Konstrukteur


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

Beiträge: 188
Registriert: 02.12.2005

HP Workstation
Windows XP Professional
Visual Studio 2005 Professional
CATIA V5 R14SP5 & R17SP3

erstellt am: 11. Jun. 2008 13: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 Nur für HoBLila 10 Unities + Antwort hilfreich

Zitat:
Nun ist aber da Problem, dass die CATIA's im Netzwerk liegen und nicht direkt installiert sind, sprich es keinen Registry Eintrag gibt und der Anwender auch keine Adminrechte hat...

für mal Cnext/regserver aus damit CATIA ordentlich regestriert wird

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 11. Jun. 2008 13:31    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

Danke für die Antwort,

wie ich eine Enviroment-Variable bekomme weiß ich ja schon, aber wie ich dann aus dem erhaltenen Pfad das CATIA-Object generiere würde mich interessieren...

Edit:
Also dies war die Antwort die Enviroment Funktion.
Das Makro macht es genauso wie ich bisher:

Function GetCATIA() As Object
    Set CATIA = GetObject(, "CATIA.Application")
    If CATIA Is Nothing Then
      Set CATIA = CreateObject("CATIA.Application")
      CATIA.Visible = True
    End If
   
    Set GetCATIA = CATIA
End Function

Dies funktioniert aber leider nur, wenn das CATIA registriert ist. 

unter http://ww3.cad.de/foren/ubb/Forum137/HTML/002686.shtml  hatte ich zuvor schon einige Anregungen gefunden, allerdings weiß ich nicht, wie ich das System Object für

CATIA = System.Runtime.InteropServices.Marshal.GetActiveObject("CATIA.Application")

herbekomme.

MfG Lila

[Diese Nachricht wurde von HoBLila am 11. Jun. 2008 editiert.]

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 11. Jun. 2008 13:40    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

Die Anwender haben keine Adminrechte, deshalb glaube ich nicht, dass dies gehen wird.

Mir wäre auch lieber, wenn der Admin da etwas kooperativer wäre, aber er hat nunmal seine Prinzipien udn wird's schon wissen.

Wenn die CATIAs ordentlich registriert wären hätte ich nicht das Problem.

Das mit dem regserver hatte ich somit also schon abgehakt.

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

Augustiner
Mitglied
Konstrukteur


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

Beiträge: 188
Registriert: 02.12.2005

HP Workstation
Windows XP Professional
Visual Studio 2005 Professional
CATIA V5 R14SP5 & R17SP3

erstellt am: 11. Jun. 2008 14:03    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 HoBLila 10 Unities + Antwort hilfreich

für regserver braucht man keine Adminrechte zumindest bei uns........

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 11. Jun. 2008 14:15    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

Hm...
Also ich werde es gleich testen, aber dann stellt sich mir die Frage, wie die Daten dann in die Registry kommen...

Aber so lange es funktioniert, wäre es ja eventuell die Lösung.

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

Axel.Strasser
Ehrenmitglied V.I.P. h.c.
Selbstständig im Bereich PLM/CAx



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

Beiträge: 4107
Registriert: 12.03.2001

erstellt am: 11. Jun. 2008 14:47    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 HoBLila 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Augustiner:
für regserver braucht man keine Adminrechte zumindest bei uns........

regserver bracht Admin Rechte ausser die entsprechnden Reg-Keys sind per GPO für alle zum Schreiben auf.

Axel

------------------
Inoffizielle deutsche CATIA Hilfeseite

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: 11. Jun. 2008 15:25    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 HoBLila 10 Unities + Antwort hilfreich

Hallo HoBLila,
wie starten den eure Anwender V5; über ein Icon auf dem Desktop?
Im Grunde muss dein Programm das Selbe machen; also V5 starten. Gibt es vielleicht eine Tastenkombination für den Start von V5 welchen du über sendkeys benutzen kannst?

Dann kannst du auch ganz normal mit dem GetObject arbeiten da V5 ja dann in der Prozessliste geführt wird.

SG

Jens Hansen

------------------
Inoffizielle CATIA-Hilfeseite
Private Seite
Xing

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 11. Jun. 2008 17: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

Also ich kann erstmal sagen regserver hat nicht funktioniert.

Dann möchte ich mich auch für die rege Teilnahme bedanken.

Das CATIA wird vorraussichtlich über eine Startsoftware eines Systemhauses gestartet.

Sprich die Software "weiß" wo das CATIA ist und welche Einstellungen es benötigt für die verschiedenen OEMs und welche Version und Release nötig sind.

Diese Software teilt mir dies aber auch über eine Variable mit, wo das CATIA liegt, welches gestartet wurde.

Sprich, ich weiß genau wo die Exe liegt.

Habe es also mit GetObject(<Pfad>,"CATIA.Application") versucht, leider ohne Erfolg...

CATIA ist zur Laufzeit meines Tools bereits gestartet, nur weiß ich nicht wie ich es aus der Processliste "fischen" kann, denn bei GetObject(, "CATIA.Application") bekomme ich nichts zurück, außer das CATIA ist ordnungsgemäß registiert.

Bekommen täte ich aber eien Liste der offene CATIAs über

objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'CNEXT.exe'")

nur habe ich keine Ahnung, wie ich dann daraus meine INFITF.Application gewinne, da die ja Processe ja vom Typ WMI irgendwas sind.

Edit:
Das GetObject("CATIA.Application") funktioniert nur bei registrierten CATIA's

[Diese Nachricht wurde von HoBLila am 12. Jun. 2008 editiert.]

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 12. Jun. 2008 09:33    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 liebe Gemeinde,

ich versuche weiter das Problem zu lösen:

Okay, anderer Versuch:

Dim colProcesses    As WbemScripting.SWbemObjectSet
Dim objWMIService  As WbemScripting.SWbemServicesEx


    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
    Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'CNEXT.exe'")

Dann habe ich in dem colProcesses ein geöffnetes SWbemObjectEx, wo ich aber keine Ahnung habe wie ich darauf zugreifen könnte, oder wie ich daraus das erhoffte CATIA.Application Object machen kann.

Edit:

ein For each Process in colProcesses liefert zumindest einzelne Objecte, die auch ID's haben, diese ID's scheinen aber nicht die richtigen für ein .GetActiveObject zu sein.   

Edit:

Kann ich mit processMy.ProcessID, welche dem Handle entspricht etwas anfangen? Ich mein GetActiveObject() verlangt ja nach einer ProgID als String, aber es klappt irgendwie nicht   

Edit:

Auch in den processMy.Properties_ steht der ExecutablePath, aber wie bekomme ich aus dem genauen Dateipfad der CNEXT.exe das erforderliche CATIA-Object? Wäre cool, wenn mir das wer sagen könnte, stehe da anscheinend echt auf dem Schlauch, denn dne Pfad habe ich ja, den Process auch nur das INFITF.Application Object daraus nicht. 

MfG Lila

[Diese Nachricht wurde von HoBLila am 12. Jun. 2008 editiert.]

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 12. Jun. 2008 16:15    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 nochmal,

also ich hake das Thema jetzt erstmal als nicht lösbar ab - viel zu viel Zeit in's rumprobieren invesitert.

Was mich wundert ist allerdings, dass ich ein Excel-Object bekomme wenn ich GetObject("Dateiname.xls") mache, aber kein CATIA-Object wenn ich GetObject("Dateiname.CATPart").

Habe es auch mit CNEXT.exe und CATSTART.exe probiert, auch mit dem Aufruf !CATIA.Application und nur !Application versucht, überall bekomme ich kein Object zurück, selbst dort, wo CATIA registriert ist.

Sprich selbst wenn CATIA registriert ist finde ich nur die Lösung über GetObject("CATIA.Application") und System.Runtime.InteropServices.Marshal.GetActiveObject("CATIA.Application").

Aber naja, was nicht geht, geht eben nicht. 

Danke für das rege Interesse und die nützlichen Tipps,

Mit freundlichen Grüßen,
Lila

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