Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Fehler beim Speichern, warum?

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:  Fehler beim Speichern, warum? (1682 mal gelesen)
AndreeX00X
Mitglied
Ingenieur


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

Beiträge: 48
Registriert: 14.08.2007

CATIA V5 R16

erstellt am: 04. Okt. 2007 18:28    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

Hallo,

ich habe mir ein Makro mit dem Makrorekorder erstellt. In dem Makro soll unter "Analyse -> Stückliste..." ein neues Format definiert werden und abgespeichert werden. Das hat auch soweit alles geklappt. Was nicht so schön ist, dass der Speicherpfad konstant ist.

In der Automation habe ich das gefunden:

Code:

filepath = CATIA.FileSelectionBox("Select a text file", "*.txt", CatFileSelectionModeOpen)
CATIA.SystemServices.Print "The selected file is " & filepath

und habe es dann mit

Code:
CatFileSelectionModeSave
abgeändert.

Hier ersmal der gesamte Code:

Code:

Language="VBSCRIPT"

Sub CATMain()

Dim productDocument1 As Document
Set productDocument1 = CATIA.ActiveDocument

Dim product1 As Product
Set product1 = productDocument1.Product

Dim assemblyConvertor1 As CATBaseDispatch
Set assemblyConvertor1 = product1.GetItem("BillOfMaterial")

Dim arrayOfVariantOfBSTR1(2)
arrayOfVariantOfBSTR1(0) = "Position"
arrayOfVariantOfBSTR1(1) = "Teilenummer"
arrayOfVariantOfBSTR1(2) = "Nomenklatur"
assemblyConvertor1.SetCurrentFormat arrayOfVariantOfBSTR1

'-----------------------------------------------------------------
filepath = CATIA.FileSelectionBox("Select a text file", "*.txt", CatFileSelectionModeSave)
' CATIA.SystemServices.Print "The selected file is " & filepath

assemblyConvertor1.Print "TXT", filepath, product1            '*

'-------------------------------------------------------------------
'assemblyConvertor1.Print "TXT", "F:\Testobjekt\SL.txt", product1

End Sub


Den Rest habe ich mir dann so ausgedacht. Das funktioniert auch, bis auf das die Datei keine Endung hat, das ist aber erstmal nicht so wild.

Was mich eher wundert ist, das in der unteren Zeile mit Sternchen, eine Fehlermeldung erscheint.

Wenn ich dann nämlich nachschaue ist die TXT-Datei mit korrektem Inhalt erzeugt worden.

Meine 2. Frage ist, ob es möglich wäre das erste Feld "Position" kleiner zu machen.

Kann mir vielleicht jemand helfen?

------------------
Gruß AndreeX00X

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: 04. Okt. 2007 20:49    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 AndreeX00X 10 Unities + Antwort hilfreich

Servus AndreeX00X

Bei der FileSelectionBox wird nicht automatisch die dateierweiterung angehängt. Die Angabe von "*.txt" bezieht sich nur auf den Filter der Anzeige. Durch die Änderung:

Code:
filepath = CATIA.FileSelectionBox("Select a text file", "*.txt", CatFileSelectionModeSave) & ".txt"

sollte das Script laufen.

Gruß
Bernd

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

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

AndreeX00X
Mitglied
Ingenieur


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

Beiträge: 48
Registriert: 14.08.2007

CATIA V5 R16

erstellt am: 04. Okt. 2007 21:33    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

Danke bgrittmann,

das werde ich morgen gleich mal ausprobieren.

Hast du auch eine Idee, wie Zeilenbreite in der TXT-Datei verkleinert werden kann?

------------------
Gruß AndreeX00X

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

AndreeX00X
Mitglied
Ingenieur


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

Beiträge: 48
Registriert: 14.08.2007

CATIA V5 R16

erstellt am: 05. Okt. 2007 17:19    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

Hallo,

hat prima geklappt.

Danke.

Gruß AndreeX00X

------------------
Gruß AndreeX00X

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

AndreeX00X
Mitglied
Ingenieur


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

Beiträge: 48
Registriert: 14.08.2007

CATIA V5 R16

erstellt am: 07. Okt. 2007 21:47    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

Hallo,

ich habe mal noch ne 2. Frage. Mit welchem Befehl kann in die, mit den oberen Makro, erzeugte TXT-Datei noch weiterer eigener Text eingefügt werden. Also quasi, dass noch z.B. das Wort "Ende" ganz zum Schluss in der Datei steht.

Ich hatte in der Automation ein Makro gefunden, welches alle selektieren Bauteile in einem Product in einer TXT-Datei speichert. Da hatte ich den oberen Code hineingesetzt. und dann noch ein bisschen dran rumgefummelt, so das das Wort ENDE mit reingeschrieben wird. Jedoch wurde "Ende" nicht ans Ende der Datei gesetz sondern am Anfang.

Kann man das nicht auch auf einem leichtern Weg, als dem langen Makro aus der Automation hinbekommen?

------------------
Gruß AndreeX00X

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: 08. Okt. 2007 07:59    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 AndreeX00X 10 Unities + Antwort hilfreich

Servus

Vielleicht geht es mit der Methode "openTextFile" (VBScript) siehe hier.

Gruß
Bernd

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

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

AndreeX00X
Mitglied
Ingenieur


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

Beiträge: 48
Registriert: 14.08.2007

CATIA V5 R16

erstellt am: 08. Okt. 2007 11: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

Hallo bgrittmann,

Danke, dein Tipp hat wunderbar geklappt.

------------------
Gruß AndreeX00X

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

AndreeX00X
Mitglied
Ingenieur


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

Beiträge: 48
Registriert: 14.08.2007

CATIA V5 R16

erstellt am: 08. Okt. 2007 19:58    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

Ist es eigentlich auch möglich, dass die zu erzeugende TXT-Datei die gleiche Teilenummer wie das Product bekommt und dann auch im gleichen Ordner / Verzeichns abgespeichert wird?

Teilenummer des Products: kon.1.001

Automatische Namensvergabe der TXT-Datei: kon.1.001.txt

------------------
Gruß AndreeX00X

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: 08. Okt. 2007 20:03    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 AndreeX00X 10 Unities + Antwort hilfreich

Servus

Sollte möglich sein. An die Teilenummer kommst du über

Code:
Set Document = Catia.ActiveDocument
Set Product = Document.Product.Products
Teilenummer = Product.Partnumber

ran.

Gruß
Bernd

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

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

AndreeX00X
Mitglied
Ingenieur


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

Beiträge: 48
Registriert: 14.08.2007

CATIA V5 R16

erstellt am: 08. Okt. 2007 20:21    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

Ja, richtig. Ich meinte aber den Dateipfad.

So z.B.:

Code:

'Dateipfad = CATIA.FileSelectionBox("Datei speichern", "Textdokument (*.txt)", CatFileSelectionModeSave) & ".txt"
Dateipfad = Teilenummer & ".txt"

assemblyConvertor1.Print "TXT", Dateipfad, product1


In diesem Fall soll sich kein "Speichern unter"-Fenster öffnen, sondern der Pfad soll automatisch erkannt werden. Wenn ich das Makro einfach nur so ablaufen lassen würde, ist ja überhaupt kein Pfad angegeben, oder wird das dann so automatisch gefunden.

Die Teilenummer ist aus deinem Code übernommen.

------------------
Gruß AndreeX00X

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: 08. Okt. 2007 20:28    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 AndreeX00X 10 Unities + Antwort hilfreich

Servus

Versuch es mal mit:

Code:
Set Document = Catia.ActiveDocument
Pfad = Document.Path

Gruß
Bernd

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

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

AndreeX00X
Mitglied
Ingenieur


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

Beiträge: 48
Registriert: 14.08.2007

CATIA V5 R16

erstellt am: 08. Okt. 2007 20:47    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

Danke, werde ich morgen in der Uni ausprobieren und dann mal berichten.

------------------
Gruß AndreeX00X

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

AndreeX00X
Mitglied
Ingenieur


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

Beiträge: 48
Registriert: 14.08.2007

CATIA V5 R16

erstellt am: 09. Okt. 2007 09:27    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

Morgen,

also ich habe es jetzt ausprobiert und es funktioniert tatsächlich mit diesem Code:

Code:

Dateipfad = Teilenummer & ".txt"

assemblyConvertor1.Print "TXT", Dateipfad, product1


Nochmals vielen Dank für deine Hilfe.

------------------
Gruß AndreeX00X

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