Documente Academic
Documente Profesional
Documente Cultură
1. I
. I I
I I /
i !
I /.t, i!
Fig. 2-2
,
\ 1
1
2
f=:t i 3/1
'.' I ! +-- I I
'
1
4
1;1
1 I I
I I I 1
I I I I 1
'A' I i i i I
,,-' i i
\ !1" I
..
Fig. 2-3
vedem acum cum putem
folosi modurile OSNAP n con-
30. de la wire-
frame-ul paralelipipedic de-
senat mai devreme, pe care am
trasat trei diagonale ale
asa cum se vede n fig. 2-2.
presupunem activat ca
permanent numai modul
PERpendicular.
comanda UNE, plecati din ENOpoint-u1 marcat cu 1, iar apoi
succesiv punctele 2, 3, 4 ca n fig. 2-3. o cu ale
componente sunt succesiv perpendiculare pe cte o Procesul poate continua ...
Din punct de vedere al lucrului cu AutoCAO, este important
punctele caracteristice ale pe care le putem atinge folosind modurile OS NAP
nu trebuie se afle n planul curent XOY, ci pot fi oriunde n Acest
lucru se vede foarte bine n imaginile de mai sus, observnd UCS-ului.
I i\
I
/-1'"\
/ l' \ L4
I I \
i I I \
I -f- '1
II
S'/
I Dispunnd de astfel de mijloace, vedem cum se
teorema celor trei perpendiculare. n fig. 2-4
I vedem patru linii (L1, L2, L3 L4). L1 este per-
I
, pendicular pe planul P, L2 se n planul P trece
prin piciorul perpendicularei L 1, iar L3 se de
I asemenea, in planul P este pe L2.
Cele sunt semnalate n
prin cu punct 1 2 Nu o
deranjeze faptul am o prezentare n perspec-
nu E mai
Teorema L4 este pe L3.
Folosind AutoCAD acest lucru.
Fig. 2--4
ce am dus L 1, L2 L3, L4 prin unirea
capetelor necoincidente ale liniilor L 1 L2. Punem
apoi UCS-ul pe liniile L3 L4 (cu UCS /3p) punem cota ntre aceste
linii. siguri unghiul este fix 90, indiferent de nivelul de precizie pe care
impune (folosind comanda UNITS).
Este important metoda de lucru: facem iar apoi
ce avem de vom face mereu.
Filtre de coordonate
ori de cte ori ni se cere indicarea unui punct geometric, putem intro-
duce unul dintre filtrele de coordonate:
.x .xy
.y .yz
.z .zx
observa prefixul "punct" din dintre cele filtre.
Aceste filtre pot fi foarte utile n contextul 30. Astfel, putem trasa foarte
comod linii perpendiculare pe plane, cum este linia L 1 n figura de mai sus.
Dar vedem mai exact cum stau lucrurile. n fig. 2-5 avem de cobort din punctul
A perpendiculara pe planul P. S-ar mai putea spune si "avem de punctul A',
piciorul perpendicularei din A pe planul P".
Pentru a realiza vom parcurge o de acum
n multe alte exemple, inclusiv pentru determinarea pe diverse plane, deci ar
fi foarte important o v-o
Procedura este A
1/ Punem UCS-ul n planul P
2/ Parcurgem dialogul:
Command: line
Specify first point: punctul A din
Specify next po1nt ar [Unda]: .xy
of @
Fig. 2-5
- 16-
(need Z): cu butonul-stnga-mouse undeva n
Specify next point ar (Unda]: Enter (am trasat dreapta AA ' )
ce am pus UCS-ul pe planul pe care trebuie coborm per-
pendiculara, am dat comanda LINE am selectat punctul A (care nu acestui
plan). Ni se cere altiniei (care va fi punctul A'), moment n
care am introdus filtrul .xy. Aceasta face ni se care sunt coordonatele x yale
punctului vizat. la solicitare prin ,,@" dorim ca aceste
prime coordonate vrem fie luate de la punctul anterior (adic punctul A din
nu-i Mai departe ni se cere spunem care este coordonata
Z. in loc de a da o valoare (cum ar fi 33), ori de a un punct de la care se ia
(cum ar fi 123,45,67), noi cu mouse-ul "prin aer", cum se
vede. Prin de fapt, un punct din planul XOY, un punct
a Z este O (zero). La fel de bine am fi putut scriem 0,
Cu asta normala M' este deja cu Enter din comanda LINE.
n fapt, totul decurge mult mai simplu dect n vorbe.
aici lucrurile sunt voit clare, n ne ntlnim cu mai obscure. De
exemplu, dintr-un al unui paralelipiped dorim coborm perpendiculara pe un plan
exprimat printr-un cerc care este orientat vizibil aiurea. Nici o comanda
UCS, alegem 08 (sau E) cercul: gata e, am pus planul XOY pe cerc!
De acum n-avem dect parcurgem al doilea pas al procedurii: dialogul. in final vom
da comanda UCS / P am revenit pe cu acum avem
perpendiculara n desen!
Pentru a automatiza crea un buton in oricare dintre
barele de unelte (toolbars) cu care curent. butonul dreapta mouse
pe oricare dintre aceste bare Customize, vi se fereastra
Toolbars care barele active (bifate). din nou Customize n fe-
reastra Customize Toolbars, Custom. icon-ul gol n bara de
unelte de unde nceput chestia, apoi mouse-ul pe el a fe-
reastra Customize Toolbars butonul dreapta mouse. Apare fereastra Button
Properties. un nume la Name, iar jos la Macro exact aceste caractere:
"C"CLINE;\. xy;@;O;; cu nu (sunt 19 caractere). Primele patru sunt de
fapt gata scrise. nu-i asa? apoi butonul Edit ceva per-
sonal, astfel nct icon-ul aceea. de exemplu "P rof' , de la
Projection. Save Close, apoi Apply, iesiti si Close la ferestrele deschise.
Gata e, un nou buton, n care veti desenul pe care
Acum, pentru a face o pe planul curent XOY, acest buton, selec-
punctul din imediat va perpendiculara din acel punct pe XOY.
caz este cel al unei drepte cu
un plan. imaginea din fig. 2-6. Dreapta L 1
undeva planul P. dreapta planul
sunt infinite, atunci doar n cazul n care acestea sunt
paralele nu se ntlnesc. Cum AutoCAD permite o foarte
de valori numerice (raportul numeric ntre va-
loarea este de cca. 30 de trilioane),
L.-----
F1
-
g
-. 2--6------' este clar acel punct de va fi
') n capitolul 6, la vi se prezinfij proceduri!, dar pentru AutoCAO 2004.
I [\<'? I Tot ceyebuie facem pen:
I i \ i \ tru a acel punct este sa
I
I \\ I \ mai nti dreptei
l--+------ I L 1 pe plan, se va
I K L-.J intlni cu dreapta L 1 chiar n
I ,,-<? \ ___ --------I punctul cele
I I drepte nu sunt concurente
1 \1 . doar sunt paralele.
_____ F._ig_._2_-_7..., Ca dreptei
<',? I L 1, vom alege puncte pe L 1
i vom picioarele perpendicularelor coborte din
I i aceste puncte pe plan. facem aceste lucruri. Putem
f:r I intlni distincte din punct de vedere al
I lucrului cu AutoCAO. Acestea sunt ilustrate n fig. 2-7.
L'r. 'I n stnga, punctele alese pe L 1 (aici capetele segmen-
<i? I tului de L 1), se de o parte de alta a plan-
Fig. 2-8 ului P, n timp ce in dreapta sunt de parte.
j Pentru cazul din stnga nu sunt probleme, nu-i
de ori procedura (vezi fig.
2-5), unim punctele avem punctul de
la acestor drepte (concurente!).
Pentru cazul din dreapta, mai avem ceva de
UCS-ul pe cele perpendiculare ca
n fig. apoi comanda FILLET, raza de
racordare pe O (zero) cele drepte (L 1
ei). Punctul in care acestea se ntlnesc
'--__ _______ ---.J este punctul
Folosind aceste putem acum
o determinarea perpendicularei comune a drepte dis-
juncte sau determinarea intre drepte disjuncte. Este lucru, spus n
feluri.
n fig. 2-9, prin L 1 L2 sunt notate cele drepte disjuncte. Cnd vi se pro-
blema nu nimic altceva dect aceste drepte. Ce este important este
c aceste drepte nu se ntlnesc.
Rezolvarea - tot - este
- se alege un punct A pe una dintre drepte (aici, pe L2)
- se duce prin A o la
- dreptele care se ntlnesc n punctul A sunt concurente, deci un plan P
- se alege un punct B pe dreapta care nu este n planul P (aici pe L 1)
- se o din B pe planul P si se B'
- prin punctul B' se duce o la dreapta din (aici L 1)
- paralela este cu (cu L2) n punctul C
- prin punctul C se duce o la BS' - aceasta este perpendlculara
folosind cu
metodele alegnd drepte disjuncte oarecare. Este de preferat
nti un paralelipiped ceva, pentru ca acele drepte oarecare
- 17-
automate n AutoCAD
Ne putem ntreba AutoCAD nu are vreo ceva, prin care putem
crea direct unei pe un plan. Ne punem ntrebare pentru am
observat - cei mai perspicace dintre noi - AutoCAO ceva despre
Astfel, avem un cerc pe desen punem UCS-ul undeva n parte, uti-
lizarea comenzii BHATCH cu selectarea a cercului ("Select Objects" n loc de
I "Pick Point") produce ha,urarea
! /l I cercului pe planul curent XOY.
I C / ) in fig. 2-10 se vede acest lucru, att pe
: '- .( / un cerc aflat ntr-un plan parale! cu planul
I
\.../ XOY curent ct a unuia aflat ntr-un plan
'1 nepar!ilel: ar fi umbrele cercurilor pe
. plan.
1 \\ I O n care AutoCAO pare
I ar ceva despre este n
I \-1 __ fig. un. dreptunghi ABCO aflat
I L...:::::' =v undeva In Incepem trasarea unei
! I polilinii (cu comanda PLINE sau alias-ul PL,
Fig. 2-10 la fel de bine) ncepnd din punctul 1
ducndu-ne apoi n punctul 2. Mai departe,
a trasarea poliliniei, facem ceva
nestandard: (cu ENOpoint) punc-
tul A de pe dreptunghiul din Vedem
. polilinia este tot n planul XOY
curent, ajungnd n punctul 3! Mai departe,
SCO ale
dreptunghiului din polilinia este
miraculos tot n planul UCS
curent, prin punctele 4, 5 respectiv, 6,
am de-a
dreptul punctele 3, 4, 5 6, care sunt
punctelor A, S, C, O din
tot ce se
n loc de a ncepe polilinia
L.......------:F:-:-ig-. -2--1-1--------' din punctul 1, o din punctul A!
spunem noi ce se polilinia
pe care o cu comanda PLINE este o polilinie 20. Ea se va continua n planul
paralel cu planul XOY curent, la fel cum s-ar petrece cu un cerc al centru ar fi
ales intr-un punct care nu se n planul XOY curent. Ambele sunt 20, asa
cum se la nceputul acestui capitol.
tot a venit vorba, poliliniile 30 se cu comanda 3DPOLY, pot fi for-
mate numai din segmente de prin editare cu PEDIT, pot fi convertite n curbe
spline Dar despre asta vom mai discuta n capitolele
O categorie de comenzi care are cu este TRIMlEXTEND.
ambele comenzi folosesc o muchie (edge) pentru a fi aplicate. La TRIM
aceasta se "muchie de (cutting edge), iar la EXTEND se "fron-
(boundary edge). ntr-o muchie (sau ansamblu de
muchii) iar apoi, ntr-o a doua capete de care sufere
la muchiile Utilizarea lor n context 20 este
nu are rost despre ea. faptul n cea de-a doua
ni se propun care sunt importante mai ales n 30,
in cea de-a doua n zona de comenzi avem:
Select object to trim (sau extend) or [Project/Edge/Undo]:
Putem introduce P, Esau U ca una dintre aceste
introducem P ni se variantele:
Enter a projection option [None/Ucs/View] <Ucs>:
introducem E, la ambele comenzi ni se variante:
Enter an implied edge extension mode [Extend/No extend] <No extend>:
n fine, introducem U, sigur ultima de
prin comanda
Legat de modelarea 30, textual, manualul de AutoCAD spune: (TRIM)
sau extinde (EXTEND) o entitate la orice entitate din 30,
de faptul se n plan sau unul paralel cu muchia de
dere. Folosind variabilele de sistem PROJMODE EDGEMODE alege una dintre cele
trei variante de pentru sau extindere: planul XOY al UCS-ului curent,
planul curent de vizualizare, sau 30 ca atare, aceasta din nefiind o proiectie. in
cazul de sau extindere 30 real (ultimul dintre cele trei), trebuie se
intersecteze cu frontierele n 30. cele nu se
atunci cnd facem TRIM sau EXTENO n planul XO Y al UCS-ului curent, pot
nu se taie sau se precis la limita de 30."
Ce deducem noi din toate aceste n primul rnd
unea E. modul de extindere este "No extend" (implicit), atunci, pentru ca
TRIM sau EXTEND efect trebuie ca muchia de cu lungimea ei
se cu cea in cazul "Extend", n schimb, are loc
I!
EXTEND
I /
1
11
\
II
--
TRIM
/---- \",
\'ijo-
i 3
U
extinderea muchiei nu se
1 I cu cea
In fig. 2-12 aveti toate
I
cazurile. De notat aici,
linia este muchia de
iar arcul este cel "operat".
Starea este cu
1, iar 2 3 sunt efectele,
I
r*:spectiv, cu extindere.
In toate cazurile am
I
1/\ incercat ambele
(\\ I capete ale arcului, si se vede
1
,: '\ \\, 1 2 \\ '3 I n cazurile 2, de
: ' \ \ \ I sus nu a putut fi operat. din
/ nu se ntlnea cu
I _....... Edgo-No..-. Edgo.-.., I muchia. in cazurile 3
LI se corect si sus!
Fig, 2-12
- 18-
vedem acum care este efectul diverselor variante pentru optiunea Pin
30. n fig. 2-13 sunt puse toate cazului cel mai intere-
sant pentru noi, anume P = UCS. Muchiile (edges) sunt notate, iar ce vor suferi
de sunt linia arcul din planul cu margini triunghiulare.
Marginile planetor sunt desenate doar cu scop ilustrativ. intr-un caz real, tot ceea
ce sunt muchia de si entitatea care
Sigur, care este amplasarea UCS-ului. in rest, celelalte prezente n
desenul la care mai mult dect Ca
practic, ne la muchiei de pe planul curent XOV ne
.-_______________________ ---, inchipuim planul
perpendicular pe
XOV care
muchia
ei. Acesta este
planul imaginar
care va aplica
de
iere/extindere. n
Geometria Des-
acesta
Proiect" ucs
Stare
I
numele de
plan proiectant.
I
I Extinznd la cazul
i Prtlj8G1- ucs TRIM 1 n care muchia nu
! i
: '\ : \ :' .: " !: I plan proi.ectant
1. !. / i ,:. : // i 1. ) ! I / \';'" "N" I
i
.., vom avea In ve-
I '. I _ ,1 dere o
: I . I I
I
<J .. <.,/>
! Sta .. ",itial I atent la fig.
LI 2-14 acest
Projec! ucs
Fig. 2-13 lucru. Drept mu-
chie de
extindere este
ales arcul din pia-
nul cu margini tri-
unghiulare. Enti-
I tatea se extinde
I sau este de
I
curba din
I
proiectia muchiei
pe planul curent
XOV. enti-
Fig, 2-14 tatea nu se in
I
I
planul XOV (cum se in cazul studiat), ea va fi sau tot la
pnza din reprezentarea
ntrebare pe care ne-o punem este: dar P are valorile
View sau None? n aceste cazuri ce se Ei bine, atunci cnd este
View, lucrurile se petrec exact ca si cnd am lucra n 2D cu linii aflate pe ecranul moni-
torului! sau extinderile au loc a se lua n vreun fel n considerare adncimea
la care se pe la ecran.
TRIM
=V.ew
li
'1
EXTEND
Project = v_
Stare initiala
I '
, I
__ --.J i
FIg. 2-15
in fig. 2-15 se vede bine acest lucru. Muchia de linia se
in plane cu totul diferite, sunt disjuncte. Cu toate astea, indiferent de
UCS-ului, au loc strict la arcul pe care l vedem noi pe ecran
ca cnd acestea s-ar atinge. unghiul de privire, vedem aces-
tea, de fapt, nu sunt n contact.
n atunci cnd Peste None, nu vrem fie folosite
nici UCS-ul, nici ecranul pentru a face intreba, bun, cum se
este: se n 3D, asa cum ne dorim de atta vreme ...
n fig 2-16 un caz real. ce am trasat cele trei diagonale, am scurtat
dintre ele (cu BREAK) , ca fim siguri sunt concurente. Considernd una dintre ele
drept boundary edge facem extinderea celeilalte cu EXTEND.
EXTEND
project = Nene
- 19-
I
Ca o concluzie la tot ce s-a spus aici
despre TRil EXTEND, cazul in care
, sunt setate ca Project == UCS Edge == Extend
I este cel mai interesant pentru constructii liniare
1 (de fapt, aceste pot fi
! prin intermediul variabilelor asociate
'I! PROJIIODE EDGEIIODE, ale valori ar tre-
bui fie setate pe 1).
I cum s-ar rezolva problema perpendi-
I
cularei comune a drepte disjuncte
folosind comanda TRlII. in fig. 2-17 am reluat
cazul prezentat mai devreme n fig. 2-9. Tot ce
am a fost pun UCS-ul pe planul format
de dreapta L2 paralela la L 1, care am dat un TRlIl cu
pe care o avem este nodul (gordian) ...
Sunt multe n care astfel de se dovedesc salutare,
complicatii.
Calculator geometric n AutoCAD
o mai de lucru cu elemente geometrice este cea n care folosim
mijloace de calcul problemelor de geometrie. ncepnd cu AutoCAD Release
12, pachetUl indude un calculator geometric. Lumea acest lucru,
de calcul sunt destul de largi ne pot ajuta in multe cazuri, mai ales atunci cnd avem
de aflat sau de introdus puncte caracteristice pentru structuri
Pe calcule matematice etc.), acesta ne permite:
- calcularea unui vector intre puncte
- calcularea lungimii unui vector
- unui punct raportat la colimator
- ultimului punct specificat
- moduri OSNAP din AutoCAD
- conversie de puncte intre UCS WCS
- filtrarea componentelor X, V, Z ale unui vector
- rotirea unui punct in jurul unei axe
- unui punct de
- calcularea unei
- unei raze
- unui unghi
- calcularea unui vector normal
Calculatorul geometric poate fi invocat prin comanda CAL, direct pe prompterul
"Command:
u
, sau transparent, in timp ce este Se multe
comenzi pot fi folosite transparent (ZOOM, PAN, LAYER etc.), folosind prefixul apostrof.
Varianta este atunci cnd o a fost deja
trebuie unui punct care tocmai ni se cere.
Este chiar cazul din exemplul care
presupunem avem de trasat
cercul mic din fig. 2-18 respectnd anu-
mite Cercul de construit trebuie
centrul amplasat in raport cu
centrul cercului mare, iar raza lui
depinde de raza acestuia. Mai exact,
noul cerc trebuie centrul la
tatea dintre centrul cercului
Centrul cercului existent mare mijlocul liniei nclinate din partea
L __ =====---Fi-,g":'.:::2=_='8======::::...J de sus, iar raza trebuie fie cu
0.3 din raza cercului mare.
figura, parcurge cu dialog:
Conmand: CIRCLE
Specify center point for circle or [3P/2P/Ttr (tan tan radius)]: 'CAL
Expression: (MID+CEN)/2
Select entity for MID snap: linia
Select entity for CEN snap: cercul mare
Specify radius of circle or [Diameter]: 'CAL
Expression: O.3*RAD
Select circle, arc or polyline segment for RAD function: cercul mare
Atunci cnd ni s-au cerut centrul respectiv, raza, prin ,,'CAL" (patru caractere) am
invocat calculatorul geometric. Expresia pentru centru a precizat trebuie fie iden-
tificate un MIDpoint un CENter, iar cea pentru a implicat o (RAD).
Aceasta face ni se din desen de la care se ia
MIDpoint-ul, CENTer-ul sau RADius-ul, cum se vede foarte bine n dialog.
Este suficient de cteva ori aceste mijloace acomoda cu ele
foarte bine.
Nu vom putea explica aici toate (n AutoCAD acestea
sunt descrise pe 29 de pagini!), dar vom face destul ca punctele de intrare n
domeniu. acces on-line la n AutoCAD folosind F1 (Help) si
comanda CAL.
Pentru calcule directe folosi expresii de genul:
Conmand: CAL
Expression: RAZA=25. 32*(113. 5-78. 64) Enter
882.6552
Acum variabila nou RAZA are valoarea 882.6552. De notat trebuie
expresia cu Enterdeoarece blancul nu poate avea rol de terminator, fiind el
admis n expresii.
o folosi astfel:
Conmand: CIReLE
Specify center point for circle or [3P/2P/Ttr (tan tan radius)]: un punct
Specify radius of circle or [Diameter]: !RAZA
indicat astfel AutoCAD-ului ia raza din memorie, din variabila cu nume
anterior (Ia fel ca n AutoLlSP, pentru .. ).
Operatorii n expresii aritmetice sunt: + - * I A ( ). Este constanta pre-
PI.
Un punct sau un vector este notat prin componentele sale puse ntre paranteze
drepte []. De exemplu, [10,20,1OO} este un punct cu coordonatele x=1 O, y=20, z=1 00. Pot
fi omise zerourile. De exemplu, [20,30] sau [,,100} sunt puncte (vectori) valabile reprezen-
tnd [20,30,0) [0,0,100]. Coordonatele folosite pot fj carteziene, cilindrice sau sferice.
Componentele unui vector (punct) pot fi expresii, ca n exemplul: [2*(1.0+3.3),0.4-1.1,2*1.4}.
Expresiile vectoriale pot fi construite prin combinarea punctelor geometrice, vecto-
rilor, numerelor cu operatori: +. *' &. cteva expresii vectoriale:
A+[10,2O,3O} punctul la [10,20,30) de punctul A exis-
tent.
[a,b,e]+[x,y,z] vectorul (punctul) [a+x,b+y,c+z)
a*[x,y,z) vectorul (punctul) [a*x,a*y,a*z)
[a,b,e]*[x,y,z} produsul scalar al vectorilor [a,b,e] [x,y,z),
real dat de expresia ax+by+cz
[a,b,e)&(x,y,z] produsul vectorial al vectorilor [a,b,e) [x,y,z}, vec-
torul [(b*z)-(e*y),(e*x)-(a*z),(a*y)-(b*x)]
Unghiurile sunt considerate ca grade sexagesimale cu parte
"grade zecima!e
U
). minute secunde, sufixele d pentru
grade, ' pentru minute " pentru secunde. De exemplu, introduce 12d30'45".
unghiul e mai mic de un grad, Od n la toate sunt convertite la
grade zecimale.
crea variabile pe care le folosi apoi n alte expresii, cum a fost variabi-
la RAZA din exemplul de mai sus.
n expresii pot fi folosite numerice precum:
sin(unghi) = sinus
eos(unghi} = cosinus
tang(unghi) = tangenta
asin(real) = aresin
aeos(real) = arccos
atan(real) = arctg
In(real) = logaritm natural (baza e)
log (real) = logaritm zecimal (baza 10)
exp(real) = de e
exp10(real) = de 10
sqr(real) =
sqrt(real) = radical
abs(real) = valoare
round(real) = valoare la ntreg
trunc(real) = parte
r2d(unghi) = conversie radiani n grade
d2r(unghi) = conversie grade n radiani
pi = constanta PI
Pentru calculul unui vector, atunci cnd se dau puncte P1 P2 folosim func-
VEC si VEC1. Astfel, VEC(P1,P2) vectorul cu capetele n P1 si P2, iar VEC1(P1,P2)
- 20-
vectorul unitar (versorul) pe diredie. Dar cum folosim vectori? n exem-
plul de mai jos se un cerc cu 30 de pe directia de la centrul lui la centrul altu-
ia, ambele existente pe desen:
Comnand: HOrE
Select objects: cercul de mutat
Select objects: Enter (nu mat altceva)
Specify base pcint or displacement: 'cal
Expression: JO*vecl(cen.cen)
Select entity for CEN snap: din nou cercul de mutat
Select entity for CEN snap: ce14lolt cerc
Specify second pcint of displacement or <use first point as displacement>: Enter
Pentru a calcula lungimea unui vector folosi functia ABS, sub forma ABS(V), unde
Veste un vector.
folosi un punct indicat cu mouse-ul (CURsorul). Pentru asta utiliza
CUR. De exemplu. pentru a un punct aflat la 10,-20 de punctul pe care
l vom indica folosind mouse-ul vom
Expression: cur+[lO.-20.0]
sau, la fel de bine.
Expression: cur+l0*[1.-2J
Cnd ultimul punct geometric (anterior unei comenzi) ntr-o expre-
sie, cum semnul @.
Modurile OSNAP pot fi folosite bine-mersi, ca n primul exemplu, pentru a
puncte particulare ale Mai exact, folosi cunoscutele cuvinte magice:
END, INS, INT, M1D, CEN, NEA, NOD, aUA, PER TAN. la o cerere de expresie
CAL prin mid+(,101 un punct cu Y-ul mai mare cu 10 dect mijlocul unei
care vi se va cere. .
Pentru a converti coordonatele (care n mod normal sunt luate din UCS-ul curent),
folosi W2U(P) U2W(P) care se pe puncte (P) fac conversie ntre
WCS UCS. De exemplu, W2U([O,O,OD ne coordonatele originei WCS exprimate n
UCS-ul curent.
Componentele X,Y,Z ale unui vector pot fi filtrate prin cele 6 filtre cunoscute, folosind
XYOF(P), XZOF(P), VZOF(P), XOF(P), YOF(P), ZOF(P). Toate acestea
puncte care au ooordonatele nominalizate luate de la punctul P dat ca argument, iar
celelalte zero. De exemplu, X-ul de la punctul P1 iar Y-ul
Z-ul de la punctul P2
Expression: xoj(pl)+yzoj(p2)
. coordonate ca valori reale, RXOF(P) , RYOF(P)
RZOF(P).
calcula puncte n lungul unei linii folosind functiile PLD PLT. Astfel,
PLD(P1,P2,DST) un punct aflat pe linia de la P1 la P2 la OST de P1, iar
PLT(P1,P2,T) un punct de pe linie, dar este de parametrul
T. Valoarea T=O punctul P1, T=1 punctul P2, T=0.5 mijlocul segmen-
tului P1,P2
Pentru a indica un punct rotit n jurul unei axe, veti folosi cu succes ROl.
- 21 -
Astfel, ROl(P,ORIG,UNGHQ punctul P rotit cu unghiul UNGHI n jurul unei axe
verticale care trece prin punctul ORIG.
Pentru a puncte de intersectie, cel mai comod este folosim tLL
ILP le minte ... ). Astfel, 1LL(P1,P2,P3,P4) punctul de intersectie a lini-
ilor P1,P2 P3,P4, iar IlP(P1,P2,P3,P4,P5) punctul de intersectie al dreptei P1,P2
cu planul dat de punctele P3,P4,P5. Toate punctele sunt considerate 30 iar liniile sunt
infinite. Evident nu este nevoie existe liniile sau planele, ci este suficient
puncte care le n mod virtual.
Rezultat
End4
End5
Uitndu-ne la cele de mai sus, nu
ne seama prea bine, dar utilizarea
acestor functii este cu totul impresionan-
n fig. 2-19 vedem un exemplu sim-
plu. Aici avem un dreptunghi care mate-
un plan o care
________ End2 undeva planul. Dorim cons-
---. truim un cerc al centru fie taman
acolo unde dreapta planul.
'--_____ asta direct, nici o
Fig. 2-19 toare, nici dnd n vreun fel
UCS-uluill!
Pentru a rezolva problema, ct este de simplu dialogul:
Ccmnand: CIRCLE
Specify center point for circle or [3P/2P/Ttr (tan tan radius)]: 'cal
Expression: tlp(end.end,end.end.end)
Select entity for END snap: punctul EndJ
Select entity for END snap: punctul End2
Select entity for END snap: punctul EndJ
Select entity for END snap: punctul End4
Select entity for END snap: punctul End5
Specify radius of circle or [Diameter]: razo dortt4 a cerculut
tot ce am avut de a fost scriem expresia
ilp(end,end,end,end,end). n rest, ni s-au cerut pe rnd punctele le-am indicat cum
se vede n Sigur ne-am din vreme am setat OSNAP-ul automat pe
ENDpoint. ntr-un caz real sigur nu este desenat planul prin conturul lui, dar avem
ceva linii pe acolo care-I definesc. Acestea ne vor furniza comod punctele End3, End4
End5 care apar pe nu am nici un fel de setare pentru UCS!
pot fi calculate cu DIST, DPL DPP. Astfel, DIST(P1,P2)
ntre P1 P2 (exact ca expresia 8bs(p1-p2, apoi DPl(P,P1,P2) cea mai
ntre punctul P dreapta P1,P2, iar DPP(P,P1,P2,P3) ntre punc-
tul P planul definit de punctele P1,P2,P3. Sigur lucra interactiv. De exemplu:
Expression: dpp([30.20.100J.end.end.end)
va returna intre punctul [30,20,100] planul indicat prin trei ENDpoint-uri de
care-I definesc (acestea urmnd a fi cerute, cum am n ultimul
exemplu de mai sus).
Pentru a raza unui cerc, arc sau element arc de polilinie RAD,
ca n primul exemplu.
Pentru a un unghi, ANG. Astfel, cu ANG(V) unghiul for-
mat de vectorul V cu axa X, cu ANG(P1,P2) unghiul format de vectorul P1,P2 cu
,...-________ --,
Pentru a calcula un vector normal NOR.
Astfel, NOR vectorul unitar 3D (versorul) unei
de Dvs. (care fie arc, cerc sau polilinie 2D),
NOR(V) versorul 2D al vectorului V considerat n
2D, iar NOR(P1,P2,P3) versorul normal 3D al pia-
nului definit de punctele P1, P2 P3.
un exemplu de utilizare a vectorului normal.
cum se vede n fig. 2-20, n planul diagonal al unui para-
lelipiped cu dimensiunile 100,50,75 se un cerc cu raza
de 18. Dorim copiem cercul pe la planul
diagonal (triunghiular) la o de fix 10
'-----I=.-/-.g..;:. 2'---2-0----' Avnd OSNAP-ul automat, ca nu
avem surprize de a sau
parcurgem dialogul:
Conmand: COPY
Select objects: cercul
Select objects: Enter
Specify base point ar displacement, ar [MllltipleJ: 'col
Expression: lO*nor
Select cirele, arc or polyline for NOR fllnction: din nou cercul
(-3.84111 -7.68221 5.12148)
Specify second point of displacement ar <use first point as displacement>: Enter
Se UCS-ul se ntr-o Se mai a doua
selectare a cercului am primit vectorul (-3.84111 -7.68221 5.12148). Aceasta de
fapt valoarea rezultatului expresiei evaluate de calculatorul geometric.
ntre centrele cercurilor aplicarea procedurii vedea este
exact 10. ntreba n ce se face copierea, din moment ce nu o influ-
este: este cea a vectorului normal la entitatea
Vectorul normal are axei Z a selectate, deci copierea va depinde de
modul cum a fost creat cercul de UCS-ului n vremea cnd s-a
construit cercul Pentru o entitate afla care este
folosind comanda LIST. Pentru cercul considerat, ne poate da:
CIRCLE Layer: "O"
Space: Model space
Handle = 35
center pOint, X= 39.0945 Y= 15.3430 Z= 52.3354
radius 18.0000
Extrllsion direction relative ta UCS: X= -0.3841 -0.7682 Z= 0.5121
circumference 113.0973
area 1017.8760
- 22-
aici apare un vector, anume X= -0.3841 Y= -0.7682 Z= 0.5121.
EI de extrudare a cercului original (vom vorbi despre extrudare la mo-
delarea solidelor). Valoarea a lui Z ne orientarea n sens cu axa Z
a UCS-ului curent, n sus.
a este calculul X2+ Y
2
+Z
2
fix 1, pentru X, Y
Z sunt de fapt directori ai vectorului normal la calul aplicat
rezultatului expresiei CAL ne 100, dintre centrele cercurilor.
restul de conxiuni ntre toate aceste date.
n o serie de abrevieri ale mai des folosite:
DEE ILLE
_.-
END
ENOl
I
I
MEE NEE
---------------- f------- - -----.
MEE
NEE
VEE VEE1
VEE
7'
, '-
"- EN01
,
Fig. 2-21
DEE = dlst(end,end)
ILLE = lII(end,end,end,end)
MEE = (end+end)/2
NEE = nor(end,end)
VEE = vec(end,end)
VEE1 = vec1(end,end)
Ca n fig. 2-21
un tabel care
abreviate. La fiecare dintre ele vi se
cte un exemplu care se
ct mai sugestiv.
interpreta n fel chip
aceste exemple. de
exemplu, un cerc n
mijlocul unui dreptunghi, n loc
centrul (care nu apare materi-
alizat pe deci nici n-am
avea ceva de invoca
'CAL, apoi
introduce MEE pentru a invoca
Aceasta
va cere
opuse ale dreptunghiului, nu-i
Nimic mai simplu!
ntre VEE si VEE1
este ca cea ntre VEC
VEC1.
ne-am cam ntins cu privind cale de calcul geometric,
v-o bucura de foloasele ei. ni se par remarcabile!
o 3D
acum o 3D Problema are
se determine centrul $i raza sferei nscrise ntr-un tetraedru oarecare dat. Ca
mijloace de lucru se vor folosi exclusiv mijloacele AutoCAD-ului, a masura, a cal-
cula sau a nota ceva.
in cele ce
rezolvarea.
avem cu
imagine, vom trasa un tedraedru
wireframe ale vrf uri au
coordonatele:
A(51,131,o)
B(184,18,o)
C(223, 166,0)
V(161,81,123)
mai un
Fig. 2-22 Un tetraedru cu fete transparente
VPOINTI2.1,-3.95,1.D9 avea chiar
din tetraedrul linii LINE mari
late!).
ne gndim acum unde se centrul sferei nscrise. ne planul
bisector a oarecare ale tetraedrului (care nu pot fi dect ne
seama centrul sferei trebuie acestui plan. De ce? Pentru planul bisec-
tor a plane este locul geometric al punctelor egal de cele
plane, nu?
Continund mai un plan bisector a altor
este clar acesta cu primul plan bisector se nu s-ar inter-
secta, atunci ar fi paralele, or asta nu se poate). Ce este Este o evi-
dent. .. Ei bine, pe se centrul sferei punctele dreptei
sunt egal de trei Ca o aici, ne seama
planele bisectoare vor n mod necesar vrful tetraedrului prin care
trec cele trei care au determinat respectivele plane. atunci dreapta de inter-
a planelor bisectoare va trece prin acel vrf, nu-i
Ultimele au individualizat un vrf al tetraedrului. Vom presupune acum
definim un al treilea plan bisector, avnd ca ce-I se inter-
secteze o a tetraedrului care nu trece prin vrful cu pricina! Altfel spus, vom
defini planul bisector a alese astfel nct una nu fi participat la definirea
planelor bisectoare mai sus. Nu e mare lucru cum
treaba ... Buun, acum doar dreapta de mai devreme (pe
baza primelor plane bisectoare) cu planul bisector la Dreapta
planul, nu poate fi cu el.
Punctul rezultat astfel este centrul sferei nscrise, are calitatea de a fi egal
de toate cele patru ale tetraedrului. de la acest punct la oricare
dintre este chiar raza sferei deci problema este
Asta e o rezolvare in cele ce vom vedea cum folosim AutoCAD
ca facem rezolvarea
ce construim tetraedrul (folosind eventual datele de mai sus, ca putem
cu succesiunea de imagini de aici), alegem pe rnd vrfurile B
C (de exemplu), din care ducem perpendicularele pe muchia VA. Apare ceva n genul
din fig. 2-23.
acum una dintre perpendicularele astfel nct aflat pe
muchia VA exact la celeilalte perpendiculare cu muchia VA. Se
faptul prin comanda MOVE, pe care folosim aici, perpendiculara con-
- 23-
V
tetraedrului
n care se in fig. 2-24
am ales pentru asta perpendicu-
Iara din B.
Am n acest fel
drepte perpendiculare pe muchia
VA, duse printr-un punct
de pe VA. Ele un plan
perpendicular pe VA, nu-i
'--__ -=::--=-:::-::-.,....,...,...,-.".-.,.--:--:-:-:-::--:-:-:-:-::--__ -' Cum se poate observa din
Fig. 2-23lni1ltimile VAB VAC am pus UCS-ul n acest plan, cu
r-----------
V
---------, originea n punctul de
al perpendicularelor. Avem
'1 nevoie de asta pentru nu
putem duce planul bisector a
I
plane dect ducnd bisec-
toarea a drepte din aceste
I
plane, iar ele trebuie fie drepte
811
/ I j' .- / ....
bisectoare (de exemplu a II-a)
planul bisector care o
contine pe Prin acest
punct prin vrful
trece dreapta de
Bine. bine. dar cum
punctul n care o (oare-
care) un plan (oarecare)?
am deja chiar n acest
'---F,--ig-.-2-,-2-6-P""'''-'OI-ec-ta-rea-B-'-1 p-e-p-n-m-u-'-p-'an-bi-sect--o-,----' capitol cum trebuie
r--------------------, (vezi fig. 2-7 2-8).
V cum se vede n fig. 2-26.
punem UCS-ul prin 3P
astfel nct planul curent XOV
cu primul pian bisector
pe care l-am Apoi
procedura
bisectoarei II pe planul
XOV curent.
Apoi. ca n fig. 2-27, facem o
'---=:-_--:-::-_-----, __ -::-__ -,-_____ -1 racordare cu R=O a acestei
Fig. 2-27 Punctul in care BI/ planul bisector I cu prima bisectoare.
I
Punctul astfel este punctul n
care bisectoarea II planul
XOV curent. nu-i
Din acest punct n
vrful V o linie ca in fig.
2-28. care este fapt linia de inter-
dintre cele plane
bisectoare. cum spuneam.
Doar linie ne mai intere-
asa le
pe toate celela Ite,
acum dreapta
V cu planul bisector al
/fi
VAB ABC (a nu
Bisectoarea III \ / I \ I
I \" Facem o constructie care de
/ \ li, 'II acum este cum se
I '7 vede in fig. 2-29.
V A"'- / Se vede am dus iar
r----- -- _ . " -- y/ I perpendiculare, de
i ------.J .. __ din V C pe muchia AB, am mutat
! --- perpendiculara din V astfel nct
Fig. 2-29 celei de-a treia bisectoare opus lui V cu
- 24-
piciorul celeilalte perpendiculare
am pus UCS-ul n planul definit
Dreapta de V de aceste drepte. Am du!:
Il\. apoi arcul cu centrul n noua ori-
/1\ "\ l' gine i-am unit printr-o
pentru a I
contururi I
nchise (prin apli-
carea a
__ Join cu
rupturile multipli-
cate
lungimii
celor view-
port-uri supapuse
Fig. 5-65 Crearea viewport-urilor non-rectangu/are duplicarea vederii principale
- 71 -
am dat un SOLDRAW ca vedem cu ce dar nu era obligatoriu
Trecem apoi la deplasarea n lor finale. De notat din
stnga cea din mijloc pot nu mai fie deplasate am le direct
pe mijloacele zonelor, n timp ce cea din dreapta va fi n jos.
cum se vede n fig. 5-64, pentru a plasa corect sectiunea din dreapta,
mai nti o linie n Paper Space din mijlocul canalului de n jos, pentru ca apoi
viewport-ul folosind centrul arborelui drept punct de start de jos al
dreptei drept punct De notat cu cu Osnap-urile, att
din Paper Space ct din Model Space. Toate sunt ne n Paper
Space.
Tot acum cele polilinii de o parte de alta a din mijloc,
care le copiem suprapus de ori pe fiecare. Acestea vor rupturile. Vom
avea le ncepem le pe liniile de contur ale arborelui (cu NEArest) ,
chit suntem tot n Paper Space ...
Copiem vederea exact peste ea (cum am cu rupturile).
Facem asta va trebui cumva din mijloc a arborelui, or
metoda cea mai este trunchiem vederile suprapuse. Toate acestea pot fi
observate n fig. 5-65.
Mai departe, comanda VPCLlP ceea ce se poate vedea n fig.
5-66. Chiar poate nu e prea vizibil, din mijloc nu are un canal de
ci o aplatisare. cum contururile de viewport non-rectangular vor fi puse ntr-un
layer ce va fi comutat pe Of( nu
Tot ce mai avem de ca imaginea din fig. 5-45 este ascundem
layerele cu contururi de viewport-uri liniile de
n desenul tehnic vor observa nu sunt
propriu-zise, ci cu vedere, n timp ce STAS-ul impune fie propriu-zise.
Pentru a rezolva la mai multe mijloace. Pentru
unea din stnga o este o privind din dreapta n loc de stn-
ga, care comanda MVSETUP imaginea n interiorul
viewport-ului. ar fi tot un viewport non-rectangular, dar circular,
Contururi de
aflate
\...L_------in layerul RUP-
-""--- TURA, care va fi
comutat pe Off
care mascheze cercul exterior. La fel se poate face la din dreapta.
Oricum, acum toate cunostintele necesare ca astfel de teme ..
Cotarea 3D
Sunt si cazuri n care cote direct pe modelul 30 nu pe proiectiile
din Paper Space din Layout, rog ... ). n cele ce sunt prezentate o
serie de aspecte privind de cotare, folosind programarea n
AutoLlSP. O n ceea ce folosirea de programe AutoLlSP pentru
cotare a fost la capitolului 1. Subcapitolul de se cu
certitudine programatorilor n AutoLlSP. Cardiacii persoanele cu
psiho-motrice sunt ruga te nu mai departe ...
Utilitarul de cotare pe care l vom mai jos permite crearea de cote aliniate n
lungul liniilor 30'). Aliniamentele pot fi desenate automat ntr-un plan perpendicular pe
planul XOY sau ntr-un plan definit printr-un unghi de o din acest plan.
Listingul al utilitarului este dat in anexa 8 (vezi).
Rutina este un exemplu foarte bun de implementare a vectorilor
matematici, include un exemplu de cum se pot citi schimba) elementele din lista de
a cotei, operatorului posibilitatea de a introduce datele pe comenzile
AutoCAO in mod succesiv impune o a comenzilor UCS
DII. Ea poate servi ca model pentru dezvoltarea avansate.
Chiar a plasa o alin de-a lungul unei linii n 30 poate
o n realitate aceasta cere ceva gndire. in primul rnd, trebuie explo-
rate cu comenzilor UCS DlM pentru a le face lucreze in modul cel
mai eficient. Obiectele de tip sunt obiecte 20, doar sunt prezentate ntr-un plan
diferit. Poate fi necesar ca sau blocul nlocuitor fie create in 30 (vezi si pro-
gramul de la capitolul 1 ), pentru respectarea scopului propus. Din cauza multitudinii
unilor, utilizatorul poate alege acea utilitate care nu dect variabilele de cota re.
Se impune doar ca utilizatorul execute setarea lor inaintea rutinei.
Considernd numai o entitate linie, uneori este greu de stabilit un UCS care "arate
bine" pentru alinierea cotelor, utilizatorul nu este cu manipularea coordo-
natelor 30. Lucrul cu UCS-ul se deprinde cel mai bine prin proprie, conceptele
fiind destul de simple. cum stim, comanda UCS o pentru lucrul n
plan, indiferent unde ne in 3D. Obiectele pot astfel fie desenate si
manipulate relativ la acest plan. Matematic, un plan este definit prin stabilirea unui punct
de origine relativ la sistemul global de coordonate (WCS) de un vector normal la pia-
nul n Ca un derivat al acestui mod, vectorii, ca punctele, sunt usor de prelu-
crat in AutoUSP, deoarece o de trei numere reale. Comanda UCS cuprinde
o varietate de n care punctul de origine vectorul axelor poate fi definit in progra-
mul AutoLlSP, din cele mai frecvente fiind definirea prin trei puncte sau
prin origine plus vectorul de definitie.
programatorilor de a gndi n WCS cnd si scriu aplicatii.
Chiar se un timp putin mai lung utiliznd de fiecare comanda UCS
') Traducere adaptare dupi!i articolul .Not as Easy as It Looks" de Bill KRAMER din revista
CADENCE", nov. 1993, tradusi!i publicati!i in revista Hello CAD Fans, nr. 37/feb'1995
- 72-
W, operatie poate utilizatorul de dureri de cap cnd aran-
un program ce foloseste frecvent comenzii UCS. ce algoritmii au
fost lucreze, ei pot fi optimizati asigurnd si iesiri pentru comanda UCS.
AutoLlSP in panoplia sa o TRANS, care trans-
formarea coordonatelor in multiple sisteme de coordonate. TRANS converteste
punctele (sau vectorii) n sau din WCS, din sau in diverse UCS-uri, programelor
lucreze cu date exprimate n sisteme de coordonate diferite. cere
trei parametri: primul este lista punctului ce va fi transformat, al doilea este codul
care sistemul de coordonate de intrare, iar al treilea este un alt cod ce speci-
sistemul de coordonate de Codurile sunt numere intregi, astfel zero semnific
WCS, iar 1 UCS-ul curent. Totusi, codurile pot fi si nume de aceasta fiind
calea prin care TRANS presupune accesul la ECS (sistemul de coordonate al
si transformarea punctului de acest sistem de coordonate. Codul poate fi,
de asemenea, un vector de extruziune. AI patrulea parametru este si
transformarea se asupra unui vector nu asupra unui punct.
este cnd se cu mai multe sisteme de coordonate simultan.
Manipularea datelor legate de UCS poate fi de asemenea folositoare. De exemplu,
ANGLE sau POLAR din AutoLlSP, care sunt frecvent utilizate in cadrul pro-
gramelor, numai raportate la UCS-ul curent. punctele furnizate
ANGlE nu sunt n planul XOY al UCS-ului curent, atunci ele vor fi proiectate pe acesta.
Un avantaj al acestui aspect este calcularea coordonatelor sferice ale unui punct in
ANGlE unghiul dintre sepmentului ce cele
puncte pe planul XOY si axa Ox din UCS-ul curent. In utilitarul prezentat mai
departe ANGlE este de ori pentru a calcula unghiuri diferite
pentru acelasi punct. Acest mod de lucru poate fi adesea este cauza unei
lungi de erori programatorul nu este atent. ct putem
utilizarea ANGLE si POLAR atunci cnd activitatea UCS-ului este foarte impor-
sau, invers, setarea UCS-ului n cadrul aceste sunt
folosite.
ntorcndu-ne la utilizarea comenzii UCS, in mod normal un punct de
origine si un vector al axei OZ. cel mai bine atunci cnd sunt
cunoscute trei puncte din planul XOY pe care se asezarea UCS-ului. La drept
vorbind, prin produsul vectorial al celor trei puncte este definit vectorul de extruziune.
Dar ce este de numai puncte sunt cunoscute, sau cele trei puncte sunt
coliniare? Sigur, in aceste cazuri nu se poate defini un plan. n acest caz metoda pro-
dusului vectorial nu mai merge. 3Point a comenzii UCS cere operatorului
trei puncte ca sensul pozitiv al axelor OX si OY din noul UCS.
n ne cnd problema liniare. n loc de a cunoaste
trei puncte pe un plan, sunt stiute numai puncte pe o linie si avem doar o idee gen-
despre locul aproximativ unde se va amplasa cota. De exemplu, atunci cnd cota
este pe un pian perpendicular pe planul XOY (mai sus de linia 3D) atunci axa
OY poate fi matematic. n in exemplul de mai jos se
unea 3Point a comenzii UCS.
Un ochi de programator vede repede programul utilitar functii de
C:DIM3D C:DIMTEXTFIX si rutine apelate de prima dintre acestea.
numite DIM_UCS DIM_GETOBJ.
ce le pe toate n AutoCAD, pentru a le folosi veti da comanda DIM3D .
n cazul n care textul vreunei cote apare inversat
unghiului aleator din care priv-
folosi comanda DIMTEXTFIX
prin care inversa textul cu pricina.
pe rnd fiecare folosind tot
ce s-a spus aici.
LIstingul1 DIM_UCS.
Aceasta este o care UCS-ul curent
pentru cota rea obiectului propus n cadrul
de cotare 30. Dnd un nume
de entitate-linie (sau puncte ntr-o
un cod pentru a specifica forma de cotare
DIM_UCS UCS-ul curent pentru utilizarea
Cote cod O a comenzii DIM. Pentru
DIM_UCS pot fi date valori de coduri valide.
Codul O (zero) spune DIM_UCS ca
UCS-ul fie pus pe un plan care linia
face un unghi cu planul XOY. n aceste axa OX a noului UCS este chiar linia n
iar axa OY este o linie din planul XOY pe prima. Acum cotele apar
n planul liniei, ca n fig. 5-67.
Cotele avnd codul 1 sunt plasate deasupra sau dedesubtul liniei primare. n acest
caz, axa OX a noului UCS este tot de capetele liniei primare, dar axa OY este
ca o linie pe linia n plan perpendicular (Ia
planul XOY) ca linia Aceste coduri sunt arbitrare utilizatorul le poate schim-
ba cum Exemplul ntr-o schema pentru n
30 este o idee pentru privind manipularea obiectelor 30.
DIM_UCS prin a cere introducerea parametrului EN. EN este un nume
de entitate, AutoLlSP TYPE va returna ENAME. n acest caz, lista de date a
este de ENTGET entitatea este pentru a vedea este
o linie. entitatea este o linie, sunt extrase punctele de nceput de ale ei
stocate n variabilele P1 P2. Altfel, este transmis un mesaj de eroare utilizator
informndu-I entitatea nu este o linie. AI doilea test al parametrului de intrare
EN o cercetare spre a vedea el nu este o ce ca elemente
liste de puncte. da, cele puncte sunt stocate n P1 P2. parametrul EN
nu se n nici unul din cele teste este lansat un mesaj de
eroare utilizator.
P1 P2 au valori, atunci vor fi furnizate cele liste de tip punct. Pentru
P1 va fi ntotdeauna stabilit ca punctul avnd coordonata Z cea mai
Valorile coordonatei Z a punctelor P1 P2 sunt comparate Z al lui P2 este mai
mic dect cel al lui P1 atunci valorile P1 P2 sunt schimbate ntre ele. ope-
este de a vectorial pe P1 din P2 pentru a un vector care descrie
linia. AutoLlSP este foarte succint aici. Linia (mapcar '- P2 Pl) scade fiecare element
al lui P1 din elementul corespondent al lui P2. Astfel, este stabilit V ca
(sau deplasament), ntre P1 P2.
stilul dorit al UCS-ului de cotare are codul zero, atunci este nevoie ca vectorul
fie calculat naintea comenzii UCS. AI doilea parametru din DIM_UCS este
UCSTYP. Acesta este testat pentru a se determina ce stil a fost stabilit nainte.
- 73-
UCSTYP este zero sau nil, este utilizat codul zero. n acest caz, comanda UCS
cu 3Point. Primul punct furnizat este originea noului UCS este stabilit ca fiind
Pl, ce a fost transformat din WCS n UCS-ul curent folosind TRANS. De
nut pentru majoritatea lor desenate ntr-un UCS oarecare, aceste puncte recu-
perate sunt definite relativ la sistemul de coordonate al (ECS). n cazul unor
obiecte 30 cum sunt liniile, ECS coincide cu WCS. Astfel, punctele P1 P2 trebuie trans-
formate n UCS-ul curent n timp ce se comanda UCS, din moment ce nu se
care este setarea a UCS-ului.
punctul de origine, punct n 3Point a comenzii UCS
sensul pozitiv al axei OX. P2 este al liniei de cotat este folosit
pentru stabilirea axei OX. Pentru calculul noii a axei OY poate fi folosit
vectorul dintre P1 P2. Cu ajutorul lui se poate defini un nou punct relativ la P1 care
fie exact la 90(perpendicular) pe linia Figura 5-68 cum acest
truc simplu. Triunghiurile definite de linie de au dimensiuni n
lungul axelor. Y-ullui V, sau (cadr V) este extras din X-ullui P1, din (car Pl),
n timp ce X-ul lui V, sau (car V),
,.--------------------, este la Y-ul lui P1, sau
1
" D'X" Y (cadr Pl), pentru a forma noile
coordonate X Y. Valoarea coordo-
I natei Z este de la cea a punc-
r--r
I DX tului P1. De punctul calcu-
I 1 lat este transmis direct n TRANS
.-1
1
I
_ _ _ _ -"11_-
1
naintea Y pentru
"1 noul UCS. particu-
, w UCS
' > comanda .
DX' :-DY
DY'=DX
"X n cazul cnd tipul UCS-ului este
1, UCS-ul cotei este stabilit perpendi-
I cular pe planul XOY atunci cnd
I
punctele liniei sunt pe pozi-
L-_________________ -------'. a axei OX. Sensul pozitiv al axei
Fig. 5-88 Observatii privind reciprocitatea cotelor X- Y OY este stabilit ntr-un mod similar
I
cu cazul zero, folosind vectorul dife-
Figura 5-69 vectorul
Y I pentru cazul 1. Pe ramura
I 1 a COND, sim-
...
1: \
NI '
Oi i
DXY' = -DZ
DZ'= DXY
DXy
X
--
bolul DXYeste setat ca pe
planul XOY a punctelor
P1 P2. Lund a
sumei pe x
pe y efectuate n 30 se
rezultatul dorit.
Un vector unitar este un vector a
sau lungime are val-
oarea unu. Vectorul unitar este uti-
Ilizat combinat cu un scalar
L-____________ ,.--____ -------' real) pentru a determina noul vector
Fig. 5-69 Alte ...
al bazat pe o lungime. n este nevoie valo-
rile x yale noului DXY determinat ca DZ cu semn negativ (vezi figura 5-69).
Multiplicnd vectorul unitar cu valoarea DXY vom produce un vector de deplasare n
planul XOY. Aceste valori pot fie apoi la valorile x yale lui P1 pentru a
defini noul punct (P3). Comanda UCS este n acelasi mod ca si n cazul zero. iar
al treilea punct (pe sensul pozitiv al axei y) este calculat n mod descris anterior.
Valoarea Z a lui V (DZin figura 5-69) este cu -1, iar valoarea deplasamen-
tului pe X n vectorul unitar UV. valoare este la valoarea X a lui P1 pen-
tru a forma coordonata X. Procesul se pentru coordonata Y. Noua valoare a lui Z
este prin valorii DXY la valoarea Z a lui P1. Punctul rezultat este tre-
cut prin TRANS pentru a-I converti din WCS in UC5-u1 curent. La sfrsitui expresiei
COND este returnat TRUE ca rezultat. Altfel este returnat NIL, la test
aceasta.
Listingu/ 2 comanda C:DIM30 care OIU_UCS.
C:DIM3D incepe prin a cere codul stilului de cotare utilizat (zero sau 1).
Variabila UCSTYP este pe valoarea de utilizator. Se o WHILE
care va lucra cnd OIU_GETOBJ va returna o valoare de nil.
este n /istingu/3. Ea cere utilizatorului selecteze fie puncte,
fie o entitate. Ca rezultat, ori numele ori cele puncte
selectate.
n interiorul buclei WHILE din C:OIM3D este OIU_UCS cu valoarea retur-
de OIU_GETOBJ variabila UCSTYP. Cnd se revine din OIU_UCS, este
comanda OIU cu ALigned. Variabila TMP valoarea de
OIU_GETOBJ ea un nume de entitate, atunci este transmis
comenzii OIU un Enter (sau Retum, cum .. ) urmat de un punct al liniei, plus numele
comanda OIU cere o de de tip ENTSEL pentru
alegerea obiectelor din interiorul AutoLlSP. Punctul este utilizat pentru a ajuta la sta-
bilirea necesare). variabila TMP nu un nume de entitate,
este de a transmite puncte direct comenzii OIU pe ALI. ce
sunt transmise punctele, este utilizat simbolul PAUSE n cadrul AutoUSP COM-
MAND pentru o oprire a comenzii DIU, o intrare de la uti-
lizator, care va preciza unde fie cota. un Enter simbolul
PAUSE care incheie comanda OIU ALI. Bucla WHILE reincepe, cernd din nou utilizatoru-
lui selecteze o entitate. La comenzii C:OIU30, UCS-ui este comutat pe WCS.
Alte alternative ar putea fi readucerea UCS-ului pe setarea programu-
lui, sau lui pe ultima C:OIM30 este numai inceputul unei
familii de de cota re pentru 3D si poate fi de programatorii
AutoLlSP proprii.
Listingu/4 o C:DIMTEXTFIX care
textul cotei pentru diverse unghiuri de privire, prin modificarea flagului de la codul
71 in blocul text al cotei respective. Cmpul 71 este setat pe zero pentru text normal si
pe 2 pentru text inversat. entitatea text, cte una
si zero n 2 2 n zero. Pentru localizarea blocului de al cotei
este AutoLlSP TBLSEARCH, iar apoi este o WHILE pentru a
parcurge toate blocului de n text. Cnd aceasta este
este setarea din cmpul 71 folosind SUBST urmat de ENTUOO.
ce ultima entitate a blocului de a fost este executat un ENTUPD pen-
tru refacerea complexului de ntre n baza de date, apoi functia con-
trolul AutoCAD-ului.
Aceste functii sunt concepute ca o de plecare pentru crearea unei biblioteci de
pentru cotare n 30. De asemenea, ele cteva trucuri simple pentru uti-
lizarea comenzii UCS.
mijloacele expuse aici, suntem siguri reusi rezolvati
singuri alte probleme. dintre ele:
1/ n desenul tehnic romnesc ca o n plan lon-
gitudinal nu fie la fel o Cum facem asta cu AutoCAD atun-
c cnd trece, prin ele?
21 O prghie, o un levier etc. pot avea dintre care una se repre-
cu linie iar se cu Cum
facem asta cu AutoCAD a redesena ceva?
Mai sunt alte de desen tehnic pe care le descoperi pe ce veti
lucra. pe acestea ca pentru a demonstra singuri sun-
teti n stare n ceea ce tocmai deprins.
Cotarea CU AutoCAD 2004
Tot ce s-a spus aici corespunde de lucru cu versiunea AutoCAO
2000. De la aceasta au mai in prezent nu mai de 3 (trei) versiuni noi
de AutoCAD. Acestea sunt AutoCAO 2000i, AutoCAO 2002 AuioCAO 2004. Fiecare dintre
ele aduce notabile pe mai multe planuri. Unele dintre se la
realizarea de n layout, la cota re pe viewport--uri etc., exact la ce ne inte-
pe noi n acest capitol. Sigur, n cele ce ne vom referi la ultima versi-
une (2004); nu are rost acum care este istoria AutoCAD-ului, nu-i
O categorie de - cea mai - se la utilizarea
(wheef) pe mouse extrem de n realizarea zoom-ului (prin rotirea
pan-ului (prin a n timp ce mouse-ul). n
AutoCAD 2000 ne trezim cte ne n
Paper Space, imaginea din viewport-uri din Model Space) este nefiresc,
uneori irecuperabil. Cu AutoCAO 2004 totul este robust n nu mai
nimic. Acuma, nu ne degeaba, vom avea mereu facem
chestii corecte. ntr-un viewport facem zoom cu scara ima-
ginii iar am fie clar. Este ca si cnd, aflndu-ne n viewport am
da comanda ZOOU, nu-i asta de "cum face omul cu mna lui" nu
de ce bube ar avea AutoCAD-ul. ..
O categorie este cea privind de cota re. Acum putem cota pro-
bleme n Paper Space! Practic, nici nu mai avem nevoie de layerele cu sufixul ,,-DIU". Iar
ca asta, trebuie majoritatea desenelor de la finalul acestei
sunt realizate prin cotare n Paper Space!
Sigur, sunt necesare o de explicatii si deslusiri pentru a aborda
ntrebarea pe care pune-o fiecare ar fi: oare? Cu cele spuse
la acest subcapitol stim deja Are rost ne mai cu alte minuni?
- 74 -
Care ar fi avantajele ca citim aceste noi mai ales le punem n prac-
nu e grozav nu mai fie nevoie tot dintr-un layer n altul
atunci cnd treci de la cota rea unei la alta? n practica adesea ne
seama am uitat punem o pe o proiectie, ori ar fi mai avantajos s-o
punem pe dect cea la care acum. Iar ca s-o punem trebuie mai
nti trecem n alt layer, fir-ar fie! Pur simplu, ajunge ca comutare
ne agaseze, ne privim cu necaz acest sistem. La te duci
pui cota pe proiectie gata! Nici trece prin minte ar fi nevoie de vreo
ca treci la proiectie, ori spuneam mai demult interesul celor care au
creat AutoCAD-ul (sau alte pachete software de proiectare este de a ne oferi
mijloace care ne munca nu ne-o Altfel le mai
produsele tot cu ... n cele ce diferite
tehnici pentru a face cota rea direct n Paper Space.
Cote puse direct
64
N
<D
Majoritatea cotelor se pun direct,
nici o cazul
din fig. 5-34, lucrnd de cu
AutoCAD 2004 n loc de AutoCAD 2000.
Procednd exact cum se spunea acolo,
acum valorile cotelor
corecte!
Aaaa ... asta ne oarece curaj!
Ascundem (treeze) punem
cteva cote liniare selectnd Mai
exact, ce am lansat cota rea
Enter ni se cere o enti-
tate. suntem n Paper Space avem
o entitate din Model
'----=F/::-g-. -=5-""70::::-A':"c-u-m-p-ut-e-m-c-o-ta--:-k""'u-m-e-a----l Space!
in PaperSpace... n fig. 5-71 am selectat latura din
,..-----------------, dreapta a de se
poate vedea selector de pe
ni s-a pus cota 10, care
este chiar
tragem acum axa de simetrie verti-
vedem cum putem punem
cote legate de ea putem!). Axa o
tragem n Paper Space, fie clar! n
fig. 5-72 figura cu axa
acum punem o de la
de sus al axei la centrul din
dreapta. Se n fig. 5-73
o cu valoarea de 24, care nu e
'-:::----::-=:-:---:--------:--:-::-:--:----,.---' tatea lui 64. n loc de 32 e 24, sau 3:4
Fig. 5-71 ... ba putem cota o entitate
din Model Space! din 32. De ce? asta este scara
- 75-
I
I
!
ilJ
\
1.
64
.1
Fig. 5-72 o de simetrie ... Fig. 5-73 Cota pe lui 64 e
desenului din viewport. AutoCAD are de
rezolvat problema de a afla ce vrem noi
atunci cnd punem o ntre o entitate
din Paper Space (axa) una din Model
Space (MIDpoint-ul care centrul
din dreapta). Face el ce poate: prio-
ritate n care ne - Paper
Space - pune cota ca pentru acest
la scara 1 :1.
Noi vrem n vedere
dar punem cota n Paper
Space! Ca asta facem un arti-
ficiu: punem o ca 64 iar apoi tragem
,-----------------, de un al ei de grip-ul cores-
32
: ..
u ...____VP1
I
I
LO@I:T
. I j
Fig. 5-75 O ntre din
Model Space aflate in viewport""Uri diferite
punem pe axei! n
fig. 5-74 am tras chiar de cota 64 am
dus din stnga pe de jos al
axei: a rezultat 32! Valoarea aceasta -
- nu se nici folosim
SOLDRAW pe viewport-ul implicat.
De aici ...
Regula: atunci cnd avem de pus o
an Paper $pace. desigur) ntre o enti-
tate din Model Space si una din Paper
Space, punem mai nti cota pe yna sau
din Model $pace (n acest fel
valoarea cotei este prin la
Paper Space) , iar apoi tragem unul din
capete (sau ambele!) pe entitatea din
Paper Space.
O apare
atunci cnd vrem punem o ntre
I
I
I
64
-.l
I I I
!
--
I
i
64
I
I
@
I
I
I
I
I
I
Lo@
IT
. ..
Fig. 5-76 Cota mtre dm
Model Space aflate n viewport-uri diferite
din Model Space, dar aflate n
viewport-uri diferite. Ei na, o dar
cnd ne-am putea confrunta noi cu o
chestie? nu este chiar de
o astfel de la la poza din
fig. 5-75. Aici n vie wport-u I VP1 am pus
cota ntre A rezultat va-
loarea de 64 Apoi am pus
ntre din
aflate n viewport-urile distincte VP2
VP3. A rezultat valoarea de 32!
scara desenului este 1:2, nu-i Cum
dregem acum busuiocul?
punem o de
(aici pe
dintr-un viewport, iar apoi tragem
de unul sau chiar de ambele sale capete
le punem pe aflate n view-
port-urile dorite, ca n fig. 5-76,
O mai des este
n fig. 5-77, Aici avem
,------------------, vie wport-u ri (cel din stnga este "colorat"
de noi n gri), care cele
ale unei piese - una n vedere
n Ei bine, cote le 78, 54,
38 28 care apar n trebuie fie
toate create cum s-a mai sus:
se pune o pe unul dintre viewport-uri,
iar apoi se trage de unul dintre capetele ei
ca pe din
viewport. n felul acesta, indiferent de
scara la care este piesa pe
vreunul dintre viewport-uri, valoarea cotei
- 76 -
Un exemplu concludent
Desi am mai parcurgem un exemplu de la un la altul,
respectnd genul care sunt prezentate n partea de album. nu e de
ajuns! Cum aproape toate piesele au fost create cu AutoCAD 2004 n acest stil,
avea prin asta un exemplu de lucru ct se poate de sugestiv.
o care ar putea fi "Belciug de remorcare". Este !a
spatele unei de tip "Jeep" la remorcarea prin cablu a altei In
desenul nostru am o prelucrare care nu ar prea avea ce caute la piesa
freza rea cu R25 din Ea ne aici ca piesei.
Modelarea nu e grea: facem conturul apoi l pe de 12.
rotirea la 90 a UCS-ului desenarea axei n de "U" ntors. Folosind un
cerc centrat pe un al "U"-Iui facem apoi pe Path a cercului astte.1 nct
"U"-ul solid cu In continuare, UCS
un cilindru cu avnd R25 de 8 pe care I din
Mai tot cele patru iar apoi facem Union ntre "U".
Gata!
,---+ -
018
Sectiunea A-A
Fig. 5-78 Un exemplu tipic de realizat cu AutoCAD 2004
Trecem apoi la crearea viewport-urilor care Cte sunt? cu
toate sunt 5, dintre care una piesa n vedere (cea din dreapta).
E posibil ca unul dintre viewport-uri nu fie de evident: este ruptura cu
pe care apare cota de R25. Are conturul I o
imediat.
Mai nti, aflndu-ne n tab-ul
Model (vezi fig. 5-3),
UCS-ului ca n fig. 5-79. la
date mai demult, facem acest
lucru pentru a putea controla modul cum
dorim arate prima la trecerea
n layout. S-a mai spus prima
este Parent View, urmnd ca
se bazeze pe aceasta, fie este
vedere, fie De notat nu este
obligatoriu ca UCS-ul se afle n
ci mai important este fim
foarte clar n ce este aces-
I
ta la trecerea n layout.
UCS-ul n po-
I tab-ul Layout (vezi fig. 5-3).
I Ca efect apare caseta de dialog
1
1. 82 .1
144944.80699243
1. 30 .1
]
40
68
1- -i
Album de proleclare 30 cu AutoCAD CP 7 5
48.5
8
I
r e ~ ~ ~ ~
7 6 Album de proiectare 3D cu AutoCAD CS 61981.96205091
1"
180
1
Sectiunea A-A
....-
cn
o
ce
1
158
_i_
N
"<t
156
ca
"<t
N
Detaliul C
2 gauri 012 C
1 I
Sectiunea B-B 4 gauri 011
042,5
L
564750.98886656
045,6
1 "
Album de proiectare 30 cu AutoCAD - cs 7 7
"1 Sectiunea A-A 7
~
~ qp,O
o
-1
C")
C")
~
!Sl
x45
2
~ 6
125
10
39,5
170
32,5
020
3 gauri II ~ ~ ~ ~
014 ~
78 Album de proiectare 3D cu AIItOCAD CS 3586625.13459007
C')
~
Sectiunea A-A
1
61863.15120471 Alllu. de .ra .. CIare 30 cu AIdoCAD - CP 79
Sectiunea A-A COl
10 gauri 06.5
80
I
Album de proiectare 30 cu 3753696.47018417
1
1.
326739.23892349
Sectiunea A-A
143
I
.1
~
Sectiunea B-B
Album de proiectare 30 cu AutoCAD - CP 81
043
035
, III-
J-+....,ii---+_-
o
... NI
"""i t
028
7
7
2
25
50
8 2 Album de proiectare 3D cu AutoCAD CP
199539.41513648
CI:)
LO
.-
Sectiunea A-A
JA
092
232,5
.1
2690525.72503941 272,5
Sectiunea B-B
Album de proiectare 30 cu AutoCAD CP 83
I -
I
I
-
NI I 032 ~ 1x45
055
060
061
1.
064
-1
078
54
'1
54
- -
- - - -
,...
84 Album de proieelare 30 ! AutoCAD ~
t
I
I
-1
Vedere din A
'\
al
1
- - -- - --
,
NI
1x45
V
I
""
t
~ 1x45
~
"'-------
/
"'"
4x45 / \
.( 1 ~
v ~
,
~ )
~ t
~ ~ - -1- -
,
~
12
42
155840.75130552
46 Sectiunea C-C
5
Vedere din B
~
~
1x45
76
Sectiunea A-A
i
L!)'
col
510216.23050293 Album de proiectare 30 cu AutoCAD - CS 85
18 64
I
1. 100
.1
86 Album de proiectare 30 cu AutoCAO - CO
100
Sectiunea A-A
150
N
N
I
Lt')1
~
282516.3548043
Sectiunea A-A
146
30097.99025514
~
Vedere din B
~
Album de proiectare 30 cu AutoCAD CP 87
~
Sectiunea A-A
"1 I .
5
, I
il(
..r C")
ei:) ~
i
5
50
O)
I
~ \ O
N
..r C")
LO
~
O)
038
88 Album de proiectare 30 cu AutoCAD - CS 97462.91387138
45
631901.0647178
Sectiunea A-A
080
068
064 I
1086
0126
12'110
0120
Sectiunea B-B
8
--1 1-
c:o
Album de proiectare 3D cu AutoCAD - CP 89
90
Sectiunea C-C
1
.;
Sectiunea A-A f----=--:=-=---------J
8 gauri 08
echidistante
0164
10130
080
0150
3x45
_f+l-oi,-+----:.t 6 gauri 6,5
f - - = ~ - - - - - l echidistante
Album de proiectare 30 cu AutoCAD - CO
I
~ I
LO
LOCO
co
Sectiunea B-B
0100
I
2324815.21248549
B
o
~ I
162553.05209025
~
50
Sectiunea C-C
47
58
73
4
cn
..-
42
37
. t?lE)
4 gauri ""
J:
2
N
..-
Sectiunea A-A
1"
113
47
65
45
c:o
..-
1
Q
(")
(")
D
Vedere din B
t - - - - r ~
Vedere din D
7
Album de proiectare 30 cu AutoCAD - ca 91
Sectiunea A-A
35 Sectiunea B-B
05
2x45
I
I 1\
J
il \
\ I \
1\ I \
r\! \
I
\1 \
5
LO
I
III
I
I
I
N
II il. I
I
I
N C")
C")
N lSI
o
-=t
I 32
I
I
I
1Y
1
I 32.5
1.
45
pl
65
9 2 Album de proiectare 30 cu AutoCAD CP
116851.4311269
I-
I
I
i
10
374437.39972797
~ t
~
,
I
1-
74
104
5
o
(")
Sectiunea B-B
Album de proiectare 3D cu AutoCAD - CD 93
!
I
01 col
N 0>1
LO
2
c:o
_1
Sectiunea A-A
0115
0110
030
65
116
125
94 Album de proiectare 30 cu AutoCAD CS
o
1'-
4
o
.....
.....
86
c:o
N
o
c:o
108
110
060
074 I
c:ol
-0
I
.....
L-__ ____ ______ __
.1
072
1.
60
44
o
CD
I
I
,
1'-1
0 6
, Detaliul C
I
\7-tf
N
658339.0976756
Sectiunea B-B
1x45
A
44
Vedere din C
8
82
259195.32764823
I C
Ta ~
Sectiunea A-A
N
,....
o
N
N
,....
Album de proiectare 30 cu AUlOCAD - CS 9 5
l'
060
C)
LO
'<t
o
....-
I
I
LO
N
M
N
050
Sectiunea B-B
I
1. 36 .1
9 6 Album de proiectare 30 cu AutoCAD CS
N
N
050 _1
046 I 1x45
1----=-:.-=----1
o
....-
o
....-
CX)
032
Sectiunea A-A
1-
45
1-
85
150214.19195384
co
1.0
Vedere din C
64
270927.2937872
24
co
11x45
Sectiunea A-A
31 .
: 12
.-
o
..-
o
(")
48
94
N (")
N ..-
l"-
N
Detaliul D
2,3
N
ro
Sectiunea B-B
25
N
N
27,5
Album de proiectare 30 cu AuIOCAD CS 9 7
Sectiunea D-D
0. ....
9 8 Album de proiectare 30 cu AutDCAD - CS
70
106
I Sectiunea B-B
Q-
Sectiunea c-c
-8
443396.11721632
Vedere din C
611680.95964666
207
130
30
'''='====; __ lJ
o
ro
lSlt-
I
o
ro
o '-1
~ I I
I I
82
M
N
Sectiunea B-B
I
~ f L ~ -+-===:=:IJ
120
Album de prOiectare 30 cu AU10CAD - CP 99
Vedere din C
Sectiunea C-C
4 gauri 014
echidistante
Sectiunea A-A
110
50
080
066
063
058
~ \ b
~ 120
0
100 Album de proiectare 30 cu AutoCAD CS
7
1 --U---2
~
C
r
Vedere din D
~
'<":
25 I
ILO
1f-----..:
5
=..:3'----<.-i11 eri
55
724477.67558908
Anexa A Programul DIMISO.LSP
Programul DIMISO.LSP a fost prezentat n capitolul 1 la cotarea
desenelor izometrice. Folosind un editor de text - cum este Notepad - (cu
mare rigurozitate) textul dat mai jos. Ca mai mai
ne un mesaj pe adresa de a-mail hcf@ew.ro vi-I trimitem noi
cu ISOARRWS.DWG, asta n mod expres). n felul
acesta vom noi cam dintre cititori sunt de acest sistem de lucru.
Programul n forma mai jos cu pe un PC pe care este
instalat AutoCAD de la versiunea R14 n sus (oricum, sub Windows), este instalat
fontul ARIAL.TTF.
apoi n AutoCAD pe un desen nou sau pe cel pe care izo-
metric linia:
Command: (load "dimiso")
totul e OK primi mesajul:
C:DIMiso
nu, ceva la introducerea textului trebuie
mai
Am presupus text DIMISO.LSP se n directorul n care se
desenul. nu este Menu Tools Load Application ...
n directorul n care se pe calculatorul Dvs. Tot atunci face ca
el se ncarce automat la orice sesiune AutoCAD.
Pentru ca programul trebuie ca existe care
blocurile cu capetele cum se n capitolul 1, trebuie
comanda OPTIONS din AutoCAD pentru a preciza (sub)directorul unde se acest
De acum da oricnd comanda DIMISO. Se implementat-o ...
Sigur face asta atunci cnd desenul izometric pe care
realizat, dar pentru probe face cota re chiar pe desenul gol.
comanda DIMISO apare prompterul "DIMiso:" de cele variante
simbolice: TOPL, TOPR, VERTL, VERTR, HORZL HORZR, la care mai sunt
DIMVAR eXit. DIMVAR permite o de cotare
valoarea. De exemplu, scara a cotei este prea intro-
numele variabilei de sistem DIMSCALE n loc de 1, 1.5 sau 2
o mai mare.
Ca se mecanismul de cota re al AutoCAD-ului. De exemplu,
repeta dnd un Enter.
- 195 -
De se iese fie cu X (de la fie pur simplu tasta ESC.
Cota rea se face fie indicnd originile liniilor ale cotei (extension lines) , fie
Enter cu selector entitatea (line, arc, circle) de cotat.
Se pot introduce comenzi transparente precum 'ZooM sau PAN.
Singura poate atunci cnd, din diferite motive, schim-
fontul ARIAL care este folosit n program pe la ultimele sale linii pentru declararea
stilurilor de text DIM30L DIM30R. E clar pentru a face asta, trebuie n
program pentru a schimba numele ARIAL cu altul dorit de Dvs. n acest caz, trebuie
"Nota" de la programului curs.
Dar programul
* Rutina restaurare variabile
(defun RESVAR O
(setvar "ORTHCH:>DE" o#m)
(setvar "DIMI'IE" d#t)
;; Restaurare variabile DIM
(corrmand flDIMtT flDIMBLK" d#b "STY" t#s "EXIT" "SNA,P!t liS" "S" III!)
;; Fixare plan desen pe standard
(setvar "SNA:AfXlE" s#m)
(setq *error* olderr
o#m nil
d#b nil
tits nil
d#t nil
s#m nil
'" * Rutina preluare erori
(defun DIMERR (s)
(if (/= s "Function cancelled")
(princ (strcat "\nEroa.re: " s
(setq s nil)
(resvar)
(princ)
restaurare variabile de sistem
;;; * PROGRAM PRINCIPA!.====================
(defun C:DIMISO
(/ cii sl s2 u p1 p2 p3 b c q h i p4 p5 p6 p7 pa p9 d1 d2)
(setvar "OIDEaiQ" O)
;; Fixare rutina erori pe functie program
(setq olderr *error*
*error* DIMerr
d#b (getvar "DIMBLK")
t#s (getvar " TEX'!'STYLE " )
o#m (getvar " ClRTHQO)E" )
d#t (getvar "DIMI'IE")
s#m (getvar Il SNA:AfXlEfl )
(setq cii "")
(oct'l'Il\a.nd li Snapl! II $'f " In t Tf)
;valoare de start
;trece pe izometrie
(setvar "SNAPMCI)E" O)
(setvar "CR1'HOlCOB" O)
(while (/= u "X")
(setq (li
(strca.se
(getstri.ng
(strcat
; elimina "topaia.l.a"
; fereste de abandon
;start cic.lu =tare
"\nDIN1so ['l'OPL, TOPR, VERTL, VERTR, BCRZL, iIC5IZR, DnNAR, eXit] <"
(li
(wh1l.e (or (a (li "U") (= (li "UN!)O"
(oamnand "tJNI)O" "1") ;undo ultima actiune
(setq di
(strcase
(getstrtnq
(strcat
"\nDIMiso [TOPI., TOPR, VERTL, VERTR, BCRZL, iIC5IZR, DnNAR, eXitl <"
di
">: H
)
(if (= di un)
(setq di "un)
; asigura rel.uare cu RETURN
(while (- "DnNAR" di) ; start cic.lu variabile DIM
(setq di (getstri.ng "\nInt:rcc!u.oeti DIMIrar: "
(setvar "QI)BCHO" 1) ;pune pralpter DIM: ptr.intra.re
(oamnand "DIM" di pause "EXIT")
(setvar "Q(t[)EQl;O" O)
(setq di
(strcase
(getstrinq
(strcat
; ascunde comenzile
"\nDIN1so [TOPI., TOPR, VERTL, VERTR, BCRZL, HORZR, DnNAR, eXit] <"
di
)
(if (- di "" )
(setq di "DnNAR")
(if (= di "")
(setq di d#c)
; asigura repetare la Enter
;fina.l. cic.lu variabil.e DIN
- 196-
(setq d#c di)
)
(cond
f- di "X")
(setq s1 (getvar "DIMSE1")
s2 (getvar "DIMSE2")
(cond
= di "BCRZL")
(setq b 90
c150
)
)
g "ARRaf30L"
h "DIK30L"
i O
a di "HORZR")
(setq b 90
c 30
)
)
g
h "DIK30R"
i 2
= di "VER'l'L")
(setq b 150
c 90
)
)
9' n ARRCI5f3ORn
h "DIM3OR"
i O
- di "VERTR")
(setq b 30
c 90
)
)
g "ARROIOOL"
h "DIM30L"
i 2
== cii. "'l'OPL")
<setq b 150
)
)
c 30
g ".ARACIf3OL
f
!
h "DIK30L"
1 1
- di "TOPR")
(setq b 30
c 150
g .. ARROIil3OR"
h "DIM3OR"
;nilIIic daca s-a int:rcc!u.s X
;LBFl'
;RIGHT
;LBFl'
;RIGHT
;TOP
)
)
(T
i 1 ;TOP
(prcmpt "\nDIM:l.so: EROARE: cuvnt che:ie necunoscut. H )
(setq d:i. "X" )
) ; intrerupere tratare m:oa.re
) cond
(cond
/= d:i. "X") ; nu lUCl:eaza daca ElaT e setat pe eroare
;; F:i.xa.re sageata si stil
(CX'IIIIDalld "DIM" "DIMBLK" g "STY" h "ElaT")
;; F:i.xa.re p1an desenare izatetr:1c
(setvar "SN1t.PlSOPAIR" 1)
(setq
p1 (getpo1nt
"\nF1rst extension line oriqin or RETt.lRN ta select: "
(cond
= nil p1) ; daca nu e introdusa originea ...
; ... selecteaza linia de cotat (setq p2 (entsel
(while (= nil p2)
)
(pr1nc "\nN1mic qasit!")
(setq p2 (entsel
(setq p2 (osnap (cadr p2) "MID") ;mijloc linie
p1 (osnap p2 "ENO") ;capat start linie
)
)
p2 (polar p1 (angle p1 p2) (* 2. O (d:i.stance p1 p2)
; celalalt capat
(boundp 'p1) ;daca prima origine a fost data
(initget 1)
(setq p2 (get:point "\nsecond exterlsion line oriqin: "
)
cond
(initget 1)
(setq p3 (geqx,int "\nDIMension line location: "
(setq p4 (inters pl
(polar pl (* (/ PI 180.0) B) 1)
;; Gaseste puncte ...
p3
(polar p3 (* (/ PI 180.0) C) 1)
onseg
; ... pentru p3, cota ...
p5 (inters p2
(polar p2 (* (/ PI 180. O) B) 1)
; ... si linie extensie
p3
(polar p3 (* (/ PI 180. O) C) 1)
onseg
- 197-
)
)
p3 (polar p5 (angle p5 p4) (/ (d:i.stance p5 p4) 2
p6 (polar pl
(angle pl p4)
(* (getvar "DIMEXO") (getvar "DIMSCALB"
p7 (polar p4
(angle pl p4)
(* (getvar "DIMEXE") (getvar "DIMSCALB"
)
pa (polar p2
(angle p2 p5)
(* (getvar "DIMEXO") (getvar "DIMSCALB"
p9 (polar p5
(angle p2 p5)
(* (getvar "DIMEXE") (getvar "DIMSCALB"
dl (rtos (d:i.stance p4 p5)
(getvar "lllNITS")
(getvar "LUPREC")
)
d2 (getstring (strcat "\nDIMension text <" dl ">: "
(if (= d2 "")
(setq d2 dl)
(if (= (getvar "DIMSE1") O)
(CCIIIIIIand "LINE" p6 p7 "")
(if (= (getvar "DIMSE2") O)
(CX'IIIIDalld "LINE" pa p9 "")
;permite intrare inplicita text DIM
;desen da/nu
;desen da/nu
(setvar "DIMSE1" 1) ;prev:ine desenare cota ALIgned
(setvar "DIMSE2" 1) ;linie extensie incorecta
(CCIIIIIIand "DIMl" "ALIGNED" "NON" p4 "NON" p5 "NON" p5 d2)
(if (= d:i. "VERTL") ;Nota al
(CCIIIIIIand "R.OTATE
If
Il L!1 II fi p3 fi laO!?)
(setvar "DIMSEl" sI)
<setvar "DIMSE2" 52)
)
; resetare ptr. urmatoarea cota
;final cond
;final cond
;final cond
(T (setq U "X" ;daca d:i. e setat pe ElaT
; final cond
; final ciclu cotare
(resvar)
(princ)
; restaurare variabile sistem
; fara nil la iesire
;FINAL PROGRAM PRINCIPAL===
, " * Linii program pentru setari la incarcare (:t.c:IN)
<setvar O)
(if
)
(mUl (tblsearch "m.cx:::K" "ISOARRN'S" ;daca nu-s ;i,.ncareate sageti izaDetrie
(progn
(00IIIIliI..'1d "INSERT" "ISOARRN'S" nil) ;i.nserare bloc
; ;dec.lar stil DIH30R (vezi Nob. b/)
(c:x:a'II'DCUld "ST!'L.E" I1DIM3ORfl ftARIALf! no" uO.8" '30
fl
ffNff !tN")
; ;dec.lar stil DIM30L (vezi Nota b/)
(c:x:a'II'DCUld "OIM3OL" "ARIAL" "on "'0.8
ff
_3Qtt HN
H
"lr)
,. Nota: In acest progr.iIIIl fcmt:ul ales este ARIAL.TTF. Daca alegeti alt
font, iar acesta. aD:i.te setare verticala (ea de exeuplu
t:Itt. shx sau siJlplex. shx) atunci. t:I::eI:Iuie:
al sa (X)recta.ti orientarea textului punand aici. "VER'l'R" in
loc de "VERl'L"
bl sa mal. adaugati eate un "N" la finalul acestor CXlIIIE!nZi
pentl:u a iJIpune sa nu fie aleasa cptiunea "Vertical"
(pri.nc fi \nC: DIMiso")
(pri.nc)
; final setari. LOAD
;pralpter
; fara nil la LOADl
O
- 798-
Anexa B Programul DIM3D.LSP
Programul DIM3D.LSP a fost prezentat n capitolul 5 la cotarea 3D
direct pe model nu n Paper Space. Folosind un editor de text - cum este Notepad -
(cu mare rigurozitate) textul dat mai jos. Ca mai
mai ne un mesaj pe adresa de e-mail hcf@ew.ro vi-! tri-
mitem noi. n felul acesta vom cam dintre cititori sunt de acest sistem
de lucru.
Programul n forma mai jos cu pe un PC pe care este
instalat AutoCAD de la versiunea R14 n sus (oricum, sub Windows).
n AutoCAD pe un desen nou sau pe cel pe care izometric
linia:
Command: (load "dim3d")
totul e OK primi mesajul:
C:DIM30
nu, ceva la introducerea textului trebuie
mai
Am presupus text DIM3D.LSP se n directorul n care se desenul.
nu este Menu Tools Load Application ...
n directorul n care se pe calculatorul Dvs. Tot atunci face ca el se
ncarce automat la orice sesiune AutoCAD.
De acum da oricnd comanda DIM3D. Se implementat-o ...
Sigur face asta atunci cnd modelul 3D creat anterior.
Ca se mecanismul de cota re al AutoCAD-ului.
Cotarea se face fie indicnd originile liniilor ale cotei (extension lines), fie
Enter cu selector entitatea (line, arc, circle) de cotat.
Se pot introduce comenzi transparente precum 'ZOOM sau 'PAN.
Dar programul
;;********Listing 1 Functia OIM_UCS********
;; OIM_UCS seteaza UCS-ul pentru
;; cotare aliniata in 30
(defun OIM_UCS (EN UCSTYP / EL Pl P2 TMP V)
(cond
= (type EN) 'ENAME)
(setq EL (entget EN
- 199-
(if (= (cdr (assoc O EL "LINE") 1 inie
(setq Pl(cdr (assoc 10 EL
P2 (cdr (assoc 11 EL
(prompt "\n(DIM_UCS) Entitate non-LINE! ")
)
)
and (listp (car EN (listp (cadr EN)))
(setq Pl (car EN)
)
)
(t
P2 (cadr EN)
(prompt "\n(OIM_UCS) Parametru invalid")
)
(if (and Pl P2)
(progn
;; Pl va fi cel cu Z min
(i f (caddr P2) (caddr Pl
(setq TMP Pl
)
)
Pl P2
P2 TMP
;; Veste vectorul de baza
(setq V (mapcar '- P2 Pl
;; Selectare stil UCS
(cond
or (nu11 UCSTYP)
(= UCSTYP O)
.. Unghiul fata de
(command
" UCS"
" 3P"
(trans Pl O 1)
(trans P2 O 1)
(trans
(1 i st
planul XOY
o
1
(- (car P1) (cadr V
(+ (cadr Pl) (car v
(caddr P1)
;; End cOlIIIland
;; End caz zero
= UCSTYP 1)
;; Perp. pe planul XOY
(setq
DXY
UV
(sqrt
(+
)
)
(* (car V) (car V))
(* (cadr V) (cadr V
(1 i st
(j (car V) DXY)
(j (cadr V) DXY)
(cOllll1and
" UCS"
3P"
(trans PlOI)
(trans P2 O 1)
(trans
(l i st
(+ (car Pl)
(* (car UV) (caddr V) -1.0)
(+ (cadr Pl)
(* (cadr UV) (caddr V) -1.0)
-200 -
o
1
(+ (caddr P1) OXY)
;; End conanand
;; End caz 1
(t (prol1pt "'nValoare necunoscuta UCSTYPl "
)
End COND
T
" End PROGN
;; End IF
;;**Listing 2 Functia comanda C:DIM3D****
(defun C:DIM3D ()
(setq CE (getvar "CMDECHO"
(setvar "CMDECHO" O)
(initget O "O 1")
(setq TMP
(getkword
"'nSelectati sti 1 cotare O sau 1 <O>:
(i f (null TMP)
(setq TMP O)
(setq TMP (atoi TMP
(setq UCSTYP TMP)
(while (setq TMP (dim_getobj
(dim_ucs TMP UCSTYP)
;; stabileste UCS pentru entitatea cota
(colIIIland
II DIM"
" AU"
;; cote aliniate
(if (= (type TMP) 'ENAME)
(command ;; daca e entitate asociaza pct select
IU.
(l i st TMP
(cdr (assoc 10 (entget TMP)
(command " altfel, furnizeaza punctele
(car TMP)
(cadr TMP)
;; End IF
(prompt "\nIndicati locul de plasare a cotei")
(command PAUSE 1111)
;; operatorul indica locul de asezare
(command "EXIT")
;; End comanda DIM
;; End WHILE
(command "_UCS "_W")
(setvar "CMDECHO" CE)
(princ)
comuta UCS pe WCS
;;********Listing 3 Functia DIM_GETOBJ******
(defun DIM_GETOBJ (1 Pl P2 EN)
(setq P1
(getpoint
"\nPrimul punct [Enter daca sel ectati o entitate]: U
(if (null P1)
(setq EN
(car (entsel U\nSelectati entitatea LINE (Enter = HIT): "
(setq P2
- 201-
;; End IF
(cond
(EN EN)
(getpoint P1 " urmatorul punct: ")
and P1 P2) (1 i st P1 P2
(t ni 1)
;; End COND
;;Listing 4 Functia comanda C:DIMTEXTFIX*******
(defun C:DIMTEXTFIX ()
(setq EL
(entget
(car
(entsel "\nSelectati entitatea cota: ")
(if (and EL (= (cdr (assoc O EL "DIMENSION"
(progn
(setq E2 (tbl search "BLOCK"
(cdr (assoc 2 EL
El (cdr (assoc -2 (2
(whil e El
(setq E2 (entget El
(if (= (cdr (assoc O (2 "TEXT
U
)
(progn
(setq FI (cdr (assoc 71 (2
FI (if (= F1 O)
2
O
E2 (subst
(cons 71 Fl)
(assoc 71 (2)
E2
(entmod E2)
;; End PROGN
;; End 1 F
(setq El (entnext El
}
;; End WHllE
(entupd (cdr (assoc -1 El)
;; End PROGN
(prompt "\nNu ati selectat o cota!")
;; End IF
(pri ne)
o
-202 -
Bibliografie
MONCEA, Jean, Alexandru, TACORIAN, Tacor, Alexandru Geometrie Descrlpt1v6
.. Desen Tehnic, Desen Industrial, Editura 1970
NITULESCU, Theodor, Paul Album de repruanIIrI axOllOlMlrlee in ctesenullncfus.
triaI. Editura 1978
Constantin AutoCAD, Manual de initiere, Editura FAST, 1993
Constantin AutoLISP, Manual de programare, Editura FAST, 1996
Helio CAD Fana, Revista de Proiectare de Calculator, Editura FAST, (nr. 1. iunie
1991 ... nr. 61, iulie 1999)
.. Tehnologie. Revista de Informare Editura Tehnic Media,
2003
O
-203
"Q)
.....l
o
o
o
o
o
N