Prezentarea unui program cu elemente finite capabil a fi folosit în ...

Prezentarea unui program cu elemente finite capabil a fi folosit în ... Prezentarea unui program cu elemente finite capabil a fi folosit în ...

resist.pub.ro
from resist.pub.ro More from this publisher
10.06.2014 Views

Un exemplu de macrou care defineşte un nit (în /prep7) în planul de lucru curent, cu axa nitului pe direcŃia Z şi centul nitului chiar in originea planului de lucru (vezi Fig. 1.2) este: !* VERSIUNEA 1.0 STEFAN SOROHAN 01/06/2007 !* MACROUL DEFINESTE UN NIT PLIN CU CAP TRONCONIC DE GEOMETRIE: !* DIAMETRU D = ARG1 !* LUNGIME PARTE CILINDRICA L = ARG2 !* DIAMETRU MAX A CAPULUI DE NIT DC = ARG3 !* INALTIMEA CAPULUI DE NIT H = ARG4 /NOPR ! SE SUPRIMA PRINTAREA COMENZILOR DIN MACROU !* VERIFICAREA SI CORECTIA DATELOR DE INTRARE *IF,ARG1,LE,0,THEN ARG1=1 ! implicit diametrul nitului este 1 *MSG, NOTE, 'NIT',1,1,2,0.75 DIAMETRU ( %C) = %I, LUNGIME = %G, DIAM CAP NIT = %G, INALTIME CAP NIT = %G *ENDIF *IF,ARG2,LE,0,THEN ARG2=ARG1 *ENDIF *IF,ARG3,LE,0,THEN ARG3=2*ARG1 *ENDIF *IF,ARG4,LE,0,THEN ARG4=0.75*ARG1 *ENDIF *IF,DC,LE,D,THEN ARG3=2*ARG1 *ENDIF VSEL,U,,,ALL ! DESELECTAREA TUTUROR VOLUMELOR !* CREAREA NITULUI CYLIND,ARG1/2, ,-ARG2/2,ARG2/2,0,360, CONE,ARG3/2,ARG1/2,ARG2/2,ARG2/2+ARG4,0,360, CONE,ARG1/2,ARG3/2,-ARG2/2-ARG4,-ARG2/2,0,360, VADD,ALL ! ADUNAREA CELOR TREI VOLUME DEFINITE VSEL,S,,,ALL ! SELECTAREA TUTUROR VOLUMELOR /GO ! IN CONTINUARE SE SCRIU (AFISEAZA) COMENZILE Dacă acest macrou este salvat în fişierul nit_1.mac atunci el se poate apela cu comanda: *USE,NIT_1 sau, deoarece extensia este mac, prin simpla apelare NIT_1 în acesta variantă de apelare se obŃine un nit cu dimensiunile predefinite în macrou, adică D = 1; L = 1, D c = 2; H = 0,75, dacă spre exemplu se doreşte obŃinerea unui nit cu dimensiunile

D = 2; L = 3, D c = 4; H = 1 atunci se foloseşte comanda: NIT_1,2,3,4,1 Macrourile se pot crea în ANSYS sau se pot utiliza o serie de editoare text (wordpad de exemplu) în care se “scriu” comenzi. Macrourile trebuie să nu fie denumite identic cu numele comenzilor ANSYS, sau să înceapă cu primele 4 caractere ale unei comenzi ANSYS deoarece atunci programul execută o comandă internă şi nu macroul. Numele fişierului macrou nu trebuie să depăşească 32 de caractere, nu poate să înceapă cu un număr, extensia nu poate să fie mai lungă decât 8 caractere (dacă se doreşte apelarea prin numele fişierului această extensie trebuie să fie .MAC). Se recomandă totuşi evitarea utilizării de extensii .mac deoarece acestea sunt folosite de regulă pentru macrourile predefinite ale programului ANSYS. Atunci când se execută un macrou cu extensia mac, ordinea de căutare a numelui fişierului este: 1. directorul /ansys_inc/v100/ansys/apdl; 2. directoarele specificate în ANSYS_MACROLIB; 3. directorul specificat prin $HOME; 4. directorul de lucru. În interiorul programului ANSYS un macrou se poate crea prin patru metode: -1. folosind comanda *CREATE, dar astfel valorile unor parametri trebuie declarate în fişierul macro şi se pot schimba la apelare; -2. folosind comenzile *CFOPEN, *CFWRITE şi *CFCLOS, în acest fel se rezolvă problema parametrilor; -3. folosind comanda /TEE în linia de comandă care scrie o listă de comenzi într-un fişier odată cu executarea unor comenzi, astfel parametrii se utilizează cu valoarea lor curentă, dar în fişierul creat nu se rezolvă problema parametrilor, care se înregistrează cu numele lor; -4. folosind Utility Menu> Macro> Create Macro. Această metodă deschide o fereastră dialog în care se crează un macro, dar nici astfel nu se rezolvă complet problema parametrilor. Este posibil a introduce mai multe macrouri într-un singur fişier. În acest fel pot fi create biblioteci de macrouri. Fişierul nu trebuie să aibă o extensie explicită şi are structura de forma: MACRONAME1 . . /EOF MACRONAME2 . . /EOF MACRONAME3 . . ./EOF Orice macrou se poate executa prin apelare cu comanda *USE. De exemplu apelarea macroului MYMACRO (fără extensie) care este salvat undeva în zona de căutare a programului ANSYS se dă comanda: *USE,MYMACRO în acest fel, macroul nu are argumente. Dacă acest macrou este salvat în alt director: /myaccount/macros şi are numele MYMACRO.MACRO se apelează cu: *USE,/MYACCOUNT/MACROS/MYMACRO.MACRO

