| |
 | CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48 |
| |
 | KISTERS 3DViewStation optimiert die Lizenzverwaltung für ihre Kunden, eine Pressemitteilung
|
Autor
|
Thema: VB-Code beim speichern ausführen (1669 mal gelesen)
|
cdt_roger Mitglied Konstrukteur

 Beiträge: 48 Registriert: 14.04.2006 Lenovo Thinkstation P520 Quadro P2200 Treiber 452.57 32 GB Catia V5-6 R2018 Sp5 2xLG Ultrawide Win7-64bit Prof SP 1
|
erstellt am: 10. Okt. 2011 13:09 <-- editieren / zitieren --> Unities abgeben:         
Hallo allerseits, ich habe folgendes Problem.Ich möchte bei jedem speichern einer drawing eine gleichnamige Tiff-Datei im gleichen Verzeichnis erstellen und den Pfad in einer Datei hinzufügen (als Liste). Ich habe im Forum auch viele Makros und Scripte gesehen, die das können; so weit also kein Problem. Aber wie kann ich diese Funktion auch dann integrieren, wenn ich eine geänderte Zeichnung verlasse. Dann kommt ja die Frage ob man speichern möchte, und bei einem Ja soll auch mein Makro wieder mit laufen. Weiss jemand wo man sich da einklinken kann ? mfG Roger
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Ehrenmitglied V.I.P. h.c. 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: 10. Okt. 2011 13:50 <-- editieren / zitieren --> Unities abgeben:          Nur für cdt_roger
|
cdt_roger Mitglied Konstrukteur

 Beiträge: 48 Registriert: 14.04.2006 Lenovo Thinkstation P520 Quadro P2200 Treiber 452.57 32 GB Catia V5-6 R2018 Sp5 2xLG Ultrawide Win7-64bit Prof SP 1
|
erstellt am: 10. Okt. 2011 13:57 <-- editieren / zitieren --> Unities abgeben:         
Hallo Rick, vielen Dank für deine Antwort. Das hatte ich befürchtet. In Access-VBA hätte ich so was machen können, aber bei CATIA habe ich auch keinen Ansatzpunkt gesehen, da ich hier nichts mit dem LoadForm-Ereignis vergleichbares gefunden habe. Ich werde noch bei Keonys nachfragen aber da ist die Kommunikation etwas schwierig (als Deutschsprachiger Flamen etwas auf Französich erklären geht nicht so toll). Bis später Roger 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: 10. Okt. 2011 15:51 <-- editieren / zitieren --> Unities abgeben:          Nur für cdt_roger
Event lässt sich mit einem Mako nicht abfangen. Wie Rick schon sagte, man kann nur eine eigene Speicherfunktion schreiben, die dann die ursprüngliche aufruft. ------------------ 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 |
cdt_roger Mitglied Konstrukteur

 Beiträge: 48 Registriert: 14.04.2006 Lenovo Thinkstation P520 Quadro P2200 Treiber 452.57 32 GB Catia V5-6 R2018 Sp5 2xLG Ultrawide Win7-64bit Prof SP 1
|
erstellt am: 11. Okt. 2011 07:54 <-- editieren / zitieren --> Unities abgeben:         
Hallo Henry, das Problem ist ja nicht die Speicherroutine sondern das Abfangen des Fensterschliessens. Ein beabsichtigtes Speichern ist wohl nicht so schwierig zu bewerkstelligen. Wie immer liegt die Kunst darin, dem Anwender das ganze so darzustellen, dass er nicht mehr daran zu denken braucht. Aus diesem Grund sollte auch beim Schliessen des Fensters die Sicherheitsabfrage zum Speichern auf die neue Routine verweisen. Trotzdem Danke für dein Interesse, selbst gesagt zu bekommen dass es keine Lösung gibt hilft einem, einen anderen Lösungsweg zu suchen Roger
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Ehrenmitglied V.I.P. h.c. 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: 11. Okt. 2011 08:28 <-- editieren / zitieren --> Unities abgeben:          Nur für cdt_roger
Häää das verstehe ich nicht... Wir haben dir beide gesagt, dass man kein Event abfangen kann weder beim Fenster schließen noch beim speichern. Dementsprechend haben wir darauf verwiesen, dass man doch ein Speichermakro mit nachfolgender Routine für das anlegen zusätzlicher Inhalte schreiben kann. Dieses bräuchte doch dann nur vor dem Schließen noch mal ausgeführt werden. Ansonsten würde sich doch so oder so CATIA melden, dass etwas geändert ist etc.. BTW wenn ihr mehrere Anwender habt, denn du die Fehlerquellen abnehmen möchtest, solltet ihr wohl eher über ein PDM-System nachdenken, was z.B. im Falle von SmarTeam genau solche Funktionalitäten zur Verfügung stellen kann. ------------------ 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 |
RSchulz Ehrenmitglied V.I.P. h.c. 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: 11. Okt. 2011 08:34 <-- editieren / zitieren --> Unities abgeben:          Nur für cdt_roger
|
cdt_roger Mitglied Konstrukteur

 Beiträge: 48 Registriert: 14.04.2006 Lenovo Thinkstation P520 Quadro P2200 Treiber 452.57 32 GB Catia V5-6 R2018 Sp5 2xLG Ultrawide Win7-64bit Prof SP 1
|
erstellt am: 11. Okt. 2011 08:45 <-- editieren / zitieren --> Unities abgeben:         
Hallo Rick, die Möglichkeit die falsche Speicherung durchzuführen ohne eine Fehlermeldung zu erhalten ist effektiv des Pudels Kern. PDM ist ein möglicher Ansatz zum lösen des Problems. mfG Roger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Ehrenmitglied V.I.P. h.c. 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: 11. Okt. 2011 09:16 <-- editieren / zitieren --> Unities abgeben:          Nur für cdt_roger
|
cdt_roger Mitglied Konstrukteur

 Beiträge: 48 Registriert: 14.04.2006 Lenovo Thinkstation P520 Quadro P2200 Treiber 452.57 32 GB Catia V5-6 R2018 Sp5 2xLG Ultrawide Win7-64bit Prof SP 1
|
erstellt am: 11. Okt. 2011 09:39 <-- editieren / zitieren --> Unities abgeben:         
Hallo Rick, wir haben 2 Catia-Arbeitsplätze, aber viel mehr Personen, die die dort erstellten Pläne einsehen. Unser Planbestand stammt aus ca. 60 Jahren (wobei auch Pläne, die 30 Jahre alt sind regelmäßig konsultiert werden). Also haben wir handgezeichnete Pläne, mit einem nicht mehr vermarkteten CAD erstellte Pläne und CATIA-erstellte Pläne. Diese liegen auch alle als Tiff-Dateien und in Papierform vor. Wir haben ein in .NET geschriebenes Programm, welches diese Tiff-Dateien im ganzen Werk nur zur Ansicht zur Verfügung stellt. Im Moment ist es so, dass der Stand der Catia-Zeichnung nicht immer dem der Tiff-Datei entspricht. Dies soll sich ändern. Ausserdem wollen wir auf die Ablage in Papierform verzichten und trotzdem sicherstellen, auch in 30 Jahren noch etwas lesbares zu haben (falls CATIA dann auch nicht mehr auf dem Markt ist). Im Moment Haben wir eine Vorstellung vom Ziel, aber der Weg dorthin ist noch nicht so klar, also denken wir nach allen Richtungen. mfG Roger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Ehrenmitglied V.I.P. h.c. 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: 11. Okt. 2011 10:50 <-- editieren / zitieren --> Unities abgeben:          Nur für cdt_roger
|
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: 11. Okt. 2011 13:01 <-- editieren / zitieren --> Unities abgeben:          Nur für cdt_roger
Ich würde ein Batch-Programm schreiben, welches einmal stündlich den Ablageort abarbeitet, dort alle Zeichnungen öffnet und dann TIFF's davon erstellt. Um die Verarbeitungszeit zu sparen werden die Timestamps gespeichert oder verglichen und nur geänderte Dateien verarbeitet. Halte das für den besten Weg. Zum einen brauch sich so keiner mehr Gedanken drüber zu machen und zum anderen kann auch der Konstrukteur nix mehr falsch machen. ------------------ 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 |
cdt_roger Mitglied Konstrukteur

 Beiträge: 48 Registriert: 14.04.2006 Lenovo Thinkstation P520 Quadro P2200 Treiber 452.57 32 GB Catia V5-6 R2018 Sp5 2xLG Ultrawide Win7-64bit Prof SP 1
|
erstellt am: 11. Okt. 2011 13:50 <-- editieren / zitieren --> Unities abgeben:         
Hallo Henry, das ist ein sehr interressanter Ansatz. Vor allen Dingen garantiert dies, keine Datei zu übersehen. Ich habe allerdings in 2500 Unterverzeichnissen nachzuschauen, da muss ich mal sehen ob dies ein Performance-Problem darstellt. Jetzt habe ich auf jeden Fall mal was zum Nachdenken und Probieren. vielen Dank Roger
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: 12. Okt. 2011 09:57 <-- editieren / zitieren --> Unities abgeben:          Nur für cdt_roger
Stell einen extra Rechner dafür ab, muss ja jetzt auch kein Highend Ding sein, vielleicht was ausrangiertes, wo CATIA aber dennoch funktioniert. bei dem wäre es dann egal, ob der voll ausgelastet ist oder nicht. Die FileSystem-Operationen sind aber im Regelfall sehr schnell und nicht so die Performance-Killer. Dort bietet es sich dann aber immer mehr an entsprechende Indexe zu erstellen und sich zu merken was verarbeitet wurde und keine Änderung drin ist. Also dann wirklich nur noch das Neue verarbeiten. Für die erste Version würde ich hier auf den Timestamp gehen. ALso wenn TIFF neuer als Drawing, dann kein neues TIFF erzeugen. Nehmen wir also an, ihr habt 10 Änderungen an Drawings pro Stunde, das sollte jeder Rechner schaffen. Ansonsten wenn der Batch läuft und ihr eine gute Funktion habt um festzustellen wo es nix neues gibt, könnte man dann auch mehrere Rechner damit beauftragen, da sie ja gegenseitig feststellen würden, wo es keine Neuerung gibt. Dann würde ich im Batch aber noch einbauen, dass dieser sich ein Drawing locken kann (z.B. eine Datei mit gleichem Namen und anderer Extension daneben legen), damit der andere Rechner diese Datei erst einmal überspringt. Edit: Wenn ihr nur wenige Lizenzen habt, dann nutz die Nachtzeit dafür, wo die Lizenzauslastung geringer ist, so braucht ihr für dne Batch keine neuen Lizenzen kaufen. So könnetet ihr auch einen Nachts ungenutzen Rechner verwenden und braucht keine extra Hardware. Die Daten wären dann jedoch nicht ganz so aktuell. Wie aktuell ihr sie braucht könnt abern ur ihr abschätzen. ------------------ 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 [Diese Nachricht wurde von HoBLila am 12. Okt. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cdt_roger Mitglied Konstrukteur

 Beiträge: 48 Registriert: 14.04.2006 Lenovo Thinkstation P520 Quadro P2200 Treiber 452.57 32 GB Catia V5-6 R2018 Sp5 2xLG Ultrawide Win7-64bit Prof SP 1
|
erstellt am: 12. Okt. 2011 10:18 <-- editieren / zitieren --> Unities abgeben:         
Hallo Henry, ich habe auch an eine Nachtschicht gedacht, da unsere EDV-Abteilung ihre Server nachts durchlaufen lässt. Dann könnten sie sich meine Lizenz für den Batch ziehen. Ausserdem wird dann das Netz tagsüber nicht unnötig belastet. Ich habe jetzt 2 Bücher über Catia-VB-bestellt und hoffe das der Unterschied zwischen Access-VB und Catia-VB nicht groß ist. Ich werde sicher so meine Probleme mit der englischen Dokumentation der Objekt-Methoden und -Eigenschaften haben (Englisch ist in Belgien nur als dritte Sprache zu lernen). Viele Grüße Roger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cdt_roger Mitglied Konstrukteur

 Beiträge: 48 Registriert: 14.04.2006 Lenovo Thinkstation P520 Quadro P2200 Treiber 452.57 32 GB Catia V5-6 R2018 Sp5 2xLG Ultrawide Win7-64bit Prof SP 1
|
erstellt am: 13. Aug. 2012 10:32 <-- editieren / zitieren --> Unities abgeben:         
Hallo Henry, ich komme noch mal auf diesen alten Artikel zurück da ich dir mitteilen wollte wie ich das Problem jetzt löse. Ich habe ein Programm in VB2010 geschrieben welches in einer Text-Datei einträgt, zu welcher CATDrawing keine entsprechende aktuelle TIFF-Datei existiert. Am Ende des Programms wird Catia mit einem Makro gestartet das sich aus der Textdatei die Namen der als TIFF abzuspeichernden CATDrawings holt und die Konversion durchführt. Wenn ich jetzt alle Dateien als TIFF habe werde ich ein VB-Programm im Hintergrund starten, welches über ein IO.Filesystemwatcher-Objekt registriert, wenn eine CATDrawing geändert wird. Dann kann wieder direkt die Konversion gestartet werden. So habe ich fast in Echtzeit immer eine aktuelle TIFF-Version. mit freundlichen Grüßen Roger
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |