Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  ANSYS
  lange texte mit parameter via *vwrite

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys
Autor Thema:  lange texte mit parameter via *vwrite (2707 mal gelesen)
frankieka
Mitglied


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

Beiträge: 3
Registriert: 23.07.2010

erstellt am: 23. Jul. 2010 11:22    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

Guten Tag,

ich habe ein problem beim erstellen einer datei aus ansys heraus. ziel ist es, eine eingabe-datei für ein anderes prgramm zu erzeugen, welche bestimmten anforderungen genügen muss. im wesentlichen ist es eine zweispaltige tabelle, wobei in der ersten spalte ein befehl und in der zweiten spalte ein parameter steht. diese "tabelle" soll nach möglichkeit von ansys automatisch ausgefüllt werden. bei verwendung des *vwrite-befehls habe ich das problem, dass der text für den befehl den ich eintragen will maximal 8 zeichen lang sein kann, zumindest wird mehr nicht in die datei eingetragen, auch wenn ich das feld entsprechend groß definiere.
zum besseren verständnis hier mal ein beispiel, was ich als eingabe-datei für das auf ansys folgende programm benötige:

File_Model D:\Ansys\Script.bdf
File_modal D:\Ansys\Modal.rst
node_source 3741
node_receive 3739
node_hole 3740

da die dateinamen fix sind verwende ich für die erzeugung von den ersten beiden zeilen derzeit einfach die folgende eingabe:

*CFOPEN,Config_File,txt,,APPEND
*vwrite
('File_Model D:\Ansys\Script.bdf')
*vwrite
('File_Modal D:\Ansys\Modal.rst')

das funktioniert soweit ganz gut, wobei es mir lieber wäre, wenn die pfadangabe parameterbasiert von ansys selbst eingetragen werden könnte.

die folgenden drei zeilen meiner zieldatei bereiten mir jedoch mehr probleme. bei verwendung der texteingabe wie oben, werden die parameter nicht mit zahlen versehen sondern einfach als parameter eingetragen (hatte ich auch so vermutet)

eingabe:
*vwrite
('node_source %bns%')

ergebnis:
node_source %bns%

bei einer schreibweise in tabellen form, fehlen wie gesagt ein paar zeichen des befehls:

eingabe:
*vwrite,'node_source',bns,
((1a15),(f9.3))

ergebnis:
      node_sou 3741.000

meine frage ist nun, ob es möglich ist, den vollen befehl (node_source) und dahinter den variablenwert (bns) automatisch eintragen zu lassen. falls es geht wäre ein kleiner hinweis auf welchem wege sehr hilfreich 
danke schonmal

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

RAL
Mitglied
koffeinbetriebender Taschenrechner


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

Beiträge: 238
Registriert: 10.01.2009

Geodreieck, Bleistift, Rechenschieber, Kaffeemaschine und Würfel

erstellt am: 23. Jul. 2010 12:53    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 frankieka 10 Unities + Antwort hilfreich

moin.

variante i
Es gibt sogenannte string-arrays. Die können - meines Wissens nach - 128 zeichen pro Eintrag.
Schau dafür mal unter *dim,... nach. Da könnte was dazu stehen.
Hat halt den Haken, dass du 2 arrays definieren und füllen mußt. In die Datei schreiben sollte dann in etwa wie folgt aussehen

*dim, myStringarray,.....
*dim, myValueArray,....
ENDROW = 10 ! max. Zeilenanzahl der arrays
*CFO, myoutput,txt
*DO,i_row,1,ENDROW
    *VWR,myStringarray(i_row,1),myValueArray(i_row,1)  ! evtl %%, SYNTAX?
    FORMAT NICHT VERGESSEN
*ENDO
*CFC

TIP: unter *MSG in der Hilfe findest du die c-formate. Damit kann man auch Integers wegschreiben

Falls du das Working-dir auch parametrisieren willst: *get kann das auslesen (Achtung: Das sollte dann ein Stringarray sein)
Diesen Arrayeintrag in die Variable MyWD übertragen und dann u.U. in obigen Quellcode aufrufen/benutzen über ...%MYWD%...

gruß
ral

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

frankieka
Mitglied


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

Beiträge: 3
Registriert: 23.07.2010

erstellt am: 23. Jul. 2010 15:20    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 für die antwort, ich bin zumindest schonmal ein stückchen weiter gekommen. die array konnte ich problemlos erstellen und diese sind auch richtig bestickt, nur beim zusammenführen der arrays und der ausgabe in die datei via *vwrite gibt es probleme.
wenn ich die folgenden zeilen ablaufen lasse:

*dim,config_file_txt,string,32,
*dim,config_file_val,,11,2
config_file_txt(3,1)='node_source'
config_file_txt(4,1)='node_receive'
config_file_txt(5,1)='node_hole'
config_file_val(3,1)=bns
config_file_val(4,1)=bnr
config_file_val(5,1)=bnh
Endrow=5
*cfopen,config_file,txt,,append
*do,i,3,endrow
*vwrite,config_file_txt(i,1),config_file_val(i,1)
((1a20),(f15.10))
*enddo
*cfclose

erhalte ich die fehlermeldung;
"error in format, not enough data format specifiers"

in der ersten spalte befinden sich ausschließlich textelemente und in der zweiten ausschließlich ganze zahlen ... die parameter für die feldgrößen habe ich schon verschiedendlich variiert. vielleicht habe ich ja irgendetwas übersehen und schmücke mich hier gerade mit einem anfängerfehler, aber für hilfe wäre ich weiterhin dankbar 

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

solve1
Mitglied
Berechnungsingenieur


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

Beiträge: 624
Registriert: 27.05.2008

Ansys APDL
Ansys WorkBench

erstellt am: 26. Jul. 2010 08:14    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 frankieka 10 Unities + Antwort hilfreich

hi,
du kannst deine datei auch einfach per "/com" füllen.

*cfopen,..... !zum erstellen der datei
*cfclose,.... !
/output,...  !umlenken des Ouput auf die Datei
/com, %Para(1,1)%  Hallo %Para (1,2)%.....  !das wird dann in die datei geschrieben
/output      !Zurücksetzen des Ausgabe aufs output window
               

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

frankieka
Mitglied


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

Beiträge: 3
Registriert: 23.07.2010

erstellt am: 26. Jul. 2010 16:14    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 für die Hilfe, die Variante über den /com-Befehl klappt ganz gut.

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