Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Product als STEP-Dateien exportieren

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Product als STEP-Dateien exportieren (10226 mal gelesen)
bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 24. Aug. 2007 19:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Servus

Kann man beim Exportieren einer Baugruppe als STEP-Dateien (pro Part/Product eine Datei) den Dateinamen vorgeben?
Hintergrund ist der, dass begründet durch das PDM-System der Dateiname von der Teil/Zeichnungsnummer abweicht. Die Zeichnungs/Teilenummer ist jedoch in den Properties abgelegt. Beim weitergeben von STEP-Dateien sollten jedoch die Dateien sinnvoll benannt sein.
Oder geht das nur über den Umweg: Baugruppe laden -> für jedes Part extra "save as" (mit Anpassung der Dateinamen) -> Konvertieren der neuen Daten in STEP?

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

[Diese Nachricht wurde von bgrittmann am 24. Aug. 2007 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tomtom1972
Mitglied
dipl ing maschinenbau


Sehen Sie sich das Profil von tomtom1972 an!   Senden Sie eine Private Message an tomtom1972  Schreiben Sie einen Gästebucheintrag für tomtom1972

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 28. Aug. 2007 07:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bgrittmann 10 Unities + Antwort hilfreich

Hallo,
eine andere Frage: wie um alles in der Welt exportierst du denn Step- Daten, ohne den Dateinamen vorzugeben?

Code:
oDocument.ExportData("Dateiname", "stp")

Gruß TomTom

------------------
tomtom1972

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 28. Aug. 2007 07:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Servus Tom

Wenn man eine Baugruppe als STEP-Dateien (AP 214) exportiert kann man nur den Dateinamen der Baugruppe vorgeben, die Einzelteile und Unterbaugruppen werde automatisch benannt (Filename der Parts/Products).

Ich hab inzwischen schon mal ein Makro zusammengebastelt:

Code:
'Script zum Exportieren von Baugruppen im STEP-Format'
'Eigenschaften der Exportierung unter Tools -> Optionen einstellen'
'Dateinamen entspricht der Teilenummer'

Language="VBSCRIPT"

Public Output_folder as String

Sub CATMain()
'Fehlermeldungen ausschalten'
CATIA.DisplayFileAlerts = False
'Eingabefenster für Ausgabeverzeichnis'
Output_folder = InputBox ("Bitte das Ausgabeverzeichnis eingeben mit abschliessendem '\'.","Eingabe","D:\temp\",500,1000)
'Start'
Set oRoot = Catia.ActiveDocument
Set oProducts = oRoot.Product.Products
'Rootbaugruppe speichern'
Set RootBaugruppe = oRoot.Product
OUTPUT = Output_folder & RootBaugruppe.Partnumber & ".CATProduct"
oRoot.SaveAs(OUTPUT)
'Suche aufrufen'
SUB_ProdScan oProducts

'STEP-Dateien auschreiben'
AUSGABE = Output_folder & RootBaugruppe.Partnumber & ".stp"
oRoot.ExportData AUSGABE, "stp"
'Fehlermeldunge einschalten'
CATIA.DisplayFileAlerts = True
'Fertig Meldung'
MsgBox "Baugruppe konvertiert. CATIA-Dateien könne im Ausgabeverzeichnis gelöscht werden."
End Sub

Sub SUB_ProdScan(oProducts)
'Baugruppe durchsuchen'
For x = 1 To oProducts.Count
Set oParentDoc = oProducts.Item(x).ReferenceProduct.Parent
'Parts'
If TypeName(oParentDoc) = "PartDocument" Then
'Parts unter Teilenummer abspeichern'
Dim Teil as Product
Set Teil = oParentDoc.Product
'MsgBox VbLf & oParentDoc.Name'  
OUTPUT = Output_folder & Teil.PartNumber & ".CATPart"
oParentDoc.SaveAs(OUTPUT)  
End if
'Baugruppen'
If oProducts.Item(x).Products.Count > 0 Then
'Baugruppen unter Teilenummer abspeichern'
Dim Baugruppe as Product
Set Baugruppe = oParentDoc.Product
OUTPUT = Output_folder & Baugruppe.PartNumber & ".CATProduct"
oParentDoc.SaveAs(OUTPUT)
'für Unterbaugruppen die Suche aufrufen'
SUB_ProdScan oProducts.Item(x).Products
End If
Next
End Sub


Ist vielleicht nicht ganz korrekt und nicht gut Strukuriert (aus anderen Makros zusmmenkopiert), aber es funktioniert.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 29. Aug. 2007 07:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Gutem Morgen

Nachdem mein Makro im Testbetrieb schon gelaufen ist, bekomm ich an einem anderen Rechner die Fehlermeldung: "Das Verfahren SaveAs ist fehlgschlagen" in dieser Zeile:

Code:
OUTPUT = Output_folder & Teil.PartNumber & ".CATPart"
oParentDoc.SaveAs(OUTPUT)

Das speichern der Baugruppe mit SaveAS hat noch geklappt, beim abspeichern der Einzelteile gibt es dann Probleme.
Hat jemand eine Idee an was es liegen könnte? Das Ausgabeverzeichnis ist vorhanden, Schreibzugriff bestehtn und die STEP-Lizenz (ST1) ist gezogen.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 31. Aug. 2007 19:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Servus

Das Problem hat sich erledigt.
Ich hatte vergessen den String für das Ausgabeverzeichins als global zu definieren.

Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

v5maler
Mitglied



Sehen Sie sich das Profil von v5maler an!   Senden Sie eine Private Message an v5maler  Schreiben Sie einen Gästebucheintrag für v5maler

Beiträge: 96
Registriert: 16.12.2005

erstellt am: 12. Mrz. 2012 11:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bgrittmann 10 Unities + Antwort hilfreich

Ich hol das mal aus den Tiefen hervor ...

Wir nutzen folgendes Script für die Ausgabe von ...
Export - CATProduct + CATPart zu IGS.CATScript
Export - CATProduct + CATPart zu STP.CATScript

Code:
'Script zum Exportieren von V5-Parts und Produkten in IGES'
'Erstellt von Jens Hansen'
'Dieses Script ist kostenlos verfügbar und darf weder verkauft noch Angeboten werden'
'Adresse zum Download: http://catia.cad.de'

Language="VBSCRIPT"

Sub CATMain()

folderinput = InputBox ("Wo befinden sich Ihre Daten ?","Eingabe","\\Server\_STP, IGS temp\",500,1000)
folderoutput = InputBox ("Wohin soll gespeichert werden?","Eingabe","\\Server\_STP, IGS temp\_fertige Umwandlungen\",500,1000)

Dim fs, f, f1, fc, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderinput)
Set fc = f.Files

For Each f1 in fc

Dim PartDocument1 As Document
Set documents1 = CATIA.Documents
Dim document1 As Document

PFADEINGABE =  folderinput & f1.name
Set PartDocument1 = CATIA.Documents.Open(PFADEINGABE)

PFADAUSGABE = folderoutput & f1.name & ".igs"
PartDocument1.ExportData PFADAUSGABE, "igs"


s = s & f1.name
s = s & vbCrLf

PartDocument1.Close

Next

'Bei Bedarf kann eine Schlussnachricht eingeblendet werden, wo die umgewandelten Elemente aufgelistet sind. Hierfür in nachfolgender zeile die Hochkommas entfernen.'
MsgBox "Umwandlung von CATProduct + CATPart zu IGS fertig!" & vbCrLf & s '


End Sub



Zwei Probleme:

1.)
723-00-20-008_WELLE.CATPart
wird immer
723-00-20-008_WELLE.CATPart.igs
sollte aber besser
723-00-20-008_WELLE.igs
sein.

2.) Am Ende kommt immer der Fehler
 
Ich bin mir nicht sicher warum das so ist.

Kann mir jemand helfen? Ich wäre für jeden Tipp dankbar.

------------------
Es ist nichts zu dumm, es findet doch sein Publikum.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

K.Siebert
Mitglied
Tech Zeichner


Sehen Sie sich das Profil von K.Siebert an!   Senden Sie eine Private Message an K.Siebert  Schreiben Sie einen Gästebucheintrag für K.Siebert

Beiträge: 415
Registriert: 19.05.2007

Win XP
Catia V5 R19
Catia V5 R24

erstellt am: 12. Mrz. 2012 12:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bgrittmann 10 Unities + Antwort hilfreich

Hallo,

zu 1)

wenn du dieses änderst

Code:
PFADAUSGABE = folderoutput & f1.name & ".igs"
PartDocument1.ExportData PFADAUSGABE, "igs"

In


Code:
PFADAUSGABE = folderoutput & f1.PartName & ".igs"
PartDocument1.ExportData PFADAUSGABE, "igs"

Sollte es gehen

Zu 2)

Code:
....
PFADEINGABE =  folderinput & f1.name
On Err resume next
Set PartDocument1 = CATIA.Documents.Open(PFADEINGABE)

If Err then
Msgbox “ Keíne weiteren Dokumente für Exportdaten vorhanden“
Exit sub
End if

.....


Ist Ungetestet

edit:
Tippfehler gefunden und verbessert (im Code  )

------------------
    Sei Schlau bleib Dumm !!?!!   

[Diese Nachricht wurde von K.Siebert am 12. Mrz. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 12. Mrz. 2012 12:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Servus
Zu 1):
Du musst wohl den Namen um CATPart bzw CATProduct) kürzen. zB
Datiname = left (f1.name, (len(f1.name)- 7))
für Catparts, der Pfad muss dann wieder zusammengebaut werden.

Zu 2):
In dem Script fehlt eine Abfrage nach CATParts bzw CATProducts (If-then), aktuell wird versucht alle Dateien zu öffnen

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

v5maler
Mitglied



Sehen Sie sich das Profil von v5maler an!   Senden Sie eine Private Message an v5maler  Schreiben Sie einen Gästebucheintrag für v5maler

Beiträge: 96
Registriert: 16.12.2005

erstellt am: 13. Mrz. 2012 10:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bgrittmann 10 Unities + Antwort hilfreich

@K.Siebert

Also erstmals vielen Dank für die geopferte Zeit. Das muss jetzt einfach mal so gesagt werden.

Leider funktioniert das nicht, weder 1 noch 2. Ich habe es so übernommen.

@bgrittmann

Code:
Datiname = left (f1.name, (len(f1.name)- 7))
muss wo genau hin?

------------------
Es ist nichts zu dumm, es findet doch sein Publikum.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

K.Siebert
Mitglied
Tech Zeichner


Sehen Sie sich das Profil von K.Siebert an!   Senden Sie eine Private Message an K.Siebert  Schreiben Sie einen Gästebucheintrag für K.Siebert

Beiträge: 415
Registriert: 19.05.2007

Win XP
Catia V5 R19
Catia V5 R24

erstellt am: 13. Mrz. 2012 15:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bgrittmann 10 Unities + Antwort hilfreich

Hallo,

ja Stimmt so sollte es aber gehen.
Ist Getestet

Code:
Script zum Exportieren von V5-Parts und Produkten in IGES'
'Erstellt von Jens Hansen'
'Dieses Script ist kostenlos verfügbar und darf weder verkauft noch Angeboten werden'
'Adresse zum Download: http://catia.cad.de' 
Language="VBSCRIPT"

Sub CATMain()
folderinput_1 = CATIA.FileSelectionBox("Wo befinden sich Ihre Daten ?", "*.*", CatFileSelectionModeOpen)
folderinput = Left(folderinput_1, InStrRev(folderinput_1, "\") - 0) 'Right Left Mid

'msgbox folderinput_1

folderoutput = InputBox ("Wohin soll gespeichert werden?","Eingabe","\\Server\xxxx\xxxx\",500,1000)

Dim fs, f, f1, fc, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderinput)
Set fc = f.Files

For Each f1 in fc

Dim PartDocument1 As Document
Set documents1 = CATIA.Documents
Dim document1 As Document

PFADEINGABE =  folderinput & f1.name
On Error resume next
Set PartDocument1 = CATIA.Documents.Open(PFADEINGABE)

On Error resume next

'msgbox Name

LoeschEndung = Left(f1, InStrRev(f1, ".CAT") - 1)
'msgbox LoeschEndung

'PFADAUSGABE = folderoutput & Name1 & ".igs"
PFADAUSGABE = LoeschEndung  & ".igs"
PartDocument1.ExportData PFADAUSGABE, "igs"

If Err then
Msgbox "dieses Datei kann nicht exprotiert werden."
End if


s = s & f1.name
s = s & vbCrLf

PartDocument1.Close

Next

'Bei Bedarf kann eine Schlussnachricht eingeblendet werden, wo die umgewandelten Elemente aufgelistet sind. Hierfür in nachfolgender zeile die Hochkommas entfernen.'
MsgBox "Umwandlung von CATProduct + CATPart zu IGS fertig!" & vbCrLf & s '


End Sub


edit: (msgbox ausgeklammert msgbox LoeschEndung)

------------------
    Sei Schlau bleib Dumm !!?!!   

[Diese Nachricht wurde von K.Siebert am 13. Mrz. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

v5maler
Mitglied



Sehen Sie sich das Profil von v5maler an!   Senden Sie eine Private Message an v5maler  Schreiben Sie einen Gästebucheintrag für v5maler

Beiträge: 96
Registriert: 16.12.2005

erstellt am: 14. Mrz. 2012 11:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bgrittmann 10 Unities + Antwort hilfreich

Also ich versteh jetzt gar nichts mehr... Fehler nun plötzlich in Zeile 11, was

Code:
'msgbox folderinput_1

ist.

Nehmen wir mal ich möchte das von

Code:
\\Server01\a\

nach
Code:
\\Server01\b\

erledigen, nicht das ich da den Pfad falsch eingefügt habe.


------------------
Es ist nichts zu dumm, es findet doch sein Publikum.

[Diese Nachricht wurde von v5maler am 14. Mrz. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 14. Mrz. 2012 11:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Servus
Was ist bei dir Zeile 11? Welche Fehlermeldung kommt?
Hast du mal den wert einer Varaibel mit der Augabe in einer MessageBox geprüft?

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

v5maler
Mitglied



Sehen Sie sich das Profil von v5maler an!   Senden Sie eine Private Message an v5maler  Schreiben Sie einen Gästebucheintrag für v5maler

Beiträge: 96
Registriert: 16.12.2005

erstellt am: 14. Mrz. 2012 12:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bgrittmann 10 Unities + Antwort hilfreich

Kommando zurück! Es war Zeile 1 ein "'" am Anfang hatte gefehlt.

Was genau macht denn die ...

Code:
folderinput_1 = CATIA.FileSelectionBox("Wo befinden sich Ihre Daten ?", "*.*", CatFileSelectionModeOpen)

*.* ist irgendwie ganz schlecht ...

------------------
Es ist nichts zu dumm, es findet doch sein Publikum.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 14. Mrz. 2012 12:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Servus
Bitte mal die Hilfe zu den Methoden durchlesen.
*.* ist gesetzt dass du jede Datei asuwählen kannst, aus der gewählter Datei wird dann das Verzeichnis ermittelt (von hinten in die Brust ins Auge)

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

v5maler
Mitglied



Sehen Sie sich das Profil von v5maler an!   Senden Sie eine Private Message an v5maler  Schreiben Sie einen Gästebucheintrag für v5maler

Beiträge: 96
Registriert: 16.12.2005

erstellt am: 14. Mrz. 2012 12:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bgrittmann 10 Unities + Antwort hilfreich

Das Problem ist ganz einfach. Ich bin kein Programmierer. Deshalb ja hier die Anfrage...

Könnte man die alte Abfrage wieder mit einbauen? (Pfade als Beispiel)

Code:
folderinput = InputBox ("Wo befinden sich Ihre Daten ?","Eingabe","\\Server01\A\",500,1000)
folderoutput = InputBox ("Wohin soll gespeichert werden?","Eingabe","\\Server01\B\",500,1000)

Oder, was vielleicht auch gut wäre ... nur die Abfrage für *.CATProduct, *.CATPart.

------------------
Es ist nichts zu dumm, es findet doch sein Publikum.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 14. Mrz. 2012 12:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Servus
Was willst du nun: ein ganzen Verzeichnis konvertieren oder nur einzelne Dateien?
Klar kann man die alte Abfrage wieder einbauen.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

v5maler
Mitglied



Sehen Sie sich das Profil von v5maler an!   Senden Sie eine Private Message an v5maler  Schreiben Sie einen Gästebucheintrag für v5maler

Beiträge: 96
Registriert: 16.12.2005

erstellt am: 14. Mrz. 2012 12:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bgrittmann 10 Unities + Antwort hilfreich

Ein ganzes Verzeichnis wäre ganz gut. Also von "A" nach "B" ... Datei Auswahl kapiert wieder keiner  .

------------------
Es ist nichts zu dumm, es findet doch sein Publikum.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

v5maler
Mitglied



Sehen Sie sich das Profil von v5maler an!   Senden Sie eine Private Message an v5maler  Schreiben Sie einen Gästebucheintrag für v5maler

Beiträge: 96
Registriert: 16.12.2005

erstellt am: 16. Mrz. 2012 10:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bgrittmann 10 Unities + Antwort hilfreich

Ich frag nochmals nach, ob mir da jemand helfen könnte.

------------------
Es ist nichts zu dumm, es findet doch sein Publikum.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

K.Siebert
Mitglied
Tech Zeichner


Sehen Sie sich das Profil von K.Siebert an!   Senden Sie eine Private Message an K.Siebert  Schreiben Sie einen Gästebucheintrag für K.Siebert

Beiträge: 415
Registriert: 19.05.2007

Win XP
Catia V5 R19
Catia V5 R24

erstellt am: 16. Mrz. 2012 12:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bgrittmann 10 Unities + Antwort hilfreich

Hallo,

einfach wieder Tauschen

Code:
folderinput_1 = CATIA.FileSelectionBox("Wo befinden sich Ihre Daten ?", "*.*", CatFileSelectionModeOpen)
folderinput = Left(folderinput_1, InStrRev(folderinput_1, "\") - 0) 'Right Left Mid


durch dieses:

Code:
folderinput = InputBox ("Wo befinden sich Ihre Daten ?","Eingabe","\\Server\_STP, IGS temp\",500,1000)
folderoutput = InputBox ("Wohin soll gespeichert werden?","Eingabe","\\Server\_STP, IGS temp\_fertige Umwandlungen\",500,1000)

  Ich bin auch Programmierer 

------------------
Sei Schlau bleib Dumm !!?!!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

v5maler
Mitglied



Sehen Sie sich das Profil von v5maler an!   Senden Sie eine Private Message an v5maler  Schreiben Sie einen Gästebucheintrag für v5maler

Beiträge: 96
Registriert: 16.12.2005

erstellt am: 16. Mrz. 2012 12:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bgrittmann 10 Unities + Antwort hilfreich

Also irgendwie mag das überhaupt nicht... er möchte auch anderen Dateien die im Ordner sind umwandeln (Darin ist z.B. eine Verknüpfung auf das Script.), was fast in einer Endlosschleife hängen bleibt, weil er immer wieder alles überschreiben möchte ...


Aktuell steht das drin:

Code:
'Script zum Exportieren von V5-Parts und Produkten in IGES'
'Erstellt von Jens Hansen'
'Dieses Script ist kostenlos verfügbar und darf weder verkauft noch Angeboten werden'
'Adresse zum Download: http://catia.cad.de' 
Language="VBSCRIPT"

Sub CATMain()
folderinput = InputBox ("Wo befinden sich Ihre Daten ?","Eingabe","\\Server01\PROJEKTE\_STP, IGS temp\",500,1000)
folderoutput = InputBox ("Wohin soll gespeichert werden?","Eingabe","\\Server01\PROJEKTE\_STP, IGS temp\_fertige Umwandlungen\",500,1000)

'msgbox folderinput_1

'folderoutput = InputBox ("Wohin soll gespeichert werden?","Eingabe","\\Server01\PROJEKTE\_STP, IGS temp\_fertige Umwandlungen\",500,1000)

Dim fs, f, f1, fc, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderinput)
Set fc = f.Files

For Each f1 in fc

Dim PartDocument1 As Document
Set documents1 = CATIA.Documents
Dim document1 As Document

PFADEINGABE =  folderinput & f1.name
On Error resume next
Set PartDocument1 = CATIA.Documents.Open(PFADEINGABE)

On Error resume next

'msgbox Name

LoeschEndung = Left(f1, InStrRev(f1, ".CAT") - 1)
'msgbox LoeschEndung

'PFADAUSGABE = folderoutput & Name1 & ".igs"
PFADAUSGABE = LoeschEndung  & ".igs"
PartDocument1.ExportData PFADAUSGABE, "igs"

If Err then
Msgbox "dieses Datei kann nicht exprotiert werden."
End if


s = s & f1.name
s = s & vbCrLf

PartDocument1.Close

Next

'Bei Bedarf kann eine Schlussnachricht eingeblendet werden, wo die umgewandelten Elemente aufgelistet sind. Hierfür in nachfolgender zeile die Hochkommas entfernen.'
MsgBox "Umwandlung von CATProduct + CATPart zu IGS fertig!" & vbCrLf & s '


End Sub


------------------
Es ist nichts zu dumm, es findet doch sein Publikum.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

K.Siebert
Mitglied
Tech Zeichner


Sehen Sie sich das Profil von K.Siebert an!   Senden Sie eine Private Message an K.Siebert  Schreiben Sie einen Gästebucheintrag für K.Siebert

Beiträge: 415
Registriert: 19.05.2007

Win XP
Catia V5 R19
Catia V5 R24

erstellt am: 16. Mrz. 2012 16:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bgrittmann 10 Unities + Antwort hilfreich


Textdokument.CATScript.txt

 
Hallo,

Das Skript habe ich jetzt noch mal überarbeitet.

Sollte funktionieren.

Habe in dem Ordner zum Testen eine Zeichnung abgelegt.
Diese macht Catia auf kann diese nicht Exportieren somit kommt eine Meldung (kann diese Datei nicht Exportieren) nach Bestätigung wird das Tool weiter ausgeführt

Dieses Meldung sollte auch kommen wenn Catia die Datei nicht aufmachen kann.


Die schleife so wie du beschieben hast, baust du dir wahrscheinlich selbst.
Weil das Tool macht alle Dateien in dem Ordner auf und will diese dann exportieren.
Da du in diesem Ordner auch die Verknüpfung hast will Catia natürlich auch diese aufmachen und Exportieren, somit ruft du das Tool immer wieder neu auf.

------------------
Sei Schlau bleib Dumm !!?!!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

v5maler
Mitglied



Sehen Sie sich das Profil von v5maler an!   Senden Sie eine Private Message an v5maler  Schreiben Sie einen Gästebucheintrag für v5maler

Beiträge: 96
Registriert: 16.12.2005

erstellt am: 19. Mrz. 2012 07:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bgrittmann 10 Unities + Antwort hilfreich

Guten Morgen,

danke erst einmal dafür.

Aber:
- Dateiname wird korrekt erzeugt
- Zielordner wird nicht benutzt (es landet im gleichen Ordner wie das originale File, "folderoutput" ist aber korrekt gesetzt)
- kann man dem nur beibringen explizit _nur_ *.CATProduct und *.CATPart zu lesen, um das Problem mit den anderen Dateien zu lösen?

Sicherlich sind das nur kleine Sachen, ich bekomme aber nicht wirklich hin. Pff ... 

------------------
Es ist nichts zu dumm, es findet doch sein Publikum.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 19. Mrz. 2012 08:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Servus
Ich hab mal in meiner Makrosammlung gestöbert.
Code:
'Script zum Exportieren von V5-Parts und Produkten in IGES'
'Erstellt von Bernd Grittmann'

Language="VBSCRIPT"

Sub CATMain()
Dim Zielverzeichnis as String
Dim Quellverzeichnis as String
Dim FolBrowser
Dim FileSystemObject
Dim Verzeichnis as Folder
Dim Dateien as Files
Dim Datei as File
Dim Dokument as Document
Dim Counter as Integer
Dim StrZiel as String

'Fehlermeldungen ausschalten'
'CATIA.DisplayFileAlerts = False

'Quellverzeichnis abfragen
set ShellApp=CreateObject("Shell.Application") 'erzeuge ein neues Objekt "Shell Application"

set FolBrowser=ShellApp.BrowseForFolder(0,"Bitte waehlen Sie das Quellverzeichnis aus:",16,17)
If not FolBrowser is Nothing then 'wenn nicht Abbrechen gedrückt oder aus sonstigen Gründen
'nichts im Objekt "FolBrowser" steht, dann...
Quellverzeichnis=FolBrowser.Self.Path '...speichere den Pfad d. Ordners in die Variable "Quellverzeichnis"
End If

If Quellverzeichnis = "" then
MsgBox "Kein Quellverzeichnis gewählt. Das Makro wird abgebrochen." ,16 , "Abbruch"
Exit Sub
End If

'Zielverzeichnis abfragen
set FolBrowser=ShellApp.BrowseForFolder(0,"Bitte waehlen Sie das Zielverzeichnis aus:",16,17)
If not FolBrowser is Nothing then 'wenn nicht Abbrechen gedrückt oder aus sonstigen Gründen
'nichts im Objekt "FolBrowser" steht, dann...
Zielverzeichnis=FolBrowser.Self.Path '...speichere den Pfad d. Ordners in die Variable "Zielverzeichnis"
End If

If Zielverzeichnis = "" then
MsgBox "Kein Zielverzeichnis gewählt. Das Makro wird abgebrochen." ,16 , "Abbruch"
Exit Sub
End If

'Quellverzeichnis einlesen
Set FileSystemObject = CreateObject("Scripting.FileSystemObject")
Set Verzeichnis = FileSystemObject.GetFolder(Quellverzeichnis)
Set Dateien = Verzeichnis.Files

'Dateien nach CATParts und CATProducts durchsuchen

For Each Datei in Dateien
if Right(Datei.name, 7) = "CATPart" or Right(Datei.name, 10) = "CATProduct" then
Set Dokument = CATIA.Documents.Open(Datei.Path)
StrZiel = Zielverzeichnis & "\" & Left(Datei.Name, InStrRev(Datei.name, ".CATP") -1 ) & ".igs"
Dokument.ExportData  StrZiel, "igs"
Dokument.Close
Counter = Counter + 1
End if
next

MsgBox "Es wurden " & Cstr(Counter) & " Dateien konvertiert."

End Sub



Alternativ könntest d auch die Batch-Konvertierung unter Tools -> Dienstprogramme nutzen.


Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

v5maler
Mitglied



Sehen Sie sich das Profil von v5maler an!   Senden Sie eine Private Message an v5maler  Schreiben Sie einen Gästebucheintrag für v5maler

Beiträge: 96
Registriert: 16.12.2005

erstellt am: 29. Mrz. 2012 15:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bgrittmann 10 Unities + Antwort hilfreich

Hallo Bernd,

Danke für den Code.

Aber:
Warum kann man nicht auf Netzwerkpfade zugreifen?
Oder: Könnte man von Ordner A nach Ordner B konvertieren, bzw, eben als Vorlage bereits die Pfade mit übergeben, damit man nicht jedes mal sich neu hin klicken muss? Diese wären aber dann auch auf UNC-Pfaden ...

------------------
Es ist nichts zu dumm, es findet doch sein Publikum.

[Diese Nachricht wurde von v5maler am 29. Mrz. 2012 editiert.]

[Diese Nachricht wurde von v5maler am 29. Mrz. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 29. Mrz. 2012 17:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Servus

Netzwerkpfade:
ändere folgende Zeile:
set FolBrowser=ShellApp.BrowseForFolder(0,"Bitte waehlen Sie das Quellverzeichnis aus:",16,17)
in
set FolBrowser=ShellApp.BrowseForFolder(0,"Bitte waehlen Sie das Quellverzeichnis aus:",16,0)
bzw äquivalent auch in der Zeile zur Auswahl des Zielverzeichnisses.

Zum Pfad vorgeben (ungetestet):
in KSieberts letztem Makro die Zeile:
PFADAUSGABE = LoeschEndung  & ".igs"
in
PFADAUSGABE = folderoutput & LoeschEndung  & ".igs"
ändern.

Gruß
Bernd

PS: ggf muss du die beiden Scripte "verheiraten" um auch den Filter für CATPParts und CATProducts zu bekommen.

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

v5maler
Mitglied



Sehen Sie sich das Profil von v5maler an!   Senden Sie eine Private Message an v5maler  Schreiben Sie einen Gästebucheintrag für v5maler

Beiträge: 96
Registriert: 16.12.2005

erstellt am: 30. Mrz. 2012 08:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bgrittmann 10 Unities + Antwort hilfreich

  
Zitat:
Original erstellt von bgrittmann:
PS: ggf muss du die beiden Scripte "verheiraten" um auch den Filter für CATPParts und CATProducts zu bekommen.
Das nicht, aber jetzt das ganze noch für DXF+PDF gleichzeitig, dann wäre das ganz gut. Für nur eine der beiden Endungen bekomme ich es hin. Allerdings wusste ich mir bei der Zeile

Code:
if Right(Datei.name, 7) = "CATDrawing" or Right(Datei.name, 10) = "CATDrawing" then


Nicht anders zu helfen, und hab die so drin stehen. Also für z.B. nur eine Ausgabe in PDF.


PS: Wenn man auf "nein" geht wenn er fragt ob eine Datei überschrieben soll, komm ein Fehler in Linie 56.

Danke soweit.

Edit: Ich denke mit ...

Code:

'Dateien nach CATParts und CATProducts durchsuchen
For Each Datei in Dateien
if Right(Datei.name, 7) = "CATDrawing" or Right(Datei.name, 10) = "CATDrawing" then
Set Dokument = CATIA.Documents.Open(Datei.Path)
StrZiel = Zielverzeichnis & "\" & Left(Datei.Name, InStrRev(Datei.name, ".CATD") -1 ) & ".pdf"
Dokument.ExportData  StrZiel, "pdf"
StrZiel = Zielverzeichnis & "\" & Left(Datei.Name, InStrRev(Datei.name, ".CATD") -1 ) & ".dxf"
Dokument.ExportData  StrZiel, "dxf"

... schaut das schon mal ganz gut aus.  Fehlt eigentlich nur noch der Fehler beim verneinen vom Überschreiben einer Datei.

------------------
Es ist nichts zu dumm, es findet doch sein Publikum.

[Diese Nachricht wurde von v5maler am 30. Mrz. 2012 editiert.]

[Diese Nachricht wurde von v5maler am 30. Mrz. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 30. Mrz. 2012 14:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Servus
Wenn du keine bestehende Datei überschreiben willst könntest du die Funktion fFileExist von hier oder hier einbauen, und vor dem Konvertieren zunächst prüfen ob die Datei schon vorhanden ist.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

[Diese Nachricht wurde von bgrittmann am 30. Mrz. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

v5maler
Mitglied



Sehen Sie sich das Profil von v5maler an!   Senden Sie eine Private Message an v5maler  Schreiben Sie einen Gästebucheintrag für v5maler

Beiträge: 96
Registriert: 16.12.2005

erstellt am: 17. Apr. 2012 10:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bgrittmann 10 Unities + Antwort hilfreich

Hallo nochmals,

also die Sachen laufen soweit. Allerdings wäre nun doch eine Auswahl im ersten Schritt sinnvoller als einen ganzen Ordner zu konvertieren. Also Script Starten, Dateien mit Mehrauswahl auswählen, Zielordner Angeben, und los geht es ...

Was genau müsste ich denn demnach abändern?


Code:
'Script zum Exportieren von V5-Parts und Produkten in STEP'
'Erstellt von Bernd Grittmann'

Language="VBSCRIPT"

Sub CATMain()
Dim Zielverzeichnis as String
Dim Quellverzeichnis as String
Dim FolBrowser
Dim FileSystemObject
Dim Verzeichnis as Folder
Dim Dateien as Files
Dim Datei as File
Dim Dokument as Document
Dim Counter as Integer
Dim StrZiel as String

'Fehlermeldungen ausschalten'
'CATIA.DisplayFileAlerts = False

'Quellverzeichnis abfragen
set ShellApp=CreateObject("Shell.Application") 'erzeuge ein neues Objekt "Shell Application"

set FolBrowser=ShellApp.BrowseForFolder(0,"Bitte waehlen Sie das Quellverzeichnis aus:",16,0)
If not FolBrowser is Nothing then 'wenn nicht Abbrechen gedrückt oder aus sonstigen Gründen
'nichts im Objekt "FolBrowser" steht, dann...
Quellverzeichnis=FolBrowser.Self.Path '...speichere den Pfad d. Ordners in die Variable "Quellverzeichnis"
End If

If Quellverzeichnis = "" then
MsgBox "Kein Quellverzeichnis gewählt. Das Makro wird abgebrochen." ,16 , "Abbruch"
Exit Sub
End If

'Zielverzeichnis abfragen
set FolBrowser=ShellApp.BrowseForFolder(0,"Bitte waehlen Sie das Zielverzeichnis aus:",16,0)
If not FolBrowser is Nothing then 'wenn nicht Abbrechen gedrückt oder aus sonstigen Gründen
'nichts im Objekt "FolBrowser" steht, dann...
Zielverzeichnis=FolBrowser.Self.Path '...speichere den Pfad d. Ordners in die Variable "Zielverzeichnis"
End If

If Zielverzeichnis = "" then
MsgBox "Kein Zielverzeichnis gewählt. Das Makro wird abgebrochen." ,16 , "Abbruch"
Exit Sub
End If

'Quellverzeichnis einlesen
Set FileSystemObject = CreateObject("Scripting.FileSystemObject")
Set Verzeichnis = FileSystemObject.GetFolder(Quellverzeichnis)
Set Dateien = Verzeichnis.Files

'Dateien nach CATParts und CATProducts durchsuchen
For Each Datei in Dateien
if Right(Datei.name, 7) = "CATPart" or Right(Datei.name, 10) = "CATProduct" then
Set Dokument = CATIA.Documents.Open(Datei.Path)
StrZiel = Zielverzeichnis & "\" & Left(Datei.Name, InStrRev(Datei.name, ".CATP") -1 ) & ".stp"
Dokument.ExportData  StrZiel, "stp"
Dokument.Close
Counter = Counter + 1
End if
next

MsgBox "Es wurden " & Cstr(Counter) & " Dateien konvertiert."

End Sub


------------------
Es ist nichts zu dumm, es findet doch sein Publikum.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 17. Apr. 2012 18:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Servus
Hier findest du eine mögliche Lösung. Natürlich brauchst du die Listbox nicht der Array "Files" sollte die entsprechenden Pfade (oder nur die Dateinamen?) enthalten.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

v5maler
Mitglied



Sehen Sie sich das Profil von v5maler an!   Senden Sie eine Private Message an v5maler  Schreiben Sie einen Gästebucheintrag für v5maler

Beiträge: 96
Registriert: 16.12.2005

erstellt am: 18. Apr. 2012 08:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für bgrittmann 10 Unities + Antwort hilfreich

Hallo,

danke für die Hilfe, aber was ich nun genau damit machen soll weiß ich nicht wirklich. Was genau soll ich denn gegen was austauschen?

Im besten Fall ist eben unten im Explorer-Öffnen Menü vorab *.CATDrawing ausgewählt, bei z.B. dem PDF/DXF Script. Somit kann man dann nur eben *.CATDRawings per Mehrauswahl (STRG-Taste+Auswahl) auswählen und auf "Öffnen" gehen.

Das wäre schon gut.

------------------
Es ist nichts zu dumm, es findet doch sein Publikum.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz