Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
UTILIZAREA FISIERELOR SCRIPT INARE
In proiectare majoritatea operatiilor sunt simple si repetitive, lucru ce duce de cele mai multe ori la o stare de insatisfactie si la instalarea oboselii.
Multe comenzi simple sau secvente de comenzi pot fi automatizate cu ajutorul fisierelor script, a macrourilor de meniuri sau cu ajutorul expresiilor AutoLisp.
Un fisier script este un fisier cu extensia ".scr" si contine o secventa de comenzi AutoCAD sau expresii AutoLisp, ce poate fi apelat ori de cate ori intr-un desen este nevoie de el.
Fisierele script au denumire proprie si se pot executa cu comanda AutoCAD SCRIPT. Vor fi afisate intr-o fereastra toate fisierele cu extensia ".scr", iar dupa alegerea denumirii acestuia, se executa pe rand comenzile continute in el.
CREAREA SI SALVAREA FISIERELOR SCRIPT
Un fisier script este o copie a comenzilor AutoCAD ce sunt scrise de la tastatura. Astfel pentru desenarea unui patrat cu latura de 100 si coltul stanga jos in punctul (10,10) in AutoCAD vom scrie si vom raspunde la urmatorul dialog:
Command: Line
Specify first point: 10,10
Specify next point or [Undo]: 110,10
Specify next point or [Undo]: 110,110
Specify next point or [Close/Undo]: 10,110
Specify next point or [Close/Undo]: c
Fisierul script ce va duce la constructia aceluiasi patrat arata astfel:
Line
c
Observam ca pe o linie se afla o comanda sau raspunsul la un dialog al comenzii. Deci, cu alte cuvinte, pe o linie avem dialogul pana la apasarea tastei "Enter".
Pentru ca tasta "Space" este similara cu tasta "Enter", mai putin atunci cand editam texte, putem scrie un fisier script si pe o linie, fiecare spatiu liber fiind similar apasarii tastei "Enter". Fisierul script de mai sus, rescris in acest mod, este:
Line 10,10 110,110, 10,110 c
La editarea fisierelor script putem folosi orice editor de text care poate salva in format ASCII. Printre astfel de editoare de text putem enumera comenzile Dos COPY si EDIT, editorul de text din TurboPascal, editorul utilitarului Norton Commander etc.
In cazul folosirii procesoarelor de text, la salvare se foloseste optiunea Save As . " si mai apoi MS-DOS format".
Pentru a edita un fisier script nu este nevoie sa parasim AutoCAD-ul ci putem iesi temporar in sistemul de operare DOS cu comanda SHell. Astfel, pentru a crea si salva cu denumirea patrat.scr exemplul anterior, procedam in felul urmator in cazul folosirii comenzii COPY:
RULAREA FISIERELOR SCRIPT SI COMENZI SPECIFICE
Rularea unui fisier script se poate face in orice faza a editarii acestuia, cu conditia ca el sa fie salvat. In linia de comanda se tasteaza SCRIPT si apare o caseta de dialog cu toate fisierele script. Se selecteaza numele fisierului ce intereseaza, lucru ce duce la executia succesiunilor de comenzi AutoCAD ce se afla in acest fisier.
De exemplu ne propunem a realiza un indicator pentru desenul tehnic industrial conform SR ISO 7200: 1999, salvat cu denumirea indi7200.scr.
Pentru aceasta vom edita urmatoarea succesiune de comenzi AutoCAD, folosind editorul EDIT:
ZOOM W 0,0 220,100
PLINE 10,10 W 0.2 0.2 @190<0 @60<90 @190<180 C
PLINE 10,45 @190<0 PLINE 50,10 @60<90 PLINE 100,10 @60<90
PLINE 100,25 @100<0
LINE 10,15 @40<0 LINE 10,20 @40<0 LINE 10,25 @40<0 LINE 10,30 @40<0 LINE 10,35 @40<0 LINE 10,40 @40<0 LINE 10,53 @40<0 LINE 10,61 @40<0 LINE 50,51.25 @50<0 LINE 50,57.50 @50<0 LINE 50,63.75 @50<0 LINE 135,65 @65<0 LINE 135,60 @65<0 LINE 185,15 @15<0 LINE 185,20 @15<0 LINE 17,10 @35<90 LINE 65,45 @25<90 LINE 85,45 @25<90 LINE 120,45 @25<90 LINE 135,45 @25<90 LINE 185,10 @15<90 LINE 192.5,10 @15<90
Vom salva in directorul AutoCAD fisierul creat anterior folosind optiunea Save AS . si vom scrie denumirea indi7200.scr.
Vom inchide fereastra editorului si in linia de comanda AutoCAD vom tasta SCRIPT.
Va aparea casuta de dialog din figura 4.3 si vom selecta denumirea fisierului salvat anterior.
Imediat fisierul va fi executat si va rezulta constructia din figura 4.4.
Indicatorul a fost pozitionat cu coltul dreapta jos in punctul de coordonate (10,10).
Fisierele script au unele comenzi specifice. Acestea sunt:
- Resume - permite continuarea unui fisier script oprit din executie;
- Delay - intrerupe din executie comenzile din interiorul fisierului cu o pauza masurata in miimi de secunda (Delay 1000 - 1 secunda):
- TextScr, GraphScr - comuta ecranul in mod text si respectiv in mod grafic;
- Rscript - reia fisierul script la infinit. Intreruperea se face actionand tasta Black Space.
GENERAREA FISIERELOR SCRIPT CU LIMBAJE DE PROGRAMARE
Adevaratul ajutor al unui fisier script este atunci cand el se poate edita si modifica usor. In acest sens, un limbaj de programare este de un real folos.
In continuare vom folosi limbajul de programare Turbo Pascal pentru generarea fisierelor script.
Ca prima aplicatie vom genera un fisier script cu denumirea patrat.scr ce va genera secventa de comenzi necesare construirii unui patrat cu o anumita dimensiune a laturii si a coordonatelor punctului de inserare.
Listingul acestui program este:
Const latura=120.25; xColt=25.25; yColt=25.25;
Var Patrat:Text;
BEGIN
Assign(Patrat,'C:PROGRA~1 AUTOCA~1Patrat.scr');
Rewrite(Patrat);
Writeln(Patrat,'Line');
Writeln(Patrat,xColt:4:2,',',yColt:4:2);
Writeln(Patrat,'@',latura:6:2,'<0');
Writeln(Patrat,'@',latura:6:2,'<90');
Writeln(Patrat,'@',latura:6:2,'<180 C');
Close(Patrat);
END.
In linia a programului se inchide fisierul text creat anterior iar linia incheie programul pascal.
La prima vedere lucrurile par complicate pentru cei mai putin familiarizati cu limbajul Pascal.
Daca, spre exemplu, "comentam" linia a programului,
Writeln(Patrat,'@',latura:6:2,'<0');
putem spune:
scrie pe linie noua, in fisierul intitulat patrat, @, urmat de: valoarea pentru latura (scrisa pe sase campuri, dintre care 2 dupa virgula) si de <0.
Astfel linia a treia a fisierului patrat.scr are continutul "@120.25<0", ceea ce va determina in AutoCAD constructia unei linii din punctul anterior (@) in coordonate polare (<) cu lungimea de 125.25 si unghi de 0 grade.
Intr-un alt exemplu ne propunem a realiza un program pentru generarea unui fisier script ce va duce la constructia suprafetei din figura 4.6, atunci cand sunt specificate dimensiunile acesteia.
Constructia figurii geometrice din figura 4.6, pentru orice dimensiuni ale acesteia, presupune calculul coordonatelor unor puncte caracteristice.
Constructia plana ce va duce la reprezentarea spatiala din figura 4.6 este data in figura 4.7.
Aceasta depinde de lungimile l1, l2 si diametrul d avand in componenta sa 4 polilinii, si anume:
prima ce uneste punctele P1, P2 si P3,
a doua ce uneste punctele P6, P5, P4 si este racordata in P5 cu o raza egala cu diametrul d al tubului,
a treia si a patra polilinie sunt semicercuri cu centrul in P0, respectiv P9, de diametrul d.
Coordonatelor punctelor P0 - P10 sunt date de relatiile:
Dupa realizarea constructiei plane, se
vor roti spatial semicercurile cu centrele in P0 si P9
cu comanda ROTATE3D, in jurul axelor definite de punctele
P6 - P1, respectiv P3 - P4.
Pentru localizarea celor doua semicercuri se folosesc punctele P7 si P8. Primul semicerc se va roti cu un unghi de 90 iar al doilea semicerc se va roti cu un unghi de 270
Suprafata se va obtine cu comanda EDGESURF, selectand in ordine: semicercul cu centrul in P0, polilinia P1 - P3, semicercul cu centrul in P9 si polilinia P6 - P4.
Pentru selectia celor patru frontiere ce definesc suprafata, se folosesc punctele P0, P2, P9 si respectiv P10.
Programul in limbaj Pascal care va realiza fisierul script ce va duce la constructia acestei suprafete este:
Program Jumatate_Tub;
Uses Crt;
Const
l1=200.0; l2=500.0; d=30.0;
Var
XP0,yP0,xP1,yP1,xP2,yP2,xP3,yP3,xP4,yP4,xP5,
yP5,xP6,yP6,xP7,yP7,xP8,yP8,xP9,yP9,xP10,yP10,
xWinJos,yWinJos,xWinSus,yWinSus:Real;
Fis:Text;
BEGIN
xP0:=0; yP0:=0;
xP1:=xP0; yP1:=d/2;
xP2:=l1-d/2; yP2:=yP1;
xP3:=xP2; yP3:=l2;
xP4:=xP3+d; yP4:=yP3;
xP5:=l1+d/2; yP5:=-d/2;
xP6:=xP1; yP6:=yP5;
xP7:=d/2; yP7:=0;
xP8:=l1; yP8:=yP3+d/2;
xP9:=xP8; yP9:=yP3;
xP10:=xP2; yP10:=yP5;
xWinJos:=-d; yWinJos:=-d;
xWinSus:=l1+2*d; yWinSus:=l2+2*d;
Assign(Fis,'C:PROGRA~1AUTOCA~1
Jumatate.scr');
Rewrite(Fis);
Writeln(Fis,'Zoom W');
Writeln(Fis,xWinJos:3:3,',',yWinJos:3:3);
Writeln(Fis,xWinSus:3:3,',',yWinSus:3:3);
Writeln(Fis,'Pline ',xP1:3:3,',',yP1:3:3);
Writeln(Fis,'W 0.5 0.5');
Writeln(Fis,xP2:3:3,',',yP2:3:3);
Writeln(Fis,xP3:3:3,',',yP3:3:3);
Writeln(Fis);
Writeln(Fis,'Pline ',xP6:3:3,',',yP6:3:3);
Writeln(Fis,xP5:3:3,',',yP5:3:3);
Writeln(Fis,xP4:3:3,',',yP4:3:3);
Writeln(Fis);
Writeln(Fis,'Fillet R ',d:3:3);
Writeln(Fis,'Fillet P ',xP5:3:3,',',yP5:3:3);
Dupa rularea programului, in directorul C:Program FilesAutoCAD2002 va fi creat fisierul Jumatate.scr cu urmatorul continut:
Zoom W
Pline 0.000,15.000
W 0.5 0.5
Pline 0.000,-15.000
Fillet R 30.000
Fillet P 215.000,-15.000
Pline 0.000,-15.000 A CE 0,0 A 180
Pline 215.000,500.000 A CE 200.000,500.000 A 180
Rotate3D 15.000,0.000 Y 0,0 90
Rotate3D 200.000,515.000 X 185.000,500.000 270
SurfTab1 6 SurfTab2 40
EdgeSurf 0,0 185.000,15.000
Vpoint 1,1,1 Hide
Programul poate fi rulat si pentru alte valori ale dimensiunilor constructiei acestei suprafete, fara nici o modificare de program, atribuind noi valori constantelor l1, l2 si d.
Utilitatea acestui program este evidenta atunci cand avem de generat multe astfel de suprafete, cu dimensiuni si cu densitati de suprafata diferite. Acestea pot constitui elemente de constructie intr-un desen complex, programul apelandu-se de cate ori avem nevoie de noi elemente de construit.
Programul se poate completa cu instructiunile de constructie a partii superioare, rezultand astfel un element tubular de constructie.
Aceste exemple au fost realizate, in primul rand, pentru a exemplifica modalitatea de generare a fisierelor script cu un program de calcul, dar si pentru a arata utilitatea lor in cazul in care la unele constructii geometrice multi pasi sunt asemanatori si se pot crea automatisme de generare.
Copyright © 2024 - Toate drepturile rezervate