Autor
|
Thema: Fehler beim Speichern, warum? (1682 mal gelesen)
|
AndreeX00X Mitglied Ingenieur
Beiträge: 48 Registriert: 14.08.2007 CATIA V5 R16
|
erstellt am: 04. Okt. 2007 18:28 <-- editieren / zitieren --> Unities abgeben:
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
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 04. Okt. 2007 20:49 <-- editieren / zitieren --> Unities abgeben: Nur für AndreeX00X
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
Beiträge: 48 Registriert: 14.08.2007 CATIA V5 R16
|
erstellt am: 04. Okt. 2007 21:33 <-- editieren / zitieren --> Unities abgeben:
|
AndreeX00X Mitglied Ingenieur
Beiträge: 48 Registriert: 14.08.2007 CATIA V5 R16
|
erstellt am: 05. Okt. 2007 17:19 <-- editieren / zitieren --> Unities abgeben:
|
AndreeX00X Mitglied Ingenieur
Beiträge: 48 Registriert: 14.08.2007 CATIA V5 R16
|
erstellt am: 07. Okt. 2007 21:47 <-- editieren / zitieren --> Unities abgeben:
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
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 08. Okt. 2007 07:59 <-- editieren / zitieren --> Unities abgeben: Nur für AndreeX00X
|
AndreeX00X Mitglied Ingenieur
Beiträge: 48 Registriert: 14.08.2007 CATIA V5 R16
|
erstellt am: 08. Okt. 2007 11:54 <-- editieren / zitieren --> Unities abgeben:
|
AndreeX00X Mitglied Ingenieur
Beiträge: 48 Registriert: 14.08.2007 CATIA V5 R16
|
erstellt am: 08. Okt. 2007 19:58 <-- editieren / zitieren --> Unities abgeben:
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
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 08. Okt. 2007 20:03 <-- editieren / zitieren --> Unities abgeben: Nur für AndreeX00X
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
Beiträge: 48 Registriert: 14.08.2007 CATIA V5 R16
|
erstellt am: 08. Okt. 2007 20:21 <-- editieren / zitieren --> Unities abgeben:
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
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 08. Okt. 2007 20:28 <-- editieren / zitieren --> Unities abgeben: Nur für AndreeX00X
|
AndreeX00X Mitglied Ingenieur
Beiträge: 48 Registriert: 14.08.2007 CATIA V5 R16
|
erstellt am: 08. Okt. 2007 20:47 <-- editieren / zitieren --> Unities abgeben:
|
AndreeX00X Mitglied Ingenieur
Beiträge: 48 Registriert: 14.08.2007 CATIA V5 R16
|
erstellt am: 09. Okt. 2007 09:27 <-- editieren / zitieren --> Unities abgeben:
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 |