Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  ANSYS
  Macros nicht im wokring directory aufrufen

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:  Macros nicht im wokring directory aufrufen (2486 mal gelesen)
rahy24
Mitglied
Student


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

Beiträge: 12
Registriert: 28.07.2009

erstellt am: 28. Jul. 2009 15:35    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

Hallo zusammen,

ich arbeite in ANSYS WB und benutze die Command-Files (snippets)
um Macros auszuführen.
Bei dem Ausführen einer FE-Berechnung im ANSYS WB ist das
Current Working Directory über dem Ordner in dem das Porjekt
abgespeichert wird festgelegt. Bei der BErechnung einer Modalanalyse
wird zusätzlich ein Ordner Simulationfiles und ein Unterordner Modal angelegt.
Bei jeder neuen Berechnung wird der Modalordner mit unterschidlichen Datein neu
gefüllt und die darin abgelegten Macros gelöscht.

Ich will daher vor dem aufruf eines Macros das working directory wechseln, und nach
dem ausführen des macros wieder in das alte workingdirectory zurückwechseln, da
dort die Berechnung fortgeführt werden muss. Dies muss automatisiert geschehen.

Ich habe dies Versucht über:

/inquire,wdir,directory
/CWD,'Pfad wo Macro liegt'
macro,..,...  ! Macro asuführen
/CWD,wdir

Das Problem ist, dass durch den inquire Befehl wdir als string array
abgespeichert wird und daher beim ausführen der Zeile "/CWD,wdir"
die Fehlermeldung kommt, das wdir kein Pfad ist. Wenn ich den Pfad zum testen einfach
als Value (Charact) abspeichere, funktioniert der /CWD Befehl.

Wie kann ich dieses Problem lösen? Kennt jemand beispielsweise einen string_to_char Befehl
oder eine andere Lösung für mein Problem??

Wäre schön wenn mir da jemand weiter helfen kann.

Grüße,

rahy

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

ubi
Mitglied
Berechnungsingenieur und Ansysaufbohrer

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

Beiträge: 9
Registriert: 12.01.2009

Ansys13+14, Win7-64

erstellt am: 28. Jul. 2009 16:17    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 rahy24 10 Unities + Antwort hilfreich

Antwort auf deine Frage:

/CWD,%wdir%

--> Die %...% ersetzen den Parameter vor dem Ausführen durch seinen Inhalt.

Tipp:

Verwende für deine Zwecke stattdessen den PSEARCH-Befehl:

/PSEARCH,'C:\APDL_Library'

-> bei allen "unknown commands" wird die entsprechene Datei (Endung .mac) aus diesem Verzeichnis ausgeführt. Damit erübrigt sich der Wechsel aus dem Arbeitsverzeichnis.

---
ubiwan

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

Jens.Friedrich
Moderator
Dipl. -Ing.


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

Beiträge: 1048
Registriert: 09.09.2005

ANSYS2021 R2

erstellt am: 28. Jul. 2009 16:21    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 rahy24 10 Unities + Antwort hilfreich

Ich setze einfach die ANSYS_MACROLIB umgebungsvariable auf den Macropfad! Fertig

------------------
Jens Friedrich
TU-Dresden

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

rahy24
Mitglied
Student


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

Beiträge: 12
Registriert: 28.07.2009

erstellt am: 28. Jul. 2009 17:11    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

Hi Ubiwan,

vielen Dank für deine Antwort. Ich habe den /PSEARCH command
im ANSYS Classic zunächst getestet. Hierbei habe ich
den Command for dem /PREP7 command ausgeführt Funktioniert super!

Hier aber das neue Problem:
Im ANSYS WB kann man Commandfelder beispielsweise im Solutionbereich eingeben: Das eingefügte Commadn startet mit dieser Info:

!  Commands inserted into this file will be executed just prior to the Ansys SOLVE command.
!  These commands may supercede command settings set by Workbench.

-> Daher gehe ich zunächst in /PREP7 und schreibe danach meine
Programmzeilen und wechsel am Ende wieder zu /SOLUTION
Das Problem ist das /PSEARCH kein /PREP7 Commadn ist.

Gibt es wie "omme" ich daher in den Bereich vor /PREP7 im ANSYS WB
um dort den /PSEARCH Befehl zu verwenden?

Vielen Dank und Grüße,

Raphael

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

arnd13
Mitglied
Dipl. Ing.


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

Beiträge: 735
Registriert: 05.11.2008

erstellt am: 29. Jul. 2009 11:03    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 rahy24 10 Unities + Antwort hilfreich

Der Befehl fini führt direkt in den Begin-Level, wo /psearch ausgeführt werden kann. Also:

fini
/psearch,...
/prep7
...

Gruß, A.

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

rahy24
Mitglied
Student


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

Beiträge: 12
Registriert: 28.07.2009

erstellt am: 30. Jul. 2009 11:11    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

Hi Arnd,

vielen Dank für den Tip.

Funktioniert einwandfrei!!

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