Un exemplu de macrou care de<strong>fi</strong>neşte un nit (în /prep7) în planul de lucru <strong>cu</strong>rent, <strong>cu</strong><br />

axa nitului pe direcŃia Z şi centul nitului chiar in originea planului de lucru (vezi Fig. 1.2)<br />

este:<br />

!* VERSIUNEA 1.0 STEFAN SOROHAN 01/06/2007<br />

!* MACROUL DEFINESTE UN NIT PLIN CU CAP TRONCONIC DE GEOMETRIE:<br />

!* DIAMETRU D = ARG1<br />

!* LUNGIME PARTE CILINDRICA L = ARG2<br />

!* DIAMETRU MAX A CAPULUI DE NIT DC = ARG3<br />

!* INALTIMEA CAPULUI DE NIT H = ARG4<br />

/NOPR ! SE SUPRIMA PRINTAREA COMENZILOR DIN MACROU<br />

!* VERIFICAREA SI CORECTIA DATELOR DE INTRARE<br />

*IF,ARG1,LE,0,THEN<br />

ARG1=1 ! implicit diametrul nitului este 1<br />

*MSG, NOTE, 'NIT',1,1,2,0.75<br />

DIAMETRU ( %C) = %I, LUNGIME = %G, DIAM CAP NIT = %G, INALTIME CAP<br />

NIT = %G<br />

*ENDIF<br />

*IF,ARG2,LE,0,THEN<br />

ARG2=ARG1<br />

*ENDIF<br />

*IF,ARG3,LE,0,THEN<br />

ARG3=2*ARG1<br />

*ENDIF<br />

*IF,ARG4,LE,0,THEN<br />

ARG4=0.75*ARG1<br />

*ENDIF<br />

*IF,DC,LE,D,THEN<br />

ARG3=2*ARG1<br />

*ENDIF<br />

VSEL,U,,,ALL ! DESELECTAREA TUTUROR VOLUMELOR<br />

!* CREAREA NITULUI<br />

CYLIND,ARG1/2, ,-ARG2/2,ARG2/2,0,360,<br />

CONE,ARG3/2,ARG1/2,ARG2/2,ARG2/2+ARG4,0,360,<br />

CONE,ARG1/2,ARG3/2,-ARG2/2-ARG4,-ARG2/2,0,360,<br />

VADD,ALL ! ADUNAREA CELOR TREI VOLUME DEFINITE<br />

VSEL,S,,,ALL ! SELECTAREA TUTUROR VOLUMELOR<br />

/GO<br />

! IN CONTINUARE SE SCRIU (AFISEAZA) COMENZILE<br />

Dacă acest macrou este salvat în <strong>fi</strong>şierul nit_1.mac atunci el se poate apela <strong>cu</strong><br />

comanda:<br />

*USE,NIT_1<br />

sau, deoarece extensia este mac, prin simpla apelare<br />

NIT_1<br />

în acesta variantă de apelare se obŃine un nit <strong>cu</strong> dimensiunile prede<strong><strong>fi</strong>nite</strong> în macrou, adică<br />

D = 1; L = 1, D c = 2; H = 0,75,<br />

dacă spre exemplu se doreşte obŃinerea <strong>unui</strong> nit <strong>cu</strong> dimensiunile

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!