| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SolidEdge |
Autor
|
Thema: Mit VB abfragen, ob die Dateien aktuell sind (1700 mal gelesen)
|
KlausS Mitglied Konstrukteur / SAP-Anwendungsberater
Beiträge: 35 Registriert: 22.09.2000 Solid Edge V18.00.06.06
|
erstellt am: 05. Feb. 2002 09:39 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich möchte mit einem Visual-Basic-Programm abfragen, ob bestimmte Part-Dateien (enthalten Kopie eines Teiles einer Asembly-Datei) und Draft-Dateien aktuell sind. Das ganze soll dann in einer Log-Datei abgelegt werden. Wie kann ich abfragen, ob die Dateien aktuell sind? Wird dazu die Methode "CheckConfiguration" oder die Eigenschaft "IsUpToDate" verwendet? Wie muß ich die entsprechende Methode bzw. Eigenschaft anwenden? Im voraus vielen Dank für Eure Antworten. Gruß Klaus Schmid
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Markus Gras Moderator Solid Edge AE
Beiträge: 4602 Registriert: 20.07.2000 Kritik muß sachlich falsch und persönlich verletzend sein, damit sie wirkt.
|
erstellt am: 06. Feb. 2002 20:12 <-- editieren / zitieren --> Unities abgeben: Nur für KlausS
Hallo Klaus, ich hab mal eine kleine Exceltabelle mit einem VB Makro geschrieben. Da ich keine Lust habe großartig Abfragen einzubauen ist die Bedingung das eine Partdatei geöffnet ist, diese Partdatei muß eine Teilekopie enthalten. Wenn Du auf den Button drückst bekommst Du eine Aussage ob das Modell aktuell ist oder nicht. Bei geöffneten Dateien gibt es auch ein sogenanntes 'Dirty' Flag das anzeigt ob die Datei seit dem letzten Speichern geändert wurde. Das mit dem Excelmakro verwende ich gerne, da nicht jeder hier VB hat, aber ein Excel hat eigentlich fast jeder, und so können sich auch andere interessierte das ganze mal anschauen.
------------------ Gruß Markus Gras Unitec Informationssysteme GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlausS Mitglied Konstrukteur / SAP-Anwendungsberater
Beiträge: 35 Registriert: 22.09.2000 Solid Edge V18.00.06.06
|
erstellt am: 08. Feb. 2002 08:27 <-- editieren / zitieren --> Unities abgeben:
Hallo Markus, vielen Dank für deine Hilfe, jetzt bin ich schon ein ganzes Stück weiter gekommen. Bei der automatischen Abfrage von mehreren Dateien hintereinander besteht das Problem, das ich bisher keine Möglichkeit gefunden habe das Hinweis-Fenster "Teilverknüpfungen aktualisieren" automatisch schließen zu lassen. Wird dieses Fenster geöffnet, so wird immer der Wert für Aktuell zurückgegeben. Wird bei der Teilekopie unter Eigenschaften und Aktualisieren "manuelles Aktualisieren" angewählt, so wird der Wert für (nicht) aktuell korrekt übergeben. Wenn ich den Status einer z.B. Draft-Datei abfrage, bekomme ich als Resultat die Angabe, ob die Zeichnung 'verfügbar', 'in Arbeit', 'Freigegeben',... ist, aber nicht ob die Datei aktuell ist oder geändert wurde. Kann das sogenannte 'Dirty' Flag abgefragt werden? Gruß Klaus Schmid Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Markus Gras Moderator Solid Edge AE
Beiträge: 4602 Registriert: 20.07.2000 Kritik muß sachlich falsch und persönlich verletzend sein, damit sie wirkt.
|
erstellt am: 08. Feb. 2002 10:42 <-- editieren / zitieren --> Unities abgeben: Nur für KlausS
Hallo Klaus, bei Zeichnungen mußt Du einen etwas anderen Weg wählen. Bei Zeichnungen kann es ja vorkommen das eine Ansicht aktuell ist eine andere nicht. Du mußt bei Zeichnungen also alle Ansichten (Views) durchgehen und einzeln prüfen ob sie aktuell sind. Bei Modellen mußt Du das genaugenommen auch machen, wenn mehrere Teilkopien verwendet worden sind, mußt Du auch alle prüfen. Anhand des Dirty Flags kannst nur Du erkennen ob die von Dir geöffnete Datei automatisch aktualisiert wurde und nun gespeichert werden muß. ------------------ Gruß Markus Gras Unitec Informationssysteme GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlausS Mitglied Konstrukteur / SAP-Anwendungsberater
Beiträge: 35 Registriert: 22.09.2000 Solid Edge V18.00.06.06
|
erstellt am: 12. Feb. 2002 09:33 <-- editieren / zitieren --> Unities abgeben:
Hallo, nach längerem probieren habe ich folgendes festgestellt. Die Abfrage, ob eine Teilekopie aktuell ist funktioniert im automatischen Ablauf nur, wenn bei den Eigenschaften der Teilekopie manuell aktualisieren angegeben ist. Das Dirty-Flag wird oft auch gesetzt, wenn die Teilekopie eigentlich aktuell ist. Bei manchen Dateien hilft dann einfach ins Assembly gehen, alle Teile aktivieren und dann wieder abspeichern. Nachdem die Part-Datei mit der Teilekopie aktualisiert abgespeichert ist, ist beim nächsten Aufruf der Part-Datei das Dirty-Flag nicht mehr gesetzt. Aber "Ausnahmen bestätigen die Regel", diese Vorgehensweise funktioniert nicht immer, obwohl eigentlich alle Dateien aktuell sein müßten. Im Draft wird das Dirty-Flag nicht gesetzt, auch wenn die Datei bzw. die Verknüpfung nicht aktuell ist. Da eine 'richtige Abfrage' noch nicht funktioniert, bin ich den Umweg über das automatische aktualisieren der Datei gegangen. Dann wird das Dirty-Flag gesetzt und ich kann dieses Abfragen. Im Draft gibt es seit der Version 10 2 verschiedene Arten von 'nicht aktuell'. Die Art mit den dicken Ecken wird mit der angewendeten Vorgehensweise nicht erfaßt. Die dicken Ecken werden gesetzt, wenn das Dirty-Flag bei der Part-Datei gesetzt ist, obwohl die Teilekopie aktuell ist. Hier meine weiteren Fragen: Was kann der Grund für ein gesetztes Dirty-Flag in der Part-Datei sein, obwohl die Assembly-Datei aktuell sein müßte? Wie kann ich bei der Draft-Abfrage brauchbarere Ergebnisse erzielen? Hat jemand villeicht auch schon mal so etwas ähnliches programmiert und könnte mir diese villeicht zukommen lassen? Vielen Dank im voraus für eure Hilfe. Gruß Klaus Schmid
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|