| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys | | | | Wie Geberit durch eine asymmetrische Form der Toilettenschüssel den Spülvorgang wesentlich wassersparender macht , ein Anwenderbericht
|
Autor
|
Thema: Werte aus Datei in ARRAY schreiben... (2145 mal gelesen)
|
feboe Mitglied Student
Beiträge: 18 Registriert: 13.04.2002
|
erstellt am: 09. Sep. 2008 11:48 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich bitte Euch, mir bei einem bestimmt nur kleinen Problem behilflich zu sein. Die Suchfunktion ergab zwar einige Treffer, In einer ganz einfache Text-Datei (Datei.txt), stehen die folgenden drei Zeilen: ---------------------------------------------- 3.20391187e-01 0.00000000e+00 1.70933016e+00 1.31241316e+00 -3.60516406e+00 5.44848989e+00 -1.17527271e+00 0.00000000e+00 1.06833135e+00 ---------------------------------------------- Diese neun Werte sollen in ANSYS (Classic) eingelesen werden und in ein ARRAY geschrieben werden. In meiner Eingabedatei nutze ich hierzu folgende Befehle: ! Array bilden, 3x3 Werte *DIM,tt,ARRAY,3,3 ! Datei "Datei.txt" auslesen und in Array schreiben *VREAD,tt,Datei,txt,,IJK,,,,1 (E15.8,1X,E15.8,1X,E15.8) Trotzdem erhalte ich immer die gleiche Fehlermeldung, doch kann ich mir unter "EOF" leider nichts vorstellen. *** ERROR ****************************************************** The VREAD command requires a format but an EOF was found instead. The VREAD command is ignored. ***************************************************************** Wer kann mir sagen, wo mein Fehler liegt? Bin für jede Hilfe sehr dankbar, Ferran Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tortsen222 Mitglied
Beiträge: 499 Registriert: 01.12.2004
|
erstellt am: 09. Sep. 2008 12:18 <-- editieren / zitieren --> Unities abgeben: Nur für feboe
EOF bedeutet: End Of File Das heisst ANSYS ist bereits am Ende Deiner Datei angekommen sucht aber noch nach dem Format der in der Datei gefundenen Werte. Die Zeile: (E15.8,1X,E15.8,1X,E15.8) macht hier die Probleme, die Formatierung von Werten in ANSYS ist echt ein Krampf. Schau mal hier: http://ansys.net/?mycat=tnt_vwrite1 ist zwar zum schreiben in eine Datei aber vielleicht gehts ja mit einem der Formate, sorry habe im Moment keine Zeit um selbst zu suchen, später vielleicht. ------------------ Grüsse, Torsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
feboe Mitglied Student
Beiträge: 18 Registriert: 13.04.2002
|
erstellt am: 09. Sep. 2008 13:41 <-- editieren / zitieren --> Unities abgeben:
|
simulmi Mitglied Berechnungsingenieur
Beiträge: 295 Registriert: 27.08.2008 ANSYS Workbench 13 ANSYS Classic 13 MAXWELL 2D/3D V14 Pro/E Wildfire<P>Windows XP 64 bit
|
erstellt am: 10. Sep. 2008 11:16 <-- editieren / zitieren --> Unities abgeben: Nur für feboe
Hi, probiers mal mit: *vrea,arrayname,dateiname,dateiendung,speicherort (3F10.8) mit den Exponenten bin ich mir nicht ganz sicher ob das funktioniert. Gruß simulmi ------------------ Matthias Ulmer Institut für Feinwerktechnik Universität Stuttgart Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tortsen222 Mitglied
Beiträge: 499 Registriert: 01.12.2004
|
erstellt am: 10. Sep. 2008 16:53 <-- editieren / zitieren --> Unities abgeben: Nur für feboe
So gehts: ! Array bilden, 3x3 Werte *DIM,tt,ARRAY,3,3 ! Datei "Datei.txt" auslesen und in Array schreiben *VREAD,tt,Datei,txt,,JIK,3,3,, (E15.8,E15.8,E15.8) ------------------ Grüsse, Torsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
feboe Mitglied Student
Beiträge: 18 Registriert: 13.04.2002
|
erstellt am: 11. Sep. 2008 07:39 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank für Eure Antworten! Ihr habt mir sehr geholfen. Im Übrigen: Es funktionieren beide Lösungen - Ihr seid guuut Es ist wirklich ein Kreuz mit den Format-Angaben. Obwohl ich dachte, ich hätte es kapiert, stolpere ich jedes mal wieder darüber... Grüße aus Stuttgart, Ferran [Diese Nachricht wurde von feboe am 11. Sep. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tralala Mitglied Student
Beiträge: 35 Registriert: 04.09.2008
|
erstellt am: 25. Sep. 2008 16:36 <-- editieren / zitieren --> Unities abgeben: Nur für feboe
Hallo! Ich greife den Thread hier einmal auf, da ich ein ähnliches Problem habe. In einer einfachen ".txt"-Datei habe ich Einträge wie folgende: 2.00000 0.10344 0.73822 0.86133 0.00122 -0.12898 Diese will ich mittels "*vread" einlesen. Wo liegt der Fehler, wenn ich *vread,blabla,Dateiname,txt, (F7.5,F7.5) benutze? Ich bekomme in meinem Array nur Werte in die erste Spalte geschrieben. Diese Werte bestehen allerdings aus den Werten der ersten und zweiten Spalte meiner auszulesenden Datei. Also bekomme ich es scheinbar nicht hin, dass die Leerzeichen auch als solche gelesen werden. Die zweite Spalte des Arrays hat übrigens überall "0" als Wert. Die unter dem Link angegebene Hilfe zu der Formatangabe hat mich leider auch nicht zu meinem Ziel gebracht. Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
feboe Mitglied Student
Beiträge: 18 Registriert: 13.04.2002
|
erstellt am: 26. Sep. 2008 20:24 <-- editieren / zitieren --> Unities abgeben:
Hallo Tralala, wie Du schon richtig festgestellt hast, wird Deine Tabelle zeilenweise gelesen, Dein Array jedoch spaltenweise gefüllt. Um das zu ändern, musst Du Deiner Befehlzeile noch folgenden Zusatz anhängen: *VREAD,Daten,Tab,txt,,jik,2,3 (F8.5,F9.5) (bei mir heißt das Array "Daten", die Werte stehen in "Tabelle.txt") Probier es mal aus, damit funktioniert es bei mir... Grüße, Ferran [Diese Nachricht wurde von feboe am 26. Sep. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tralala Mitglied Student
Beiträge: 35 Registriert: 04.09.2008
|
erstellt am: 30. Sep. 2008 12:23 <-- editieren / zitieren --> Unities abgeben: Nur für feboe
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|