| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. |
| |
 | KISTERS 3DViewStation mit neuer Zerschneidefunktionen und erweitertem PMI-Support, eine Pressemitteilung
|
Autor
|
Thema: Makro wird nicht korrekt beendet (1376 mal gelesen)
|
AlfaRomeo75 Mitglied Dipl.Ing. - Flächenkonstrukteur/Methodenplaner
 
 Beiträge: 174 Registriert: 06.12.2004 ----------------- Windows XP professional Version2002 Service Pack 2 ----------------- CATIA V5 R16 SP5 ----------------- Intel Pentium 4 3,4GHz 4 GB RAM -----------------
|
erstellt am: 07. Mrz. 2006 12:05 <-- editieren / zitieren --> Unities abgeben:         
Hallo, habe mal wieder ein Problem: Ich öffne über ein Makro ein IGS-File in dem Kurven enthalten sind! Diese Kurven kopiere ich über eine Selektion in mein aktives Part(ohne Link). Soweit funktioniert auch alles, das Makro wird korrekt beendet! Nur merkwürdigerweise muss ich um dann in dem Part weiterarbeiten zu können immer auf irgendeine Funktion klicken und diese wieder beenden. Erst danach befindet sich CATIA wieder im normalen Status! Offensichtlich steckt CATIA immer noch in irgendeinem Dialog. (Die angefügte Bilddatei stellt den Status nach Makroende bei einem Rechtsklick dar!) Hat jemand von Euch schon mal so ein Phänomen gehabt! Ich habe die Vermutung, das dies durch das IGS-File entsteht! Gruß, AlfaRomeo75 ------------------ ------------------------------------------------- Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tomtom1972 Mitglied dipl ing maschinenbau
  
 Beiträge: 608 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 07. Mrz. 2006 12:24 <-- editieren / zitieren --> Unities abgeben:          Nur für AlfaRomeo75
Hallo, das Phänomen kenne ich auch, allerdings nicht unbedinngt im Zusammenhang mit igs files. Frage: Verwendest du Catia.Interactive = False in deinem Code? Gruss TomTom ------------------ tomtom1972 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AlfaRomeo75 Mitglied Dipl.Ing. - Flächenkonstrukteur/Methodenplaner
 
 Beiträge: 174 Registriert: 06.12.2004 ----------------- Windows XP professional Version2002 Service Pack 2 ----------------- CATIA V5 R16 SP5 ----------------- Intel Pentium 4 3,4GHz 4 GB RAM -----------------
|
erstellt am: 07. Mrz. 2006 12:34 <-- editieren / zitieren --> Unities abgeben:         
@tomtom1972: Nein, verwende ich nicht! PS: Ich kenne es auch nicht!!! Wofür brauche ich das, bzw.was macht es? Gruß AlfaRomeo75
------------------ ------------------------------------------------- Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tomtom1972 Mitglied dipl ing maschinenbau
  
 Beiträge: 608 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 07. Mrz. 2006 13:08 <-- editieren / zitieren --> Unities abgeben:          Nur für AlfaRomeo75
