Autor
|
Thema: CATIA & Dateiname bzw. Dateiendung auslesen (6277 mal gelesen)
|
Maetes Mitglied Student
Beiträge: 118 Registriert: 05.05.2009 XP 64Bit CATIA V5R19SP4 MS Office 2003
|
erstellt am: 09. Aug. 2010 10:49 <-- editieren / zitieren --> Unities abgeben:
Hallo! Bin wieder an der Logik von CATIA am verzweifeln Ich möchte eigentlich nur den RICHTIGEN Dateityp auslesen, aber CATIA macht selbst so ein Lapalie zur Qual. Egal ob CATIA-Format oder IGS oder STP oder Konvertiert oder nicht gespeichert. Kenne zum Dateinamen abfragen 4 Orte: -Documents.Item(x).Name -Documents.Item(x).FullName -Windows.Item(x).Name -Windows.Item(x).Caption Und überall bringt er andere Werte Ist die Datei nicht gespeichert, fehlt unter Windows die Dateiendung. Ist die Datei konvertiert bzw. unbennant worden, steht im Windows der alte Dateiname. Unter Documents behandelt CATIA IGS und STP direkt als CATPart und ist somit auch nicht zu gebrauchen. Muss ich für den Schwachsinn echt eine eigene Routine schreiben, nur um an die Dateiendung zu kommen? Sorry, kanns das sein? Oder bin ich zu blöd dafür? Sorry, aber sowas regt mich auf Wie habt ihr das gelöst? Gruss M@tes Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tberger Mitglied Application Manager CATIA V5 / V6
Beiträge: 1385 Registriert: 13.01.2007 WIN 7 64bit V5R21SP3HF49 3DX/V6 R2016x
|
erstellt am: 09. Aug. 2010 13:21 <-- editieren / zitieren --> Unities abgeben: Nur für Maetes
Vielleicht nur zum Verständnis: bei geöffneten Dokumenten in CATIA wirst du keine .igs oder .stp-Endung auslesen können, weil CATIA beim Öffnen diese Dokumente bereits "konvertiert". Somit wären es wieder "CATParts", wen nsie dann gesichert sind. Wenn du den Typ auslesen willst so muss dieses "vor" dem Öffnen passieren: also dir über das FileSystem etc. den Ordner holen, darin die Dokumente und den Namen mit "." splitten, das letzte Split-Segment ist dann dein "Format". ------------------ Grüße aus dem Thurgau Thomas +++++++++++++++++++++++++++++++++ CATIA - eine Laune der Natur ... "Phase 2 in CATIA V5" - www.tobeplus.de tberger@tobeplus.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Maetes Mitglied Student
Beiträge: 118 Registriert: 05.05.2009 XP 64Bit CATIA V5R19SP4 MS Office 2003
|
erstellt am: 09. Aug. 2010 15:18 <-- editieren / zitieren --> Unities abgeben:
|
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: 10. Aug. 2010 09:00 <-- editieren / zitieren --> Unities abgeben: Nur für Maetes
Hallo Maetes, hab keine Ahnung ob es dir hilft aber den DokumentenTyp prüfe ich immer mit Typename. Wie es mit Step oder Iges... verhält mußt du mal testen (siehst du was er bei case else ausgibt) aber ich glaube tberger hat recht da Catia das beim laden bereits wandelt. mfG Mario Option Explicit
Sub CatMain() Dim MyDocuments As Documents Dim MyDocument As Document Set MyDocuments = CATIA.Documents 'Schleife über alle documente For Each MyDocument In MyDocuments 'Typenname abfragen Select Case TypeName(MyDocument) Case "PartDocument" 'mach was mit dem Part Debug.Print TypeName(MyDocument) Case "ProductDocument" 'mach was mit dem Product Debug.Print TypeName(MyDocument) Case Else 'mach was mit allen anderen Dokumenten Debug.Print TypeName(MyDocument) End Select Next Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Maetes Mitglied Student
Beiträge: 118 Registriert: 05.05.2009 XP 64Bit CATIA V5R19SP4 MS Office 2003
|
erstellt am: 10. Aug. 2010 13:27 <-- editieren / zitieren --> Unities abgeben:
|
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: 10. Aug. 2010 14:17 <-- editieren / zitieren --> Unities abgeben: Nur für Maetes
|
Maetes Mitglied Student
Beiträge: 118 Registriert: 05.05.2009 XP 64Bit CATIA V5R19SP4 MS Office 2003
|
erstellt am: 10. Aug. 2010 14:24 <-- editieren / zitieren --> Unities abgeben:
Anhand des Dateityps wird man in den Tools entsprechend weitergeleitet bzw. werden Standard Klassen vorgeladen. Des Weiteren habe ich ein Tool zur Stapelverarbeitung z.B. zur Datenkonvertierung, da ist dann praktisch, wenn man dann gewisse Dateiformate im Vorfeld ausklammern kann. /edit: Ok ich probiers jetzt erstmal auf dem Weg: Lese Dateinamen aus windows.caption, wenn Dateiendung fehlt (z.B. weils nicht gespeichert wurde), schaue unter parents, da steht dann der Dateityp im Catiaformat (Sprich igs und stp werden auch als CATPart angezeigt. Spielt aber keine Rolle, da der Name unter Caption richtig drin steht) [Diese Nachricht wurde von Maetes am 10. Aug. 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: 10. Aug. 2010 14:46 <-- editieren / zitieren --> Unities abgeben: Nur für Maetes
Ok, also nach dem öffnen einer *.Iges Datei ist diese ein Neues CatPart. Kannst du das öffnen der Dokumente über dein Makro machen? Dann hast du den alten Pfadnamen und Endung. oder ich kam über Catia.Activewindow.Name noch an den Part1.iges-Namen (muß aber wohl im eigenen Fenster geöffnet sein.) mfG Mario [Diese Nachricht wurde von roccat am 10. Aug. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Maetes Mitglied Student
Beiträge: 118 Registriert: 05.05.2009 XP 64Bit CATIA V5R19SP4 MS Office 2003
|
erstellt am: 10. Aug. 2010 15:04 <-- editieren / zitieren --> Unities abgeben:
Wenn ich die Dateien über das Makro öffne geht natürlich einiges an komfort verloren. Man kann z.B. keine Dateien mehr auf catia schieben zum öffnen. Und was ist, wenn das Programm beendet wird, wieso auch immer? Im Activewindow steht bei neu erstellten, aber nicht gespeicherten Dokumenten keine Dateiendung. Sehe aber grade, das man über parents auf die Dateiendung kommt. Hat aber den Nachteil, das nur das derzeit aktive Dokument angesprochen wird, da bin ich über Window allgemein besser bedient. Mir gefält die Lösung nicht wirklich, aber anscheinend derzeit die einzig halbwegs brauchbare. Weiter ärgert mich die Tatsache, das man unter documents nicht sehen kann, welche Dokumente sichtbar sind. Und welche nur im Hintergrund geladen wurden (Bei Drawings und Products). Ein Abzug von documents mit windows ist auch nicht grade einfach durch die unterschiedlichen Namensvergebungen. Der Punkt "Saved" ist auch tükisch. Bei neuerstellten Dokumenten sit dieser True. Erst wenn etwas bearbeitet wurde wechselt der auf False. Ich komm zum Schluss, das da noch eine rechte Subroutine geschrieben werden muss, um die ganzen Relationen zu berücksichtigen. Frage ist, ob ich damit alle Bedingungen berücksichtig habe oder obs da noch ein paar versteckte Hacken sind. :/ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Maetes Mitglied Student
Beiträge: 118 Registriert: 05.05.2009 XP 64Bit CATIA V5R19SP4 MS Office 2003
|
erstellt am: 10. Aug. 2010 15:15 <-- editieren / zitieren --> Unities abgeben:
Ich fasse folgende Bedinungen zusammen (Hat jemand noch zusätzliche Informationen? Bzw. sieht Fehler?): ' Documents ' enthält unter anderem auch versteckte Dateien aus Drawings bzw. Products. ' behandelt und ändert IGS und STP als CATPart ' aktueller Dateiname auch bei Dateinamensänderung (ohne Endung) ' enthält auch Dateiendungen nicht gespeicherter Dokumente ' Pfad nur bei gespeicherten Catiaformaten auslesbar ' Windows ' zeigt immer die richtige Dateiendung ' Bei nicht gespeicherten Dokumenten fehlt Dateiendung. Kann aber über Parents ausgelesen werden. ' .Cation zeigt aktuellen Dateinamen. .Name zeigt bei Dateinamensänderung den alten Namen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |