Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Rückgabe aus externem Programm

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:  Rückgabe aus externem Programm (1318 mal gelesen)
DonYouAn
Mitglied
Dipl.-Ing. Feinwerk- und Mikrotechnik


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

Beiträge: 39
Registriert: 19.04.2005

Catia V5 1605, 1803, 1903

erstellt am: 08. Mrz. 2010 15:37    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,

ich versuche gerade über ein externes Programm (Visual Basic 2008) ein Array mit Werten an das aufrufende Makro zurückzugeben. Leider habe ich bisher keine Möglichkeit gefunden dies zu bewerkstelligen. Hat vielleicht jemand eine Idee wie das funktioniert oder ist dies tatschlich nur über temp. Files möglich?

Hier mal der Code des CATScript-Makros

Code:

Sub CATMain()
  Dim InputValues() as Variant
  Dim FileSelector as String
  FileSelector = "\\pfad\Catia_FilePicker.exe"
  CATIA.SystemService.ExecuteProcessus(FileSelector)
End Sub

und das Gegenstück in Catia_FilePicker.exe

Code:

Private Sub Button_OK_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button_OK.Click
       
  Dim ElementValue As Integer = Func_Check_Element()
  Dim FormatValue As Integer = Func_Check_Format()
  Dim StructureValue As Integer = Func_Check_Structure()
  Dim NameValue As String = Func_Format_Name(TextBox_Name.Text)
  Dim NumberValue As String = Func_Format_Number(TextBox_Number_02.Text, TextBox_Number_03.Text)
  Dim CreatedByValue As String = TextBox_CreatedBy.Text
  Dim DateValue As String = DateTimePicker_Date.Text
  Dim RevisionValue As Integer = NumericUpDown_Revision.Value
  Dim FilenameValue As String = TextBox_Filename.Text
  Dim PathValue As String = TextBox_Path.Text

  Dim ReturnValues() As Object = {ElementValue, FormatValue, StructureValue, NameValue, NumberValue, CreatedByValue, DateValue, RevisionValue, FilenameValue, PathValue}
End Sub


Das Ziel ist das Array ReturnValues() an das aufrufende CATScript-Makro, in ein dort definiertes Array InputValues() zu übergeben und die EXE-Datei zu beenden. VBA ist übrigens keine Alternative, da VBA nicht auf allen Rechnern lauffähig ist, wegen einer seltsamen konzernweiten Installation. Außerdem lassen sich mit VB2008 die Oberflächen schöner programmieren.

Danke für die Hilfe im voraus.

Gruß
DonYouan

------------------
--

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. Mrz. 2010 16:50    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 DonYouAn 10 Unities + Antwort hilfreich

Hallo,
eine Möglichkeit wäre, die Daten in eine temp. Textdatei bzw. XML-Datei zu schreiben und diese dann auszulesen. Dann hast du keine Probleme mit der Übergabeparameter usw.

SG

Jens Hansen

------------------
Inoffizielle CATIA-Hilfeseite
Homepage von Jens Hansen
Kochbuch - CATIA V5 automatisieren

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

DonYouAn
Mitglied
Dipl.-Ing. Feinwerk- und Mikrotechnik


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

Beiträge: 39
Registriert: 19.04.2005

Catia V5 1605, 1803, 1903

erstellt am: 08. Mrz. 2010 18:32    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

Zitat:
Original erstellt von Jens Hansen:
Hallo,
eine Möglichkeit wäre, die Daten in eine temp. Textdatei bzw. XML-Datei zu schreiben und diese dann auszulesen. Dann hast du keine Probleme mit der Übergabeparameter usw.

Hallo,

das mit den Files wäre auch mein "einfacher" Ansatz gewesen. Ich hätte nur gehofft, dass eine Übergabe von Werten funktioniert, so ähnlich wie ein Return in einer Funktion in VB, also in etwa so:

in CATSkript -> InputValues()=CATIA_FilePicker.exe

in EXE -> Return ReturnValues()

Gibt es nichts ähnliches?

Danke DonYouAn

------------------
--

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

V5Playaz
Mitglied
Dipl.-Ing (BA)


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

Beiträge: 447
Registriert: 12.07.2005

DELL PRECISION 390
3,25 GB RAM
WIN XP PRO SP2
CATIA V5 R16-19
Delmia V5 R19
VB6, VB2008
Adobe Acrobat 9 Pro Extended

erstellt am: 08. Mrz. 2010 20: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 DonYouAn 10 Unities + Antwort hilfreich

Hallo,

ich sehe da keine Möglichkeit der direkten Kommunikation.
Geht wohl nur wie du schon gesagt hast, über temporäre Dateien.

Was willst du den genau an Informationen übergeben.

Eine Alternative wäre auf dein Makro zu verzichten und den Makro-Code direkt in dein VB2008-Programm einzubauen.
Dort kannst du nämlich auch direkt mit CATIA zu kommunizieren.

Grüsse Dominik

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

DonYouAn
Mitglied
Dipl.-Ing. Feinwerk- und Mikrotechnik


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

Beiträge: 39
Registriert: 19.04.2005

Catia V5 1605, 1803, 1903

erstellt am: 09. Mrz. 2010 07:27    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

Zitat:
Original erstellt von V5Playaz:
...
ich sehe da keine Möglichkeit der direkten Kommunikation.
Geht wohl nur wie du schon gesagt hast, über temporäre Dateien.

Was willst du den genau an Informationen übergeben.
...


Danke für die Antwort. Das hatte ich fast befürchtet. Eigentlich will ich nur ein paar Strings und Zahlen übergeben. Dann werde ich mich mal daran machen diese Infos in ein Textfile rauszuschreiben und im CATScript einzulesen. Später werde ich mich dann wohl mal an den direkten CATIA-Zugriff machen aus der EXE heraus.

Danke und Gruzz
DonYouAn

------------------
--

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