Makros

Aus CATIA-Wiki
Wechseln zu: Navigation, Suche

Immer wiederkehrende Arbeiten lassen sich in CATIA-V5 sehr komfortabel mit der Programmierung von Makros erledigen. Hierzu setzt DassaultSystemes begrüßenswerterweise auf etablierte (immerhin Microsoft) Standards. Makros selbst erfordern selbst keine zusätzliche Lizensierung, sondern sind von Haus aus möglich. Der "große Bruder" der CATIA-V5 Makros sind CAAs, welche mit der speziellen Entwicklungsumgebung RADE möglich ist. RADE ist jedoch kostenpflichtig.


*.catvba

Makros mit dieser Dateinamenserweiterung sind nur unter Microsoft Windows lauffähig.
Diese Makros verwenden die Visual-Basic For Applications Runtime und erweitert diese um CATIA spezifische Befehle.

  • Vorteile:
    • Mit dieser Makrosprache lassen sich auch ansprechende, grafische Benutzerdialoge realisieren.
  • Nachteile:
    • Der Programmcode selbst ist binär, und läßt sich daher ausschliesslich mit den Visualbasic Editor bearbeiten.
    • Die binären Versionen des Codes sind oft direkt an die jeweilige CATIA-Version gebunden.
      Bei einem Releasewechsel kann es erforderlich sein, dass der Programmcode in der alten Version exportiert und in der neuen CATIA-V5 Version importiert werden muss. Dieses führt des Öfteren schon mal zu Frustration, da CATIA selbst keine Versions Fehlermeldung ausgibt, die Makros auch teilweise laufe, jedoch fehlerhafte Ergebnisse liefern.

*.CATScript

Makros mit dieser Dateinamenserweiterung sind auf allen Plattformen lauffähig, auf denen CATIA-V5 läuft.

  • Vorteile:
    • Plattformunabhängig
  • Nachteile:
    • Unterstützt nicht das Programmieren von grafischen Benutzeroberflächen


Bemerkenswertes, Fallstricke, Programmieralbträume

CATIA.SystemService.ExecuteScript()

Dieser CATScript Befehl ist u.a. in der Lage ein CATVBA-Script auszuführen.
Wenn dieses CATVBA wiederum einen CATIA.FileSelectionBox() Aufruf enthält,
friert nach dem Bedienen des "Datei öffnen"-Dialogs das gesamte CATIA ein.

Wenn das CATVBA direkt über Tools/Makro/Makros... aufgerufen wird, tritt dieser Effekt nicht auf.
Offensichtlich wird der modale Fokus des "Datei öffnen"-Dialogfensters nicht sauber aufgelöst,
wenn das CATVBA über CATIA.SystemService.ExecuteScript() aufgerufen wird.
Hier ist daher Vorsicht geboten.

Siehe auch