| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys |
Autor
|
Thema: Daten Auslesen (2160 mal gelesen)
|
Cweber Mitglied Student
Beiträge: 3 Registriert: 09.12.2009
|
erstellt am: 16. Dez. 2009 14:03 <-- editieren / zitieren --> Unities abgeben:
Hallo alle zusammen! hab diesmal ein ganz einfaches Problem was in dem Forum auch schon oft behandelt wurde....Werde aber einfach nicht schlau! Ich möchte ein paar Auflagerkräfte in eine Datei schreiben. Das klappt auch alles wunderbar nur bekomme ich es einfach nicht hin die verschiedenen Lastschritte mit auszulesen.... Wäre echt nett wenn ihr mir einen Tip geben könntet. Der Code sieht so aus: set,1 !Loadstep auswählen *get,subst,active,0,solu,ncmss !Anzahl der Substeps auslesen *do,j,1,subst,1 !Schleife starten set,1,j CSYS,1 nsel,s,loc,x,340 nsel,r,loc,z,40 *get,Anzahl_Node,node,0,count *dim,Ausgabe,,100,3 Knoten_Nr=0 *do,i,1,Anzahl_Node Knoten_Nr=ndnext(Knoten_Nr) !naechste Knotennummer Ausgabe(i,1)=Knoten_Nr !Knotennummer sichern *get,Ausgabe(i,2),node,Knoten_Nr,rf,fz *get,Ausgabe(i,3),active,0,solu,ncmss *enddo *enddo *cfopen,Daten,txt, *vwrite,Ausgabe(1,1),Ausgabe(1,2),Ausgabe(1,3) ! schreibt Daten des Array in Datei (F10.0,' ',F10.4,' ',F10.4) *cfclos Also soweit klappt das alles gut aber die Daten werden überschrieben und ich habe eben nur die Daten vom letzten Lastschritt. Das Problem ist eben das ich die *dim,Ausgabe Zeile nie ändere und damit alles erneut überschrieben wird.... ------------------ Cweber Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 16. Dez. 2009 15:48 <-- editieren / zitieren --> Unities abgeben: Nur für Cweber
Code: *cfopen,Daten,txt *vwrite, ('Kraft') *cfclosset,1 !Loadstep auswählen *get,subst,active,0,solu,ncmss !Anzahl der Substeps auslesen *do,j,1,subst,1 !Schleife starten set,1,j CSYS,1 nsel,s,loc,x,340 nsel,r,loc,z,40 *get,Anzahl_Node,node,0,count *dim,Ausgabe,,100,3 Knoten_Nr=0 *do,i,1,Anzahl_Node Knoten_Nr=ndnext(Knoten_Nr) !naechste Knotennummer Ausgabe(i,1)=Knoten_Nr !Knotennummer sichern *get,Ausgabe(i,2),node,Knoten_Nr,rf,fz *get,Ausgabe(i,3),active,0,solu,ncmss *enddo *cfopen,Daten,txt,, append *vwrite,Ausgabe(1,1),Ausgabe(1,2),Ausgabe(1,3) ! schreibt Daten des Array in Datei (F10.0,' ',F10.4,' ',F10.4) *cfclos *enddo
Ist zwar sehr billig gemacht, aber müsste funktionieren. Eine andere Variante wäre ein dreidimensionales Feld:
Code:
set,1 !Loadstep auswählen *get,subst,active,0,solu,ncmss !Anzahl der Substeps auslesenCSYS,1 nsel,s,loc,x,340 nsel,r,loc,z,40 *get,Anzahl_Node,node,0,count *dim,Ausgabe,,subst,Anzahl_Node,3 *do,j,1,subst,1 !Schleife starten set,1,j Knoten_Nr=0 *do,i,1,Anzahl_Node Knoten_Nr=ndnext(Knoten_Nr) !naechste Knotennummer Ausgabe(j,i,1)=Knoten_Nr !Knotennummer sichern *get,Ausgabe(j,i,2),node,Knoten_Nr,rf,fz *get,Ausgabe(j,i,3),active,0,solu,ncmss *enddo *enddo *cfopen,Daten,txt !Hier mal die Hilfe bemühen *cfclos
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Cweber Mitglied Student
Beiträge: 3 Registriert: 09.12.2009
|
erstellt am: 17. Dez. 2009 01:32 <-- editieren / zitieren --> Unities abgeben:
Hallo Christoph!! Vielen Dank für die schnelle und wirksame Antwort. Der erste Weg klappt wirklich gut bis darauf das er bei jedem Lastschritt eine Warnung bringt und eine Abfrage verlangt ob er die Datei wirklich überschreiben soll! Das kann bei 100 Lastschritten ganz schön nerven.... Den 2 Weg muss ich erst noch Testen war nun doch zu müde.... Man Glaubt gar nicht was ein Wort bewirkt, also nochmal vielen Dank und alles Gute!!!! ------------------ Cweber Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 17. Dez. 2009 10:10 <-- editieren / zitieren --> Unities abgeben: Nur für Cweber
|
| Berechnungsingenieur (m/w/d) Systeme & Fahrzeuge in Freilassing | Mehr als ein Jahrhundert an Gleisbautradition trifft auf Innovationskraft, modernste Technologien und den unbändigen Willen Lösungen für unsere Kunden rund um den Globus zu entwickeln und umzusetzen. Als 360° Servicepartner in Gleisbau- und Instandhaltung sind Sicherheit, Qualität und Anwenderfreundlichkeit unser Versprechen. Die Bahn, als Inbegriff nachhaltiger und grüner Mobilität, ist die Zukunft ... | Anzeige ansehen | Wirtschaftsingenieur |
|
RAL Mitglied koffeinbetriebender Taschenrechner
Beiträge: 238 Registriert: 10.01.2009 Geodreieck, Bleistift, Rechenschieber, Kaffeemaschine und Würfel
|
erstellt am: 22. Dez. 2009 15:51 <-- editieren / zitieren --> Unities abgeben: Nur für Cweber
du kannst das redimension-problem wie folgt umgehen -1- *dim darf nicht in der schleife stehen, also vorher abfragen oder feld größer als nötig anlegen und zwar VOR der Schleife oder -2- 3-D-Feld anlegen (s. ChristophN) oder -3- in der Schleife: nach dem wegschreiben den array löschen (*del oder /del - bitte in der Hilfe nachlesen), dann sollte es wegen *dim keine probleme mehr geben. gruß ral [Diese Nachricht wurde von RAL am 22. Dez. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|