Hallo, Catia ist dann gesperrt für User-Interaktion, d.h. der Kollege vorm Bildschirm kann auf der Tastatur rumdrücken und mit der Maus in der Gegend rumklicken, ohne das das Script abstürtz. Bei Makros, die länger laufen und Anwendern mit wenig Geduld sehr zu empfehlen. Nur manchmal tritt eben dann dein geschildertes problem auf: man schaltet wieder auf true aber CATIA reagiert nicht auf Eingaben. Und dafür verwende ich dann eben folgenden Workarround: Irgendein Part auf und wieder zu. In der Install. Strukturt von CATIA gibts ein Empty Part (in jeder Release im selben Ordner relativ von der CNext.exe aus gesehen), was sich dafür eignet. Öffnen/Schliessen dauert weniger als 1 Sekunde. Set oFileSystem = CreateObject("Scripting.FileSystemObject") Set oCatiaAppFolder = oFileSystem.GetFolder(Catia.Parent.Path) Set EmptyPartFolder = oFileSystem.GetFolder(oCatiaAppFolder.ParentFolder.ParentFolder.Path & "\startup\templates") Set EmptyPartFile = oFileSystem.GetFile(EmptyPartFolder.Path & "\empty.CATPart") Set oEmptyPart = Catia.Documents.Open(EmptyPartFile.Path) oEmptyPart.Close Gruss TomTom ------------------ tomtom1972 [Diese Nachricht wurde von tomtom1972 am 07. Mrz. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AlfaRomeo75 Mitglied Dipl.Ing. - Flächenkonstrukteur/Methodenplaner
 
 Beiträge: 174 Registriert: 06.12.2004 ----------------- Windows XP professional Version2002 Service Pack 2 ----------------- CATIA V5 R16 SP5 ----------------- Intel Pentium 4 3,4GHz 4 GB RAM -----------------
|
erstellt am: 07. Mrz. 2006 13:23 <-- editieren / zitieren --> Unities abgeben:         
@TomTom1972: Hallo, vielen Dank für die schnelle Antwort! Habe Deine Workaround in meine Routine eingebaut! Leider ohne Erfolg! Catia öffnet und schliesst das EmptyPart, aber leider ändert sich der Status meines Parts nicht! Gruß, AlfaRomeo75 ------------------ ------------------------------------------------- Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tomtom1972 Mitglied dipl ing maschinenbau
  
 Beiträge: 608 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 07. Mrz. 2006 13:52 <-- editieren / zitieren --> Unities abgeben:          Nur für AlfaRomeo75
Hallo, dann fällt mir von hier aus ohne deinen Code zu kennen auch nichts schlaues dazu mehr ein. Wenn du ihn posten willst, kann ich noch mal schaun, ob mir was auffällt. Gruss TomTom ------------------ tomtom1972 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AlfaRomeo75 Mitglied Dipl.Ing. - Flächenkonstrukteur/Methodenplaner
 
 Beiträge: 174 Registriert: 06.12.2004 ----------------- Windows XP professional Version2002 Service Pack 2 ----------------- CATIA V5 R16 SP5 ----------------- Intel Pentium 4 3,4GHz 4 GB RAM -----------------
|
erstellt am: 07. Mrz. 2006 14:54 <-- editieren / zitieren --> Unities abgeben:         
@tomtom1972: Habe mal den Code auf das nötigste geschrumpft(siehe Anhang). Bei mir tritt der Fehler dennoch auf! Vorraussetzung ist, das du ein PART1 geöffnet hast und irgendwo eine IGS-Datei hast in der mindestens ein Kurve ist. Gruß, AlfaRomeo75 ------------------ ------------------------------------------------- Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Günter K. Mitglied

 Beiträge: 21 Registriert: 16.08.2004
|
erstellt am: 07. Mrz. 2006 15:55 <-- editieren / zitieren --> Unities abgeben:          Nur für AlfaRomeo75
Hallo zusammen, ich habe die Diskussion interessiert verfolgt, weil ich selber einmal das Problem hatte; ich konnte es allerdings nicht mehr reproduzieren. Ich weiß zwar nicht warum der Fehler auftritt, aber wenn du das Wechseln zwischen den Fenstern weglässt, tritt der Fehler nicht mehr auf. Ich habe den Auszug deines Skriptes mal soweit angepasst, dass es bei mir einwandfrei funktioniert. Ich hoffe, das hilft dir erst einmal weiter. Gruß, Günter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tomtom1972 Mitglied dipl ing maschinenbau
  
 Beiträge: 608 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 08. Mrz. 2006 06:47 <-- editieren / zitieren --> Unities abgeben:          Nur für AlfaRomeo75
Hallo Günter, hallo AlfaRomeo75, das ganze hat nichts mit dem Fensterhandling zu tun. @Günter: dein Code läuft jetzt nur, weil du den Igs-file nicht mehr schliesst (IGSDoc.Close ist auskommentiert). Wenn du diese Zeile wieder reinnimmst, ist der Fehler nach wie vor da. @AlfaRomeo75: das ganze scheint wirklich am igs-file zu liegen, da das Problem bei deinem Code und der Auswahl eines .CATParts statt eines igs-files NICHT auftritt. Manchmal hat man dieses Problem auch beim manuellen arbeiten in anderen Situationen: Im Catia lässt sich erst wierder richtig etwas auswählen, wenn man das "Select" Icon anklickt (gelber Pfeil, der dann orange wird). Ich denke, das kennt jeder CATIA-User. Diesen Befehl gibts leider nicht für die COM Schnittstelle. Das ganze geht aber mit Hilfe des CATIA.Startcommand. Und das löst dann auch dein Problem, vorrausgesetzt du arbeitest in der englischen Sprachumgebung. Füge in die letzte Zeile deines Codes zu: catia.startcommand "select" Jetzt läufts. Gruss TomTom ------------------ tomtom1972
[Diese Nachricht wurde von tomtom1972 am 08. Mrz. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AlfaRomeo75 Mitglied Dipl.Ing. - Flächenkonstrukteur/Methodenplaner
 
 Beiträge: 174 Registriert: 06.12.2004 ----------------- Windows XP professional Version2002 Service Pack 2 ----------------- CATIA V5 R16 SP5 ----------------- Intel Pentium 4 3,4GHz 4 GB RAM -----------------
|
erstellt am: 08. Mrz. 2006 07:53 <-- editieren / zitieren --> Unities abgeben:         
@Günter: TomTom1972 hat recht! Sobald man die Zeile IGSDoc.close wieder mit reinnimmt geht's nicht mehr! Meine Vermutung war also richtig, das es am IGS-File liegt! Aber dennoch vielen Dank! @TomTom1972: Du hast völlig recht, man kennt dieses Problem auch in anderen Situationen beim Arbeiten. Allerdings ist dies dann meist nicht reproduzierbar! Die Idee mit dem Select ist super und läuft prima! Vielen Dank! Auch wenn ich das eigentliche Problem nicht wirklich verstehe, so haben wir (du) dennoch ein Lösung gefunden. Gruß AlfaRomeo75
------------------ ------------------------------------------------- Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tomtom1972 Mitglied dipl ing maschinenbau
  
 Beiträge: 608 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 08. Mrz. 2006 08:21 <-- editieren / zitieren --> Unities abgeben:          Nur für AlfaRomeo75
Ein abschliessendes Hallo, falls es dich tröstet: das eigentliche Problem (bzw. die Ursache des selbigen) habe ich auch nicht verstanden. That s Catia ....... Gruss TomTom ------------------ tomtom1972 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CTenschert Mitglied Wissenschaftlicher Mitarbeiter

 Beiträge: 67 Registriert: 04.09.2000
|
erstellt am: 08. Mrz. 2006 10:48 <-- editieren / zitieren --> Unities abgeben:          Nur für AlfaRomeo75
|