Hallo zusammen,
ich möchte gerne per Makro ein (All-)Catpart umbenennen und mit SaveAs an zwei verschiedenen Orten speichern. Soweit erstmal nix wildes.
Aber: Wiederhole ich diese Prozedur innerhalb einer (Catia)Session und möchte nochmals den gleichen Namen für ein Catpart vergeben, streikt Catia, weil der Name in der Session schon vergeben ist. Hmmm... ok, ist ja bekannt. Da Catia sich nicht gerne in die Karten schauen und nicht mehr geöffnete Dokumente aus der Session löschen lässt, brauche ich eure Hilfe!
==> Kurioserweise kann ich den Ablauf des Umbenennens und Speicherns unendlich oft wiederholen, solange ich diesen per Hand machen! Was macht Catia da anders?
3 Sachen habe ich schon erfolglos versucht:
1. in einem Temp-Verzeichnis 100e Male (oft hatte ich gelesen, dass fünf Mal reichen würde. haha...) das Catpart mit Zeitstempel umbenannt und dort gespeichert => hat nix gebracht - "method SaveAs failed"
2. mit Catia.Documents.Item(mein Catpart).Close versucht, das Catpart/den Name aus der Session zu bekommen => Catia schließt nix (*)
3. dem Catpart im Namen (Partnumber) einen Zeitstempel angehängt und dann unter dem zu überschreibenden Dateinamen gespeichert => hat nix gebracht - "method SaveAs failed"
Mein Catpart soll als Partnumber die Konvention: Bezeichnung_Datum haben. Der Dateiname entsprechend Bezeichnung_Datum.Catpart
Ich bin jetzt mittlerweile so weit, dass ich (wie bei 3. beschrieben) der Partnumber einen Zeitstempel anhänge: Bezeichnung_Datum_Zeitstempel (Ansonsten kommt zu o.g. "method SaveAs failed" noch ein "method Partnumber failed" o_0 )
Der Dateiname muss aber zwingend die Konvention Bezeichnung_Datum.Catpart einhalten!
Wem die Problemstellung bekannt vor kommt: Ich habe das schon mal in meinem Thema Catvba: Allcatpart-Erstellung mit DECProductToPart beschrieben. Jedoch habe ich diese neue Problemstellung hier her ausgelagert. Der Übersichtlichkeit halber...
Für Ideen und Vorschläge oder auch einfach nur seelischen Beistand bin euch dankbar.
Verzweifelte Grüße,
Tilo
Edit: Viele haben angeblich die Session mit dem Befehl "Clear History" (bei "Commands"/"All Commands" und den Befehl in eine Toolbar ziehen) leeren können. Funktioniert bei mir nicht. Oben genannte Methodenfehler treten danach immernoch auf. Es wird ja auch nur die Undo-History gelöscht. In Catia.Documents bleibt alles beim alten...
(*) Bei der Allcatparterstellung per Makro erstellt Catia immer 2 Parts (ersichtlich in Catia.Documents): ein "CATPARTxyz.Catpart" (xyz sind fortlaufende Zahlen) und mein Allcatpart "Bezeichnung_Allcatpart.Catpart". Nur das "CATPARTxyz.Catpart" kann ich per Catia.Documents.Item(dieses Catpart).Close schließen (und aus dieser entfernen). Mein Allcatpart kann ich zwar schließen, jedoch bleibt es in der Liste bestehen. *argh*
------------------
Dem Schabloneur ist nichts zu schwör...
[Diese Nachricht wurde von Schabloneur am 05. Sep. 2014 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP