Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Fehlermeldung unterdrücken

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:  Fehlermeldung unterdrücken (3551 mal gelesen)
doni211
Mitglied
Raumfahrt-Ingenieur

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

Beiträge: 7
Registriert: 21.11.2011

Windows XP, Catia V5,R18

erstellt am: 21. Nov. 2011 09:21    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

erstmal großes Lob an euer Forum, find ich Klasse, nutze ich gerade täglich!
Diesmal hab ich aber trotz stundenlanger Suche weder eine Alternative zu on error, noch sonst eine Lösung für mein Problem gefunden.

Beim isolieren meiner Links verwende ich CATIA.StartCommand "Isolate_VBA", das ich vorher in Catia konfiguriert habe.
Beim Ausführen auf einem anderen Rechner fehlt die Konfiguration und mein Macro zeigt hunderte Male die Fehlermeldung "Unknown command: Isolate_VBA" an.

Um diese Fehlermeldung zu unterdrücken lasse ich den befehl am anfang testen und hab wie immer diesen code verwendet, der allerdings diesmal nicht funktioniert:

on error resume next
CATIA.StartCommand "Isolate_VBA"
if err.number <> 0 then
msgbox
end
end if
on error goto 0

meine Einzige Lösung wäre
den user mit einer MsgBox zu fragen ob gerade eine Fehlermeldung aufgetaucht ist um dann das Programm zu unterbrechen aber ich hätte auch nichts gegen eine etwas elegantere Lösung. Weis da jemand was?

Danke schonmal für eure Ideen,

Doni

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

doni211
Mitglied
Raumfahrt-Ingenieur

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

Beiträge: 7
Registriert: 21.11.2011

Windows XP, Catia V5,R18

erstellt am: 21. Nov. 2011 09:39    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

Als Alternative hab ich gerade den Tipp eines Kollegen bekommen, das Konfiguriern des Befehls einzubauen. Damit wär mein Problem ja auch gelöst.

Das wäre:
Catia > View > Toolbars > customize > Commands > Categorie: All Commands >
Isolate (das ohne Description: Removes the associativity with the point) >
Show Properties > User Alias: "Isolate_VBA"

Wüsste aber auch nicht wie man das programmieren könnte...

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: 21. Nov. 2011 14:22    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 doni211 10 Unities + Antwort hilfreich

Hallo Doni und herzlich willkommen im Forum,
also hier könnte es mehrere Möglichkeiten geben.

Ich kenne das Makro leider nicht, daher kann ich nur wild stochern, aber vll. sind da Gedankenansätz dabei, die dich weiterbringen.

1.) Ich würde, wie schon oft geschrieben, aktuell nurnoch in .Net (VB/C) programmieren, da man sehr viel flexibler ist und z.B. mit Try-Catch eine sehr mächtige Fehlerkorrektur/-abfrage nutzen kann.
2.) Wenn du doch ein Element isolierst/isolieren möchtest, dann frage doch nach dem Isolieren ab, ob der vorher vorhandene Link noch vorhanden ist, und wenn ja, dann breche das Programm mit einer Fehlermeldung ab.
3.) Du kannst z.B. mit der FindWindow-API prüfen, ob eine Fehlermeldung offen ist und diese ggf. auch auslesen. Daher kannst du auch gezielt das Fenster abfragen und ggf. dann eben aussteigen.

So wie du das Programm beschrieben hast, fehlt da so oder so noch einiges bzw. scheint es sehr unsauber zu sein. Normalerweise würde man immer prüfen, ob Abhängigkeiten gegeben sind. So aber genug davon 

HTH

BTW So wie dir das Forum hilft, kannst bzw. solltest du natürlich auch dem Forum helfen, daher wäre es vll. nicht verkehrt gewissen Code, der erstens deinem Fehlerbild und zweitens vll. auch anderen zu einer Lösung beitragen kann, zu posten. Schließlich erbringt die Gemeinschaft dieses Wissen und nur nehmen hat noch nie funktioniert.

------------------
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

doni211
Mitglied
Raumfahrt-Ingenieur

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

Beiträge: 7
Registriert: 21.11.2011

Windows XP, Catia V5,R18

erstellt am: 21. Nov. 2011 15: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

Danke für die schnelle Antwort!

Tipp 1 klingt gut, hab ich leider noch nie gelesen. Tipp 2 ist bereits im code enthalten. Tipp 3 werd ich morgen mal ausprobieren, falls ich das hinbekomme.

Beim letzten Absatz stimm ich dir natürlich zu, aber der code ist mitlerweile viele Seiten lang. Habe aber schon vor, mich im Forum mit zu beteiligen.
Zugegeben besonders sauber ist es nicht, aber ich bin schon glücklich wenn es funktioniert. Bin ja kein Informatiker ^^
Dieser Teil des Macros soll alle Links isolieren.
Ich finde mit CAIEngine raus, wieviele Links da sind

Zitat:
Dim oStiEngine As StiEngine
Set oStiEngine = CATIA.GetItem("CAIEngine")
Dim oStiDBItem As StiDBItem
Set oStiDBItem = oStiEngine.GetStiDBItemFromAnyObject(partDocument1)

Dim oDocument As Document
Set oDocument = oStiDBItem.GetDocument
'MsgBox oDocument.Name

Dim oStiDBChildren As StiDBChildren
Set oStiDBChildren = oStiDBItem.GetChildren()


gehe dann mit einer recursiv-schleife durch sämtliche Elemente eines Parts, isoliere sie nacheinander, prüfe ob die Links weniger geworden sind. Wenn nicht benutze ich catia.startcommand "undo".

Bis ich damit durch ein komplettes Product bin kanns schonmal ne stunde dauern.. aber dauert immer noch ein vielfaches kürzer als das manuell zu machen. ;)
Das liegt wahrscheinlich an der unsauberen Programmierung und an meinem wahnsinnig schnellen PC.

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

doni211
Mitglied
Raumfahrt-Ingenieur

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

Beiträge: 7
Registriert: 21.11.2011

Windows XP, Catia V5,R18

erstellt am: 25. Nov. 2011 10: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

Zitat:

3.) Du kannst z.B. mit der FindWindow-API prüfen, ob eine Fehlermeldung offen ist und diese ggf. auch auslesen. Daher kannst du auch gezielt das Fenster abfragen und ggf. dann eben aussteigen.

hat leider nicht funktioniert. wenn die fehlermeldung in Zeile X kommt, kommt er ja nicht weiter und kann die FindWindow-API in Zeile X+1 nicht ausführen

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: 25. Nov. 2011 11:11    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 doni211 10 Unities + Antwort hilfreich

Servus
Ich nehme an, dass du den Befehl "Isolate_VBA" selbst definiert hast.
Warum verwendest du dafür nicht eine normale Function/Sub? Dann würde zumindest die Fehlermeldung nicht mehr erschienen?

Gruß
Bernd

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

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

doni211
Mitglied
Raumfahrt-Ingenieur

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

Beiträge: 7
Registriert: 21.11.2011

Windows XP, Catia V5,R18

erstellt am: 25. Nov. 2011 12:38    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

Da gibts ne normale Funktion??
Wie lautet die? Syntax?
wär echt super wenns da was einfacheres gäbe!

Gruß
Anton

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: 25. Nov. 2011 18:00    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 doni211 10 Unities + Antwort hilfreich

Servus
AFAIK kann man den Befehl zum Isolieren (unabhängig von der Sprache) über:
   CATIA.StartCommand "Isolate"
aufrufen.
Falls es beim Ausführen von Isolate zu einem Fehler bei dir kommt, musst du wahrscheinlich dein Makro auslagern und von außen auf de Fehlermeldung reagieren (vergleiche auch hier)

Gruß
Bernd

PS: Hier findest du noch eine Beschreibung zu den StartCommands


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

[Diese Nachricht wurde von bgrittmann am 25. Nov. 2011 editiert.]

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

doni211
Mitglied
Raumfahrt-Ingenieur

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

Beiträge: 7
Registriert: 21.11.2011

Windows XP, Catia V5,R18

erstellt am: 01. Dez. 2011 10: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

hm ok, mit CATIA.StartCommand "Isolate" gibts leider bei manchen Links Probleme, deswegen spech ich mit Isolate_VBA gezielt ein bestimmtes Isolate an.

auf die Fehlermeldung zu reagieren klingt gut, hab ich auch mit in meinen Code eingebaut, allerding habe ich da das selbe Problem wie mit dem einfachen on error:
sobald die Fehlermeldung aufgeht macht das Programm nicht weiter, sondern wartet bis ich die Fehlermeldung geschlossen habe...

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

rfriedrich
Mitglied



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

Beiträge: 39
Registriert: 11.05.2005

erstellt am: 13. Feb. 2015 17:55    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 doni211 10 Unities + Antwort hilfreich

Hallo,

ich muss diesen alten Thread nochmal rauskramen, da mir das Problem aktuell in R24 wieder aufgefallen ist, und ich bisher leider keine zufriedenstellende Lösung gefunden habe.

Das eigentliche Problem ist hier, dass in der Liste unter View - Commands List... ZWEI Isolate-Befehle auftauchen. Beim ersten steht der Hilfetext "Removes the associativity with the point", beim zweiten steht gar nichts. Hat man eine Geometrie, z.B. Punkt/Linie/Plane selektiert und ruft im PowerInput c:Isolate oder per Makro CATIA.StartCommand "Isolate" auf, dann wird der erste Befehl aus der Liste ausgeführt, der leider nichts bewirkt. Geht man (interaktiv) in die Liste und wählt den zweiten Isolate-Befehl aus und startet diesen, wird wunderbar isoliert.

Der Trick ist es nun, dem zweiten Isolate einen eindeutigen User-Alias zuzuweisen, den man per CATIA.StartCommand aufrufen kann.

So weit, so gut. Das funktioniert zwar, aber nicht auf Anhieb auf jedem Rechner (Settings-Anpassung erforderlich - entweder durch den User oder zentral über die Reference-Settings). Das ist nicht schön.

Kennt jemand hierfür einen Workaround?


Danke und Gruß
Roland

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