Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  .vba in Catia einbinden

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:  .vba in Catia einbinden (2023 mal gelesen)
LayKris
Mitglied
Student


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

Beiträge: 12
Registriert: 28.03.2012

@home:
i5-750 @ 4x2,66GHz
4GB DDR3
Radeon HD5770
@mobile:
Amd A8-3520 @ 4x2.5GHz
4GB DDR3
Radeon HD6740G2

erstellt am: 28. Mrz. 2012 10: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 Leute, bin neu hier, arbeite erst seit kurzer Zeit mit Makros und habe direkt mal eine Frage.
Und zwar habe ich eine Eingabemaske mit Windows-Forms unter MS VB2010Express erstellt und möchte diese gern als Makro in CATIA nutzbar machen.
Zwischen den Zeilen habe ich hier schon gelesen, dass es dafür wohl mehrere Möglichkeiten gibt, bin aber noch nicht so richtig schlau daraus geworden.
Was ist eurer Meinung nach die einfachste/effektivste Möglichkeit, das zu tun? Quellcode kopieren und anpassen? Als .exe oder .dll kompilieren und mit Makro aufrufen? Und, am wichtigsten: wie mache ich das?

Zur Verdeutlichung: ich möchte dem Benutzer hinterher die Möglichkeit geben, die berechneten Werte direkt an CATIA zu übergeben, also zum Beispiel als Durchmesser für eine Rib.

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

LayKris
Mitglied
Student


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

Beiträge: 12
Registriert: 28.03.2012

@home:
i5-750 @ 4x2,66GHz
4GB DDR3
Radeon HD5770
@mobile:
Amd A8-3520 @ 4x2.5GHz
4GB DDR3
Radeon HD6740G2

erstellt am: 28. Mrz. 2012 15:53    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

Okay, anscheinend ist das ganze doch etwas zu allgemein formuliert.

Ich bin mittlerweile soweit, dass ich ein Makro erstellt habe, das über ExecuteProcessus die .exe meiner Eingabemaske ausführt. Leider schaffe ich es nicht, einen Rückgabewert auszulesen. Habe schon mehrere Varianten durchprobiert, momentan versuche ich es folgendermaßen:

Code:

Public Class Form1
    Dim Ausgabe As Double
    Public ReadOnly Property ReturnCode() As Double
        Get
            Return Ausgabe
        End Get
    End Property
...


Der Variable "Ausgabe" wird im späteren Verlauf ein Wert zugewiesen, den ich von außerhalb der Klasse (mit dem übergeordneten Makro) auslesen möchte.
Wie schaffe ich es, von extern auf den Inhalt von "ReturnCode" (oder auch gerne direkt auf "Ausgabe") zuzugreifen? Muß ich bei der Reihenfolge irgendwas beachten, damit auch wirklich der richtige Wert drinsteht?
Mache ich irgendwas grundlegend falsch?

Wäre für jede Hilfe dankbar!

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: 28. Mrz. 2012 16:43    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 LayKris 10 Unities + Antwort hilfreich

Ich glaub das mit dem Übergeben von Werten ist nicht so trivial, das würde ich erst einmal lassen.

Schreib lieber die Daten in ein TEMP-File, welches sich dann beide Programme teilen können.

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

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

LayKris
Mitglied
Student


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

Beiträge: 12
Registriert: 28.03.2012

@home:
i5-750 @ 4x2,66GHz
4GB DDR3
Radeon HD5770
@mobile:
Amd A8-3520 @ 4x2.5GHz
4GB DDR3
Radeon HD6740G2

erstellt am: 28. Mrz. 2012 20:19    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 erstmal für den Tipp, das werde ich am Freitag mal ausprobieren. Morgen steht erstmal eine Klausur an!

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

LayKris
Mitglied
Student


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

Beiträge: 12
Registriert: 28.03.2012

@home:
i5-750 @ 4x2,66GHz
4GB DDR3
Radeon HD5770
@mobile:
Amd A8-3520 @ 4x2.5GHz
4GB DDR3
Radeon HD6740G2

erstellt am: 30. Mrz. 2012 13: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

Nur mal ein kleines Update hier:

Habe es jetzt geschafft, über ExitCode einen Integer-Wert zu übergeben, der Aufruf der .exe erfolgt jetzt über Shell.
Was mich ein wenig wundert ist, dass trotz vbNormalFocus die Eingabemaske im Hintergrund geöffnet wird, Catia bleibt also im Vordergrund und man muß die Eingabemaske über die Taskleiste in den Vordergrund holen. Liegt das an Catia oder mache ich was falsch?

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

RSchulz
Moderator²
Head of CAD, Content & Collaboration / IT-Manager



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

Beiträge: 5541
Registriert: 12.04.2007

@Work
Lenovo P510
Xeon E5-1630v4
64GB DDR4
Quadro P2000
256GB PCIe SSD
512GB SSD
SmarTeam V5-6 R2016 Sp04
CATIA V5-6 R2016 Sp05
E3.Series V2019
Altium Designer/Concord 19
Win 10 Pro x64

erstellt am: 03. Mai. 2012 16:45    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 LayKris 10 Unities + Antwort hilfreich

Hallo,
du kannst deinen Forms auch die Option mitgeben, dass diese ständig im Vordergrund sind. Die Option findest du in den Eigenschaften der Form und heist TopMost, die auf True gesetzt werden muss.

------------------
MFG
Rick Schulz

Nettiquette (CAD.de)  -  Was ist die Systeminfo?  -  Wie man Fragen richtig stellt.  -  Unities

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