| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys | | |  | Gutes Datenmanagement ist Voraussetzung für KI in Unternehmen, eine Pressemitteilung
|
Autor
|
Thema: Array in Datei schreiben... (1262 mal gelesen)
|
oscarspatz Mitglied
 
 Beiträge: 187 Registriert: 28.07.2004
|
erstellt am: 31. Mrz. 2006 18:47 <-- editieren / zitieren --> Unities abgeben:         
ich kapiers nicht - ich hab immer wieder das gleiche Problem.... folgender Logfile:
Code:
*create,ausgabe,mac *cfopen,test,txt,,append *vwrite,arg1,arg2 (f5.0,t30,f20.10) *end . . . . . . allsel,all /solu ANTYPE,STATIC SSTIF,ON ARCLEN,ON,5,1/10000 ! Bogenlängen-Methode !NROPT,auto ! Newton-Rapson - Verfahren NSUBST,300 ! Anzahl der Zwischenschritte AUTOTS, OFF OUTRES,ALL,1 ! alle Zwischenergebnisse ausgebenSOLVE FINISH /POST1 /EFACET,1 /triad,lbot PLNSOL, S,XY, 0,1.0 set,last anzahlele=n_type1-n_type *cfopen,test,txt,, *vwrite,'Nummer' (a6,t10) *cfclose
*DIM,Tabelle1,array,anzahlele,1 *DO,i,1,anzahlele,1 *GET,Kraft,ELEM,(i+n_type),SMISC,1 *VFILL,Tabelle1(i),data,Kraft ausgabe,i,kraft *ENDDO *CFCLOSE
in der Dateiausgabe steht "nur": Nummer Wo ist der Fehler????? Ich find ihn nicht.... Tante Edit: in dem Array "Tabelle1" stehen die Werte korrekt drin....
[Diese Nachricht wurde von oscarspatz am 31. Mrz. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
goofie Mitglied

 Beiträge: 21 Registriert: 11.04.2006 Catia V5 R19 SP6 HF68 / SP 9 HF24 Catia V5 R18 SP8 Win XP x64 V2003 SP2core 2 Duo E8500 3,17GHz 8GB Ram FX1800
|
erstellt am: 12. Apr. 2006 15:23 <-- editieren / zitieren --> Unities abgeben:          Nur für oscarspatz
Hi, könntest du dein Problem etwas genauer beschreiben, bzw. was möchtest du eigentlich genau machen? ... du gibst in der Ausgabedatei nämlich nur 'nummer' aus.. d.h es wird in der Datei nur einmal nummer stehen.... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
oscarspatz Mitglied
 
 Beiträge: 187 Registriert: 28.07.2004
|
erstellt am: 12. Apr. 2006 18:20 <-- editieren / zitieren --> Unities abgeben:         
|
microman Mitglied Student

 Beiträge: 22 Registriert: 21.08.2005
|
erstellt am: 12. Apr. 2006 21:24 <-- editieren / zitieren --> Unities abgeben:          Nur für oscarspatz
Hallo! Ich habe mich auch schon mit Arrys herumgeschlagen. Hilfe fand ich auf der Homepage "ANSYS Tips and ANSYS Tricks" von Peter Budgell (pdf im Anhang). Mit folgendem Code schrieb ich einen Array in eine Spalte eines txt-Files. Danach "rekonstruierte" ich den 2D-Array in Matlab wieder. Makro: writear2 *vwrite,arg1(arg2,arg3) (E16.8) Array erzeugen:
*DIM,whsx,array,33,51 *DIM,whsz,array,33,51 incx = 5*um incz = 5*um x0wh = -125*um z0wh = -395*um *DO,k,0,50 *DO,i,0,32 nodeact = node(x0wh+k*incx,0,z0wh-i*incz) *GET,sx,node,nodeact,s,x *GET,sz,node,nodeact,s,z whsx(i+1,k+1)=sx whsz(i+1,k+1)=sz *ENDDO *ENDDO Array in Textfile schreiben:
*CFOPEN,whsx,txt,,append *DO,w,1,51 writear2,'whsx',1,w *ENDDO *CFCLOS *CFOPEN,whsz,txt,,append *DO,w,1,51 writear2,'whsz',1,w *ENDDO *CFCLOS Gruss Markus
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
oscarspatz Mitglied
 
 Beiträge: 187 Registriert: 28.07.2004
|
erstellt am: 12. Apr. 2006 23:16 <-- editieren / zitieren --> Unities abgeben:         
danke für das Bsp und das pdf... ich frag mich dennoch, wo bei mir der Fehler liegt... ich lese mir ja zuerst die Kraft mit Code: *GET,Kraft,ELEM,(i+n_type),SMISC,1
heraus. Die schreibe ich dann in ein Array
Code: *VFILL,Tabelle1(i),data,Kraft
Das Array hab ich vorher definiert
Code: *DIM,Tabelle1,array,anzahlele,1
und in dem Array stehen auch die richtigen Werte drin. Dann übergebe ich eine Laufvariable i und die Variable Kraft an ein Makro
Code: ausgabe,i,kraft
und dann passiert eben nix mehr.... das Makro sieht so aus:
Code: *create,ausgabe,mac *cfopen,test,txt,,append *vwrite,arg1,arg2 (f5.0,t30,f20.10) *end
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
goofie Mitglied

 Beiträge: 21 Registriert: 11.04.2006 Catia V5 R19 SP6 HF68 / SP 9 HF24 Catia V5 R18 SP8 Win XP x64 V2003 SP2core 2 Duo E8500 3,17GHz 8GB Ram FX1800
|
erstellt am: 13. Apr. 2006 07:16 <-- editieren / zitieren --> Unities abgeben:          Nur für oscarspatz
hi bin mir jetzt net sicher aber versuch mal vor dem vwrite die daten aus dem array einer variable zuzuweisen und diese variable dann mit dem vwrite auszugeben... soweit ich weiss kann man mit vwrite keine Felder mit positionen ausgeben.... ... BSP: *DIM,Tabelle1,array,anzahlele,1 *DO,i,1,anzahlele,1 *GET,Kraft,ELEM,(i+n_type),SMISC,1 *VFILL,Tabelle1(i),data,Kraft krafttest=kraft(i) ausgabe,i,krafttest *ENDDO *CFCLOSE
[Diese Nachricht wurde von goofie am 13. Apr. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
oscarspatz Mitglied
 
 Beiträge: 187 Registriert: 28.07.2004
|
erstellt am: 13. Apr. 2006 10:51 <-- editieren / zitieren --> Unities abgeben:         
|
goofie Mitglied

 Beiträge: 21 Registriert: 11.04.2006 Catia V5 R19 SP6 HF68 / SP 9 HF24 Catia V5 R18 SP8 Win XP x64 V2003 SP2core 2 Duo E8500 3,17GHz 8GB Ram FX1800
|
erstellt am: 13. Apr. 2006 11:51 <-- editieren / zitieren --> Unities abgeben:          Nur für oscarspatz
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |