Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Ausführung eines Scripts bei Error automatisch abbrechen

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:  Ausführung eines Scripts bei Error automatisch abbrechen (570 / mal gelesen)
Christian265
Mitglied



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

Beiträge: 43
Registriert: 16.04.2007

Catia V5 R24
Windows 7

erstellt am: 10. Jan. 2017 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

Hallo zusammen,

mithilfe eines parametrisierten CATScripts (catvbs Datei) möchte ich eine automatisierte Variantenerzeugung eines CATParts realisieren. Die Variantenerzeugung des CATParts ist dabei Bestandteil einer größeren Prozesskette, die ohne Nutzerinteraktion verlaufen soll. Für jede zu erzeugende Variante des CATParts wird in der Prozesskette ein CATScript mit den entsprechenden Parameterwerten generiert und diese CATScripts werden nacheinander durch Catia abgearbeitet.

Prinzipiell funktioniert diese Vorgehensweise, jedoch kann nicht sichergestellt werden, dass jedes CATScript fehlerfrei ausgeführt werden kann (es gibt "unsinnige" Parameterkombinationen). Tritt ein Fehler auf, erfordert das eine Nutzerinteraktion und der gesamte Prozess kommt zum Stillstand. Stattdessen möchte ich gerne, dass ohne Nutzerinterkation die Ausführung des entsprechenden CATScripts einfach abgebrochen wird, so dass mit der Asuführung des nächsten CATSripts begonnen werden kann.

Gibt es eine Option, die ich in meinem CATScript hinzufügen kann, die zu so einem Verhalten führt? Über einen einfachen und ohne viel Aufwand umsetzbaren Lösungsvorschlag würde ich mich sehr freuen.

Vielen Dank vorab und Grüße
Christian

P.S.: Hier eine Kurzform meines Scripts:


   
'*******
'Öffnen und Zusammenführen der relevanten Dateien
'*******

Sub CATMain()

    Set documents1 = CATIA.Documents

    Set documentDest = documents1.Open ("D:\Input_1.CATPart")

    Set documents2 = CATIA.Documents

Set part1 = documentDest.Part

Set hybridBodies1 = part1.HybridBodies

    Set documentSour = documents2.Open("D:\Input_2.igs")

    Set Sel = CATIA.ActiveDocument.Selection
    Sel.Search "Name=Surface.1"
    Sel.Copy

    documentDest.Activate

    Set SelDest = documentDest.Selection

Set hybridBody1 = hybridBodies1.Item("Import")

SelDest.Add hybridBody1
SelDest.Paste
SelDest.Clear

documentSour.Close

Set hybridShapeFactory1 = part1.HybridShapeFactory

Set hybridBody2 = hybridBodies1.Item("Import")

'... (Code entfernt)

'******
'Geometrieparameter aktualisieren
'******


Set parameters1 = part1.Parameters


Set angle1 = parameters1.Item("alpha")
angle1.Value = 25.000000
Set length1 = parameters1.Item("Om_h")
length1.Value = 6.000000

'... (Code entfernt)

'*******
'Update und Speichern unter neuem Namen
'*******

part1.Update

part1.Update

Set partDocument1 = CATIA.ActiveDocument

partDocument1.SaveAs "D:\Output.CATPart"

partDocument1.Close

End Sub

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 10. Jan. 2017 16: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 Christian265 10 Unities + Antwort hilfreich

Servus
Gerade das Abfangen von Fehlern nimmt bei der Erstellung von Makros sehr viel Zeit in Anspruch (eine kleine Einführung siehe hier).
Welche Arten von Fehler hast du denn?
Das ein Feature/Objekt nicht gibt?
Schlägt die Aktualisierung fehl?

Gruß
Bernd

PS: Hab ich richtig gelesen, du erstellst für jede Variante automatisch ein extra Makro?
Warum denn nicht in dem Makro die verschiedenen Varianten erzeugen (DesignTable, Textfile als Input für das Makro, ...)

------------------
Warum einfach, wenn es auch kompliziert geht.

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

Christian265
Mitglied



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

Beiträge: 43
Registriert: 16.04.2007

Catia V5 R24
Windows 7

erstellt am: 10. Jan. 2017 16:46    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 Bernd,

besten Dank, das Dokument lese ich mir gerade durch.

Die anderen Fragen möchte ich vorab beantworten:

Teilweise können Features nicht berechnet werden (Isoparametrische Kurven), weil der Input nicht stimmt (Punkt liegt nicht auf Fläche = unsinnige Parameterkombination). Teilweise gelingt das Update nicht, weil die Geometrie zu stark gekrümmt ist (Sweeps führen zu "Cusps" = unsinnige Parameterkombination).

Insofern brauche ich eigentlich keine Fehleranalyse, denn die unsinnigen Parameterkombinationen werde ich nicht ausschließen können. Vielleicht als kleine Hintergunderklärung: Die Parameter werden durch einen Optimierungsalgorithmus im Zuge einer Strukturoptimierung kontrolliert. Der Algorithmus kennt keine Zusammenhänge zwischen den Parametern, was zu den unsinnigen Parameterkombinationen führen kann. Eine solche Variante wird dann als "Failed Design" bewertet und die entsprechende Parameterkombination als ungeeignet eingestuft. Sofern nicht der Großteil der untersuchten Varianten "Failed Designs" sind, ist das für den Optimierungsalgorithmus nicht weiter problematisch. Das setzt allerdings voraus, dass Catia trotz unsinniger Parameterkombination weiterläuft (also bei dem entsprechenden Design einfach abbricht und das nächste Design erzeugt). Und genau das bekomme ich derzeit nicht hin...

Die automatische Erzeugung des Makros hat im Prinzip den gleichen Grund. Ich kenne die zu untersuchenden Varianten nicht im Vorfeld, sondern diese werden durch den Optimierungsalgorithmus im Verlauf der Optimieurng erst definiert. Die Optimierungssoftware setzt die entsprechenden Werte dann in das CATScript ein. Wahrscheinlich kann man das auch anders lösen, für mich hat das bisher so jedoch ganz gut so funktioniert.

Viele Grüße
Christian


EDIT:

Wenn ich davon ausgehe, dass ein Fehler immer durch "part1.update" verursacht wird, kann ich dann Folgendes verwenden, um die Fehlermeldung zu unterdrücken und die Ausführung des Scripts zu beenden:


'...

On Error Goto FAILURE

part1.Update

Set partDocument1 = CATIA.ActiveDocument

partDocument1.SaveAs "D:\Output.CATPart"

FAILURE:

partDocument1.Close

End Sub

[Diese Nachricht wurde von Christian265 am 10. Jan. 2017 editiert.]

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