Autor
|
Thema: Datenrettung bei Click OK to Terminate (10413 mal gelesen)
|
roccat Mitglied Konstrukteur
Beiträge: 172 Registriert: 19.02.2010 WinXP/Win7 Office XP/2007 Catia V5 R16-R19, VB6.0, VBA, BASCOM-AVR VB .Net 2010
|
erstellt am: 11. Jun. 2010 15:53 <-- editieren / zitieren --> Unities abgeben:
Hallo, sollte jemand auch schon mal die schmerzhafte Erfahrung gemacht haben dass nach einiger Zeit des Arbeitens die Meldung "Click Ok to Terminate" erscheint und Euch nur noch die Möglichkeit bleibt "Ok" zudrücken, dann kann manchmal noch was Retten. In einigen Fällen (je nach dem bei welcher Aktion der Fehler aufgetreten ist) lassen sich die Daten dennoch Speichern. Ich empfehle aber die Daten auf der Platte vorher zu sichern. Man muss das Catia von extern Ansprechen. Ich hab den Folgenden Code aus Excel gestartet sollte aber auch in VB aus einer EXE funktionieren: (Wer mit INFITF... Dimensioniert muss aber noch den Verweis "CATIA V5 InfInterface Object Library" hinzufügen) Option Explicit Sub Start() Dim sText As String Dim CATIA As INFITF.Application 'alternativ: As Object Dim MyDocuments As INFITF.Document 'alternativ: As Object Dim MyDocument As INFITF.Documents 'alternativ: As Object On Error Resume Next 'Catia ansprechen Set CATIA = GetObject(, "CATIA.Application")
'Check ob Catia angesprochen werden konnte If CATIA Is Nothing Then sText = "Catia kann nicht angesprochen werden!" MsgBox sText, vbCritical, "Fehler" End End If 'Documente speichern Set MyDocuments = CATIA.Documents For Each MyDocument In MyDocuments If MyDocument.Saved = 0 Then MyDocument.Save sText = sText & MyDocument.Name & ": " & MyDocument.Saved & vbCrLf End If Next 'Hinweis was gespeichert wurde MsgBox sText, , "Hinweis" On Error GoTo 0 End Sub evtl. Hilft es jemanden mfG Mario Edit: Das hab ich noch vergessen, das Makro muss natürlich ausgeführt werden bevor man die CATIA-Anwendung mit "OK"-abschießt". SRY /Edit [Diese Nachricht wurde von roccat am 13. Jun. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
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: 14. Jun. 2010 11:43 <-- editieren / zitieren --> Unities abgeben: Nur für roccat
Die Idee gefällt mir. Auch in temporären Ordnern sind CATIA-Daten aus der aktiven Sitzung hinterlegt, die beim OK oder neu Starten oft bereinigt werden. Diese sind manchmal auch von Nutzen, wie Trace-Files, in der Richtung könntest Du eventuell auch noch denken. CATIA nutzt solche Files für den Warmstart. ------------------ 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 |
Thomas Harmening Ehrenmitglied V.I.P. h.c. Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 NX 10 Win 7
|
erstellt am: 29. Jun. 2010 17:41 <-- editieren / zitieren --> Unities abgeben: Nur für roccat
hat schon geholfen aber da bei mir mit einem Temp-Verzeichnis gearbeitet wird, bringt es nicht soviel wenn gesichert *& man sich wie Schmittchens Pudel freut* anschliessend >klick Ok to Terminate> klickt - *peng* das Temp-Verzeichnis ist dann auch weg Deshalb habe das Ende abgeändert. Dateiendung wird abgeprüft und in ein V5-Tmp Ordner gesichert - egal ob gesichert oder nicht gesichert, blöd vielleicht bei grossen Baugruppen Code: 'Documente speichern bText = "" Set MyDocuments = CATIA.Documents For Each MyDocument In MyDocuments If InStr(1, MyDocument.FullName, ".CATP") > 0 Then myDoc = MyDocument.Name MyDocument.SaveAs "C:\v5-tmp\" & myDoc bText = bText & MyDocument.Name & ": gespeichert unter " & "C:\v5-tmp\" & myDoc & vbCrLf End If Next'Hinweis was gespeichert wurde MsgBox bText, , "Hinweis-Backup" On Error GoTo 0 End Sub
[Diese Nachricht wurde von Thomas Harmening am 29. Jun. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
roccat Mitglied Konstrukteur
Beiträge: 172 Registriert: 19.02.2010 WinXP/Win7 Office XP/2007 Catia V5 R16-R19, VB6.0, VBA, BASCOM-AVR VB .Net 2010
|
erstellt am: 30. Jun. 2010 09:14 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, das ist auch ne Gute Idee. Das Interessante an der ganzen Geschichte ist ja eigendlich nicht was man noch macht sondern das man überhaupt noch was machen kann. Aber mal noch eine Anmerkung zu deinem Save As, ich glaube du mußt nach deinem "Save As" aller Dokumente noch mal checken ob nicht noch was modified ist. Ich hatte das auchmal so gemacht und das hat bei mir zu Problemen geführt. Beispiel das Makro speichert erst das Produkt und dann ein darunter liegendes Part, dann wird das Product wieder modifiet da es ja den Ort wo es das Part her bekommt auch speichern muß. Ich hatte das glaube ich so gemacht das ich alle documente so lange durch gelaufen bin bis alle auf saved standen. mfg Mario Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Azat Mitglied
Beiträge: 5 Registriert: 24.06.2011 VB.Net / CATIA v5 R19
|
erstellt am: 15. Jul. 2011 12:58 <-- editieren / zitieren --> Unities abgeben: Nur für roccat
Hallo, ich habe das Makro mal ausprobiert und festgestellt, dass das Makro nicht auf CATIA zugreifen kann wenn "Click Ok to Terminate" dadurch auftritt, wenn man zusätzlich zu einem bereits geöffneten Produkt ein zu großes anderes Produkt öffnet. kann jemand erklären ob und warum das so ist, und ob man da was tun kann? Trotzdem eine tolle Idee Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
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: 15. Jul. 2011 13:25 <-- editieren / zitieren --> Unities abgeben: Nur für roccat
|
roccat Mitglied Konstrukteur
Beiträge: 172 Registriert: 19.02.2010 WinXP/Win7 Office XP/2007 Catia V5 R16-R19, VB6.0, VBA, BASCOM-AVR VB .Net 2010
|
erstellt am: 15. Jul. 2011 16:00 <-- editieren / zitieren --> Unities abgeben:
Hallo Azat, es kommt immer darauf an, wie sich Catia aufgehangen hat. Da die einzelnen Aufgaben nacheinander abgearbeitet werden, kann Catia nicht angesprochen werden wenn es beim abarbeiten einer Aufgabe abstürzt, wie z.B. Update, speichern, öffnen. Wenn es bei Interaktionen durch den Benutzer Abstürzt wie z.B. einfrieren des Bildschirms, oder Wechseln der Workbench nach dem ziehen der GSD-Lizens dann kann Catia noch angesprochen werden, da Catia ansich in diesem Moment nichts abarbeitet. Die Chancen stehen etwa so 50/50 für eine erfolgreiche Rettung. mfG Mario [Diese Nachricht wurde von roccat am 15. Jul. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AstroAsterias Mitglied Programmierer
Beiträge: 3 Registriert: 30.09.2011 CATIA V5 R19
|
erstellt am: 22. Sep. 2012 21:35 <-- editieren / zitieren --> Unities abgeben: Nur für roccat
Hallo liebe CAD.DE Gemeinde! Ich bin letztes Jahr auf diesen Thread hier gestoßen und habe mich fleißig ans programmieren gemacht... Herausgekommen ist das Progrämmchen im Anhang. Es handelt sich um eine .exe Datei, die im Fall eines Click OK einfach per doppelklick gestartet werden kann. Das Programm hat sich nun seit ca. einem Jahr bei uns in der Firma (ca. 200 User) gut bewährt. Strategie: - Ansprechen von CATIA (in einem eigenen Thread) - Anzeigen des GUI - Auswählen des Speicherortes durch den User - Starten des Backups durch den User - Erstellen einer List aller nicht gespeicherten Dokumente - Speichern aller Dokumente aus der List im zuvor angegebenen Verzeichnis - Schreiben einer Log Datei ins Sicherungsverzeichnis Vorteile dieser Version: - man kann den Speicherort bequem auswählen - "ansprechen" von CATIA wird mit einem Time out abgebrochen wenn es zu lange dauert (damit kann unterschieden werden, ob CATIA einfach noch beschäftigt ist, oder wirklich nicht mehr ansprechbar ist...) - verhindern des 100%igen Abschießens durch Time out, wenn CATIA noch beschäftigt ist - Auto Save Problem bei Products ist durch die List gelöst Nutzen der angehängten Datei: Das Zip File im Anhang ist ein Sharp Develop Projekt (kompatibel mit Visual Studio) Um das Programm nutzen zu können, muss allerdings das Projekt geöffnet werden und die "CATIA V5 InfInterface Object Library" (Interop.INFITF) noch eingebunden werden. (Dazu muss auf dem Rechner CATIA installiert sein...) Die Datei Interop.INFITF.dll, die nach dem kompilieren im debug/release Ordner liegt, kann anschließend noch als embedded Reference dem Projekt hinzugefügt werden. (Projekt/hinzufügen/existierende Datei) Wenn man das Projekt so anschließend noch einmal kompiliert, kann man die .exe Datei alleine verwenden. (d.h. man kann sie sich z.B. auf den Desktop kopieren, ohne die .dll auch dort hinkopieren zu müssen. -> ist in der Program.vb defniert...) Am liebsten hätte ich natürlich die fertige .exe Datei gepostet, aber da diese die interop.infitf von Dassault Systemes enthält, kann ich das leider nicht machen. Sorry. Das Programm Data Rescue habe ich unter die GNU Lizenz gestellt, in der Hoffnung, dass es noch von vielen verbessert und von noch viel mehr Leuten genutzt werden kann :-) So und jetzt viel Spaß damit. Gruß Andreas
[Diese Nachricht wurde von AstroAsterias am 22. Sep. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SacherTorte Mitglied
Beiträge: 3 Registriert: 19.03.2013
|
erstellt am: 19. Mrz. 2013 12:47 <-- editieren / zitieren --> Unities abgeben: Nur für roccat
Das ist ja wirklich ein interessanter Ansatz - fragt sich nur, warum Dassault so etwas nicht anbietet? Vielen Dank jedenfalls mal Euch allen für die Info. @Andreas: Ich habe gerade versucht, Data Rescue mal einzubinden... aber folgender Teil macht mir so ein paar Probleme:
Zitat: Um das Programm nutzen zu können, muss allerdings das Projekt geöffnet werden und die "CATIA V5 InfInterface Object Library" (Interop.INFITF) noch eingebunden werden. (Dazu muss auf dem Rechner CATIA installiert sein...)
CATIA, Sharp Develop und das ganze SDK/.NET "Geraffel" ist installiert und das Projekt in Sharp Develop geöffnet. Und nun? Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SacherTorte Mitglied
Beiträge: 3 Registriert: 19.03.2013
|
erstellt am: 19. Mrz. 2013 14:13 <-- editieren / zitieren --> Unities abgeben: Nur für roccat
Kommt Zeit, kommt Rat. Das Einbinden geht über: Projekt / Referenz hinzufügen... / COM Den eigentlich genauer beschriebenen nächsten Schritt (DLL einbetten) bekomme ich allerdings nicht hin. Zwar scheint das Einbetten zu funktionieren (Kopie oder Link? Ich habe beides versucht, obwohl Kopie passender zu sein scheint) - aber ohne die DLL mitzukopieren kommt eine Fehlermeldung. Mit DLL funktioniert es allerdings anscheinend. Zumindest ohne Click OK. Das muss ich erst noch provozieren. Gruß Michael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AstroAsterias Mitglied Programmierer
Beiträge: 3 Registriert: 30.09.2011 CATIA V5 R19
|
erstellt am: 19. Mrz. 2013 18:30 <-- editieren / zitieren --> Unities abgeben: Nur für roccat
Hallo, freut mich, dass es schon mal funktioniert. Du musst die dll aus dem debug bzw. release Verzeichnis über: Projekt\hinzufügen\existierende Datei einbinden. Sie sollte dann links im Baum neber Mainform.vb, Program.vb etc. auftauchen. (siehe Bild) Anschließend mit rechter Maustaste die Eigenschaften dieser Datei im Baum aufrufen und die "Erstellungsaktion" von "None" auf "Embedded Resource" stellen. Das Feld "ins Ausgabe Verzeichnis kopieren" auf "Never" stellen. Dann müsste es funktionieren. Gruß aus dem Schwaben Ländle :-) ------------------ [img]http://ww3.cad.de/foren/avatars/AstroAsterias.gif[img] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SacherTorte Mitglied
Beiträge: 3 Registriert: 19.03.2013
|
erstellt am: 20. Mrz. 2013 08:51 <-- editieren / zitieren --> Unities abgeben: Nur für roccat
|
Promod90 Mitglied
Beiträge: 24 Registriert: 07.02.2016 [URL=http://www.sysprofile.de/id74124 Catia]http://www.sysprofile.de/id74124 Catia[/URL] V5 R18
|
erstellt am: 20. Apr. 2017 13:04 <-- editieren / zitieren --> Unities abgeben: Nur für roccat
|
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 20. Apr. 2017 13:21 <-- editieren / zitieren --> Unities abgeben: Nur für roccat
|