Sunteți pe pagina 1din 7

CURS 1

UTILIZAREA FIIERELOR SCRIPT N PROIECTARE


1.1. 1.2. 1.3. 1.4. CREAREA I SALVAREA FIIERELOR SCRIPT RULAREA FIIERELOR SCRIPT I COMENZI SPECIFICE GENERAREA FIIERELOR SCRIPT CU LIMBAJE DE PROGRAMARE APLICAII

n proiectare majoritatea operaiilor sunt simple i repetitive, lucru ce duce de cele mai multe ori la o stare de insatisfacie i la instalarea oboselii. Multe comenzi simple sau secvene de comenzi pot fi automatizate cu ajutorul fiierelor script, a macrourilor de meniuri sau cu ajutorul expresiilor AutoLisp. Un fiier script este un fiier cu extensia .scr i conine o secven de comenzi AutoCAD sau expresii AutoLisp, ce poate fi apelat ori de cte ori ntr-un desen este nevoie de el. Fiierele script au denumire proprie i se pot executa cu comanda AutoCAD SCRIPT. Vor fi afiate ntr-o fereastr toate fiierele cu extensia .scr, iar dup alegerea denumirii acestuia, se execut pe rnd comenzile coninute n el.

1.1. CREAREA I SALVAREA FIIERELOR SCRIPT


Un fiier script este o copie a comenzilor AutoCAD ce sunt scrise de la tastatur. Astfel pentru desenarea unui ptrat cu latura de 100 i colul stnga jos n punctul (10,10) n AutoCAD vom scrie i vom rspunde la urmtorul 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

Fiierul script ce va duce la construcia aceluiai ptrat arat astfel:


Line 10,10 110,110 10,110 c

Observm c pe o linie se afl o comand sau rspunsul la un dialog al comenzii. Deci, cu alte cuvinte, pe o linie avem dialogul pn la apsarea tastei Enter. Pentru c tasta Space este similar cu tasta Enter, mai puin atunci cnd editm texte, putem scrie un fiier script i pe o linie, fiecare spaiu liber fiind similar apsrii tastei Enter. Fiierul script de mai sus, rescris n acest mod, este:
Line 10,10 110,110, 10,110 c

La editarea fiierelor script putem folosi orice editor de text care poate salva n format ASCII. Printre astfel de editoare de text putem enumera comenzile Dos COPY i EDIT, editorul de text din TurboPascal, editorul utilitarului Norton Commander etc. n cazul folosirii procesoarelor de text, la salvare se folosete opiunea Save As i mai apoi MSDOS format. 1/7

Pentru a edita un fiier script nu este nevoie s prsim AutoCAD-ul ci putem iei temporar n sistemul de operare DOS cu comanda SHell. Astfel, pentru a crea i salva cu denumirea patrat.scr exemplul anterior, procedm n felul urmtor n cazul folosirii comenzii COPY:
Comand:Shell OS Command: Copy con patrat.scr Line 10,10 110,110, 10,110 c

Se tasteaz F6 sau ^Z (fig. 1.1)


Fig. 1.1. Fereastr DOS.

n cazul folosirii editorului EDIT din DOS se procedeaz n mod analog pentru apelarea utilitarului:
Comand:Shell OS Command: EDIT

Fig. 1.2. Fereastra Edit.

Dup apariia editorului de text (fig. 1.2) se scriu secvenele de comenzi, iar n final se salveaz fiierul (Save As) cu denumirea patrat.scr. Este de preferat a salva fiierul n directorul AutoCAD (C:\Program Files\AutoCAD 2002\).

1.2. RULAREA FIIERELOR SCRIPT I COMENZI SPECIFICE


Rularea unui fiier script se poate face n orice faz a editrii acestuia, cu condiia ca el s fie salvat. n linia de comand se tasteaz SCRIPT i apare o caset de dialog cu toate fiierele script. Se selecteaz numele fiierului ce intereseaz, lucru ce duce la execuia succesiunilor de comenzi AutoCAD ce se afl n acest fiier. 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 urmtoarea 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 n directorul AutoCAD fiierul creat anterior folosind opiunea Save AS i vom scrie denumirea indi7200.scr. Vom nchide fereastra editorului i n linia de comand AutoCAD vom tasta SCRIPT. Va aprea csua de dialog din figura 1.3 i vom selecta denumirea fiierului salvat anterior. 2/7

Fig. 1.3. Caseta de dialog Script.

Imediat fiierul va fi executat i va rezulta construcia din figura 1.4.

Fig. 1.4. Indicator pentru desenul tehnic.

Indicatorul a fost poziionat cu colul dreapta jos n punctul de coordonate (10,10). Acest fiier se poate apela n orice desen AutoCAD, lucru ce va duce la construcia indicatorului din figura 1.4. Acest indicator a fost gndit pentru un format A4, dar se poate repoziiona uor n cazul folosirii altor formate de desen. Fiierele script au unele comenzi specifice. Acestea sunt: - Resume permite continuarea unui fiier script oprit din execuie; - Delay ntrerupe din execuie comenzile din interiorul fiierului cu o pauz msurat n miimi de secund (Delay 1000 1 secund): - TextScr, GraphScr comut ecranul n mod text i respectiv n mod grafic; - Rscript reia fiierul script la infinit. ntreruperea se face acionnd tasta Black Space.

1.3. GENERAREA FIIERELOR SCRIPT CU LIMBAJE DE PROGRAMARE


Adevratul ajutor al unui fiier script este atunci cnd el se poate edita i modifica uor. n acest sens, un limbaj de programare este de un real folos. n continuare vom folosi limbajul de programare Turbo Pascal pentru generarea fiierelor script. Ca prim aplicaie vom genera un fiier script cu denumirea patrat.scr ce va genera secvena de comenzi necesare construirii unui ptrat cu o anumit dimensiune a laturii i a coordonatelor punctului de inserare. Listingul acestui program este:
{1} Const latura=120.25; xColt=25.25; yColt=25.25; {2} Var Patrat:Text; {3}BEGIN {4} Assign(Patrat,'C:\PROGRA~1\AUTOCA~1\Patrat.scr'); {5} Rewrite(Patrat); {6} Writeln(Patrat,'Line'); {7} Writeln(Patrat,xColt:4:2,',',yColt:4:2); {8} Writeln(Patrat,'@',latura:6:2,'<0'); {9} Writeln(Patrat,'@',latura:6:2,'<90'); {10} Writeln(Patrat,'@',latura:6:2,'<180 C'); {11} Close(Patrat); {12}END.

n linia {1} a programului sau definit drept constante dimensiunile laturii ptratului i a coordonatelor punctului de nceput a construciei ptratului, ca n figura 1.5. n linia {4} a programului s-a realizat corespondena dintre denumirea patrat i denumirea identificatorului extern Patrat.scr, iar n linia {5} a programului se d comanda de deschidere a unui fiier nou n vederea crerii acestuia. n liniile {6} - {10} se dau comenzile AutoCAD ce duc la construcia ptratului. Fiierul patrat.scr aflat n directorul C:\Program Files\AutoCAD2002\ va avea urmtoarele linii: 3/7

Y latura

Line 25.25,25.25 @120.25<0 @120.25<90 @120.25<180 C

n linia {11} a programului se nchide fiierul text creat anterior iar linia {12} ncheie programul pascal. La prima vedere lucrurile par complicate pentru cei mai puin Fig. 1.5. Construcia ptratului. familiarizai cu limbajul Pascal. Dac, spre exemplu, comentm linia {8} a programului, putem spune: scrie pe linie nou, n fiierul intitulat patrat, @, urmat de: valoarea pentru latur (scris pe ase cmpuri, dintre care 2 dup virgul) i de <0. Astfel linia a treia a fiierului patrat.scr are coninutul @120.25<0, ceea ce va determina n AutoCAD construcia unei linii din punctul anterior (@) n coordonate polare (<) cu lungimea de 125.25 i unghi de 0 grade. ntr-un alt exemplu ne propunem a realiza un program pentru generarea unui fiier script ce va duce la construcia suprafeei din figura 1.6, atunci cnd sunt specificate dimensiunile acesteia. Construcia figurii geometrice din figura 1.6, pentru orice dimensiuni ale acesteia, presupune calculul coordonatelor unor puncte caracteristice. Construcia plan ce va duce la reprezentarea spaial din figura 1.6 este dat n figura 1.7.
O (xColt, yColt) X
Y P3 P8 P9 P4

l2

P1 d P0 P6 P7

P2 P10 l1 X P5

Fig. 1.6. Construcie geometric spaial.

Fig. 1.7. Construcie geometric plan.

Aceasta depinde de lungimile l1, l2 i diametrul d avnd n componena sa 4 polilinii, i anume: prima ce unete punctele P1, P2 i P3, a doua ce unete punctele P6, P5, P4 i este racordat n P5 cu o raz egal cu diametrul d al tubului, a treia i a patra polilinie sunt semicercuri cu centrul n P0, respectiv P9, de diametrul d. Coordonatelor punctelor P0 P10 sunt date de relaiile:

xP0 = 0; xP3 = xP2 ; xP6 = xP ; 1 xP9 = xP8 ;

yP0 = 0; yP3 = l2 ; yP6 = yP5 ; yP9 = yP3 ;

xP = xP0 ; 1 xP4 = xP3 + d ; xP7 = d / 2; xP = xP2 ; 10

yP = d / 2; xP2 = l1 d / 2; 1 yP4 = yP3 ; xP5 = l1 + d / 2; yP7 = yP0 ; xP8 = l1; yP = yP5; 10

yP2 = yP ; 1 yP5 = d / 2; yP8 = yP3 + d / 2;

(1.1)

Dup realizarea construciei plane, se vor roti spaial semicercurile cu centrele n P0 i P9 cu comanda ROTATE3D, n jurul axelor definite de punctele P6 P1, respectiv P3 P4. Pentru localizarea celor dou semicercuri se folosesc punctele P7 i P8. Primul semicerc se va roti cu un unghi de 90 iar al doilea semicerc se va roti cu un unghi de 270. Suprafaa se va obine cu comanda EDGESURF, selectnd n ordine: semicercul cu centrul n P0, polilinia P1 P3, semicercul cu centrul n P9 i polilinia P6 P4.
4/7

Pentru selecia celor patru frontiere ce definesc suprafaa, se folosesc punctele P0, P2, P9 i respectiv P10. Programul n limbaj Pascal care va realiza fiierul script ce va duce la construcia acestei suprafee 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; xP2:=l1-d/2; xP4:=xP3+d; xP6:=xP1; xP8:=l1; xP9:=xP8; xWinJos:=-d;

yP0:=0; xP1:=xP0; yP1:=d/2; yP2:=yP1; xP3:=xP2; yP3:=l2; yP4:=yP3; xP5:=l1+d/2; yP5:=-d/2; yP6:=yP5; xP7:=d/2; yP7:=0; yP8:=yP3+d/2; yP9:=yP3; xP10:=xP2; yP10:=yP5; yWinJos:=-d; xWinSus:=l1+2*d; yWinSus:=l2+2*d;

Assign(Fis,'C:\PROGRA~1\AUTOCA~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); Write(Fis,'Pline ',xP6:3:3,',',yP6:3:3): Writeln(Fis' A CE 0,0 A 180 '); Write(Fis,'Pline ',xP4:3:3,',',yP4:3:3); Writeln(Fis' A CE ',xP9:3:3,',',yP9:3:3,' A 180 '); Writeln(Fis,'Rotate3D ',xP7:3:3,',',yP7:3:3,' Y 0,0 90'); Write(Fis,'Rotate3D ',xP8:3:3,',',yP8:3:3); Writeln(Fis,' X ',xP3:3:3,',',yP3:3:3,' 270'); Writeln(Fis,'SurfTab1 6 SurfTab2 40'); Writeln(Fis,'EdgeSurf 0,0 ',xP2:3:3,',',yP2:3:3); Write(Fis,xP9:3:3,',',yP9:3:3); Writeln(Fis,' ',xP10:3:3,',',yP10:3:3); Writeln(Fis,'Vpoint 1,1,1 Hide'); Close(Fis); END.

Programul ncepe cu declararea constantelor i variabilelor. Constatele sunt l1, l2 i d crora li se atribuie valori (l1 = 200; l2 = 500; d = 30). Variabilele sunt: coordonatele punctelor P0 P10, coordonatele ferestrei de vizualizare (xWinJos, yWinJos, xWinSus, yWinSus) i denumirea Fis atribuit fiierului de tip text ce va conine instruciunile AutoCAD de desenare. Programul principal ncepe (BEGIN) cu calculul coordonatelor punctelor P0 P10 pe baza formulelor (1.1) determinate anterior i cu calculul coordonatelor unei ferestre de vizualizare.

5/7

Se asociaz (Assign) denumirea identificatorului de program Fis cu denumirea identificatorului extern al fiierului Jumatate.scr. n directorul AutoCAD 2002 ('C:\PROGRA~1\ AUTOCA~1\') se deschide un fiier nou (Rewrite) cu denumirea Jumatate.scr, oricare alt fiier cu aceeai denumire fiind ters. n continuare se scriu n fiierul Fis urmtoarele: Fereastra de vizualizare (Zoom Window) i coordonatele colurilor stnga jos respectiv stnga sus. Construcia cu Pline a primei polilinii ce unete punctele P1, P2 i P3, polilinia avnd o grosime de 0,5. Construcia celei de a doua polilinii ce unete punctele P6, P5 i P4. Definirea razei de racordare (Fillet). Racordarea ultimei polilinii, aceasta fiind localizat cu ajutorul punctului P5 (la dialogul AutoCAD: Select first object or [Polyline/Radius/ Trim]: s-a rspuns cu p iar la dialogul Select 2D polyline: s-au introdus coordonatele punctului P5(xP5, yP5) separate de o virgul). Construcia semicercurilor cu centrele n punctele P0 i P9 ce pornesc din punctele P6 respectiv P4 i includ un unghi de 180. Rotirea cu 90 n jurul axei OY (Rotate3D) a semicercului cu centrul n punctul P0 (pentru localizarea entitii, la dialogul AutoCAD Select Object, s-a rspuns cu introducerea coordonatelor punctului P7, separate ntre ele prin virgul). Rotirea cu 270 (Rotate3D) a semicercului cu centrul n punctul P9 n jurul unei axe paralel cu axa OX i cu captul n punctul P3 (pentru localizarea entitii, la dialogul AutoCAD Select Object, s-a rspuns cu introducerea coordonatelor punctului P8, separate ntre ele prin virgul). Atribuirea de valori celor dou variabile de sistem SurfTab1 i SurfTab2; Realizarea suprafeei cu ajutorul comenzii EdgeSurf prin selectarea celor patru frontiere. S-au folosind ca puncte de selectare, n ordine, P0, P2, P9 i P10. Punctele aparinnd celor patru frontiere sunt date prin cele dou coordonate, separate ntre ele prin virgul. Vizualizarea suprafeei din punctul de coordonate 1,1,1 folosind comanda VPOINT. nchiderea fiierului (Close) i n final ncheierea programului (END). Dup rularea programului, n directorul C:\Program Files\AutoCAD2002 va fi creat fiierul Jumatate.scr cu urmtorul coninut:
Zoom W -30.000,-30.000 260.000,560.000 Pline 0.000,15.000 W 0.5 0.5 185.000,15.000 185.000,500.000 Pline 0.000,-15.000 215.000,-15.000 215.000,500.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 200.000,500.000 107.500,-15.000 Vpoint 1,1,1 Hide

Programul poate fi rulat i pentru alte valori ale dimensiunilor construciei acestei suprafee, fr nici o modificare de program, atribuind noi valori constantelor l1, l2 i d. 6/7

Utilitatea acestui program este evident atunci cnd avem de generat multe astfel de suprafee, cu dimensiuni i cu densiti de suprafa diferite. Acestea pot constitui elemente de construcie ntr-un desen complex, programul apelndu-se de cte ori avem nevoie de noi elemente de construit. Programul se poate completa cu instruciunile de construcie a prii superioare, rezultnd astfel un element tubular de construcie. Aceste exemple au fost realizate, n primul rnd, pentru a exemplifica modalitatea de generare a fiierelor script cu un program de calcul, dar i pentru a arta utilitatea lor n cazul n care la unele construcii geometrice muli pai sunt asemntori i se pot crea automatisme de generare.

7/7

S-ar putea să vă placă și