| |
| KISTERS 3DViewStation: Mit Modellbasiertem Design zum Modellbasierten Unternehmen (MBE), eine Pressemitteilung
|
Autor
|
Thema: Drawing als DXF Makro (620 / mal gelesen)
|
Klaus-Heinz Mitglied
Beiträge: 219 Registriert: 30.10.2009 MS Windos 7 64 bit V5 R19 SP9 64 bit V5 R24 SP1
|
erstellt am: 17. Aug. 2022 07:35 <-- editieren / zitieren --> Unities abgeben:
Guten morgen Catia Gemeinde !! Ich habe mich dem Makro ( siehe Anhang ) bedient . Vielen Danke dem Erbauer !! Leider spielt diese mir nur immer die Hälfe der Catia V5 Drawings als DXF aus . In jedem Drawing sind zwei Blätter ( ohne Detail ) mit unterschiedl. Benennung . Hat jemand eine Idee wie ich dieses Problem beheben kann ? VG KH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 17. Aug. 2022 08:09 <-- editieren / zitieren --> Unities abgeben: Nur für Klaus-Heinz
Servus Welche Methode zum erzeugen einer dxf verwendest du? (dein Anhang ist leer) Ist in den Optionen auch eingestellt, dass alle Blätter exportiert werden und nicht nur das aktuelle? Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Klaus-Heinz Mitglied
Beiträge: 219 Registriert: 30.10.2009 MS Windos 7 64 bit V5 R19 SP9 64 bit V5 R24 SP1
|
erstellt am: 17. Aug. 2022 09:07 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd !! sorry , vergessen den Text reinzukopieren . Ja ist eingestellt // ich habe zb. 10 Drawings in einem Ordner . Diesen steuere ich mit dem Makro an . Er macht dann von 5 Dr. jeweils die Blätter . Da jede Dr. aus 2 Blättern besteht habe ich dann 10 DXF . Reihenfolge ist nicht immer von oben nach unten . VG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 17. Aug. 2022 09:09 <-- editieren / zitieren --> Unities abgeben: Nur für Klaus-Heinz
|
Klaus-Heinz Mitglied
Beiträge: 219 Registriert: 30.10.2009 MS Windos 7 64 bit V5 R19 SP9 64 bit V5 R24 SP1
|
erstellt am: 17. Aug. 2022 09:11 <-- editieren / zitieren --> Unities abgeben:
|
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 17. Aug. 2022 09:18 <-- editieren / zitieren --> Unities abgeben: Nur für Klaus-Heinz
Servus Beim mir exportiert dein Script alle Blätter (gleiche Einstellungen zum Export) Hast du Sonderzeichen in den Blattnamen? Was ist besonders/anders bei deinen Zeichnungen? Gruß Bernd PS: Setze mal CATIA.DisplayFileAlerts auf true, vielleicht kommt dann eine hilfreiche Fehlermeldung ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Klaus-Heinz Mitglied
Beiträge: 219 Registriert: 30.10.2009 MS Windos 7 64 bit V5 R19 SP9 64 bit V5 R24 SP1
|
erstellt am: 17. Aug. 2022 09:27 <-- editieren / zitieren --> Unities abgeben:
|
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 17. Aug. 2022 09:40 <-- editieren / zitieren --> Unities abgeben: Nur für Klaus-Heinz
Servus Sonderbar, es werden immer die ersten fünf Zeichnungen bearbeitet. (ich komm nicht drauf an was das liegt). Probier mal folgendes CATScript: Code: Sub CATMain()Dim Targetfolder As String Dim Sourcefolder As String Dim FileSystemObject As Object Dim myFolder As Folder Dim myFiles As Files Dim myFile As File Dim myDocument As Document Dim strFileName As String 'Fehlermeldungen ausschalten' CATIA.DisplayFileAlerts = False 'Verzeichnisse abfragen Sourcefolder = SelectFolder("Bitte wählen Sie das Quellverzeichnis aus.") If Sourcefolder = "" Then MsgBox "Kein Quellverzeichnis gewählt." & Chr(13) & "Das Makro wird beendet.", 16, "Abbruch" Exit Sub End If Targetfolder = SelectFolder("Bitte wählen Sie das Zielverzeichnis für den Export aus.") If Targetfolder = "" Then MsgBox "Kein Zielverzeichnis gewählt." & Chr(13) & "Das Makro wird beendet.", 16, "Abbruch" Exit Sub End If 'Quellverzeichnis einlesen Set FileSystemObject = CreateObject("Scripting.FileSystemObject") Set myFolder = CATIA.FileSystem.GetFolder(Sourcefolder) Set myFiles = myFolder.Files 'Dateien nach CATDrawings durchsuchen und exportieren For Each myFile In myFiles If Right(myFile.Name, 10) = "CATDrawing" Then Set myDocument = CATIA.Documents.Open(myFile.Path) strFileName = Targetfolder & CATIA.FileSystem.FileSeparator & myDocument.Name & ".dxf" myDocument.ExportData strFileName, "dxf" myDocument.Close strFileName = "" End If Next 'Fehlermeldungen ausschalten' CATIA.DisplayFileAlerts = True End Sub Function SelectFolder(strTextforSelection As String) As String Dim shellApp As Object Dim FolBrowser As Object Set shellApp = CreateObject("Shell.Application") 'erzeuge ein neues Objekt "Shell Application" Set FolBrowser = shellApp.BrowseForFolder(0, strTextforSelection, 16, 17) If Not FolBrowser Is Nothing Then 'wenn nicht Abbrechen gedrückt oder aus sonstigen Gründen 'nichts im Objekt "FolBrowser" steht, dann... SelectFolder = FolBrowser.Self.Path End If End Function
Gruß Bernd PS: Wenn ich in deinem Script die for-next-Schleife durch eine for-each-Schleife ersetzte geht es auch (keine Ahnung warum) ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Klaus-Heinz Mitglied
Beiträge: 219 Registriert: 30.10.2009 MS Windos 7 64 bit V5 R19 SP9 64 bit V5 R24 SP1
|
erstellt am: 17. Aug. 2022 09:48 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd , es wird halt nur die Hälfte der Drawings bearbeitet . Bei 5 Drawings macht er nur 2 / bei 10 dann 5 usw. Habe auch mal 30 Drawings. Dann halt 15 bearbeitet / Beim nächsten Lauf nochmal 7 Drawings. Die restlichen mache ich dann mit sichern unter . Das ist halt nicht besonders schön . Ich bleibe da mal dran . Teste auch Dein Makro . VG und danke für deine Arbeit . Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Klaus-Heinz Mitglied
Beiträge: 219 Registriert: 30.10.2009 MS Windos 7 64 bit V5 R19 SP9 64 bit V5 R24 SP1
|
erstellt am: 17. Aug. 2022 10:01 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd / nochmal Habe da echt schon rumgedoktert . Bei den ganzen Optionen für DXF etc. Habe jetzt mal bei Eingabe Fenster Nr 1 / welche Drawings als DXF gespeichert werden sollen , einen anderen Ordner angegeben als Fenster 2 / wohin DXF gespeichert werden sollen . Siehe da / es funktioniert . Damit kann ich super leben . Sorry für die Umstände / hätte ich auch früher drauf kommen können . VG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 17. Aug. 2022 10:05 <-- editieren / zitieren --> Unities abgeben: Nur für Klaus-Heinz
|
Klaus-Heinz Mitglied
Beiträge: 219 Registriert: 30.10.2009 MS Windos 7 64 bit V5 R19 SP9 64 bit V5 R24 SP1
|
erstellt am: 17. Aug. 2022 10:08 <-- editieren / zitieren --> Unities abgeben:
|
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 17. Aug. 2022 10:15 <-- editieren / zitieren --> Unities abgeben: Nur für Klaus-Heinz
Servus Die For-next Schleife läuft von 1 bis zur Anzahl der Dateien im Verzeichnis. Während des Schleifendurchlaufs werden weitere Dateien im Verzeichnis erzeugt, aber die Anzahl der Durchläufe wird nicht verändert/bleibt beim Anfangswert. Mögliche Lösungen: for-each-Schleife verwenden, erst die Dateinamen der Zeichnungen in einen Array/Collection speichern und dann diese "Liste" abarbeiten, ... Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |