Introducere în CorelDraw pentru lucrul cu scripturi
Macroanele pot fi:
- crea automat,
- scrie "de la zero",
- și media dintre primul și al doilea.
Creați automat.
Pentru a face acest lucru, CorelDraw are caracteristici speciale:
1) comanda „înregistrare“ (Instrumente -> Visual Baisic -> Record) (orez) pentru a crea un nume de macro și indică faptul că o altă acțiune de înregistrare (nu toate) pe care doriți să îl înregistrați pentru reproducerea automată.
2) Comanda "Stop" (Instrument -> Visual Baisic -> Stop) indică faptul că înregistrarea sa terminat.
3) Redați acțiunile efectuate - executați comanda "Play" (Instrument -> Visual Baisic -> Play).
Salvând documentul CorelDraw în format * .cdr, salvați automat și structura macro-urilor din această sesiune, adevărul atunci când încărcați acest fișier ar trebui să fie specificat (sistemul va cere)
"Emailele macro". Exemple de organizare automată a macrocomenzilor sunt date în lecția 1.
Scrieți de la zero.
Aici trebuie să cunoașteți elementele de bază ale limbajului de programare
Visual Basic pentru aplicații (a se vedea de exemplu aici), comenzile CorelDraw pe VBA, Learning CorelSCRIPT, etc. că o ocupație destul de plictisitoare și puterea programatorilor cu experiență
(De exemplu, textul macro prin „Notepad“ sau WordPad pentru a salva un fișier cu extensia * .csc (uita-te cu atenție) și apoi executați macro ( „Tools -> Rulați scriptul“) pe care le-au primit un macro scris de la zero, cu toate acestea, fără nici un fel. codurile CorelDraw.
Macroanele reprezintă media între crearea acestora în mod automat și scrierea "de la zero"
De cele mai multe ori trebuie să duplicați acțiunile. O acțiune în același timp poate fi creată automat și apoi problema tehnologiei (sau, mai precis, unele metode de creare a ciclurilor pe Visual Baisic). Prin urmare, trebuie să actualizați macrocomenzile create automat. În acest caz, în structura (proiecte), în cazul în care acestea sunt scrise în mod automat.
Exemplu 1. Creați o rotație macro a unui segment în jurul punctului său de pornire.
Iată textul lui
Sub Macro1 ()
Dim i ca intreg
x1 = 4
y1 = 5
r = 4
ug0 = 0
num = 41
ugi = 6,28 / num
Pentru i = 1 Pentru a num
ug = ug0 + i * ugi
x2 = x1 + r * Sin (ug)
y2 = y1 + r * cos (ug)
Dim s104 Ca formă
Dim crvs104 Ca curbă
Setați crvs104 = CreateCurve (ActiveDocument)
Cu crvs104.CreateSubPath (x1, y1)
.AppendLineSegment x2, y2
Sfârșit cu
Setați s104 = ActiveLayer.CreateCurve (crvs104)
k = k + 1
Înainte i
End Sub
Se vede că codul pentru crearea unui segment (luat din înregistrarea automată a unei macrocomenzi pentru un segment) este alcătuit din 6 linii:
Dim crvs104 Ca curbă
Setați crvs104 = CreateCurve (ActiveDocument)
Cu crvs104.CreateSubPath (x1, y1)
.AppendLineSegment x2, y2
Sfârșit cu
Setați s104 = ActiveLayer.CreateCurve (crvs104)
unde x1, y1 și x2, y2 sunt coordonatele începutului și sfârșitului segmentului.
Ciclul este organizat după cum urmează:
Pentru i = 1 Pentru a num
Exemplul 2. Organizați o căutare a punctelor pe un segment de linie dreaptă.
Sub Macro2 ()
Dim i ca intreg
num = 25
r1 = -0,1
r2 = -0,1
r3 = 0,1
r4 = 0,1
x1 = 1
y1 = 1
x2 = 10
y2 = 7
tb = 1 / num
Pentru i = 0 Pentru a num
t = i * tb
x = (1 - t) * x1 + t * x2
y = (1 - t) * y1 + t * y2
Dim s45 ca formă
Set S45 = ActiveLayer.CreateEllipse ((x + r1), (y + r2), (x + r3), (y + r4), 90 #, 90 #, False)
s45.Fill.UniformColor.CMYKAssign 0, 100, 100, 0
Înainte i
Dim s104 Ca formă
Dim crvs104 Ca curbă
Setați crvs104 = CreateCurve (ActiveDocument)
Cu crvs104.CreateSubPath (x1, y1)
.AppendLineSegment x2, y2
Sfârșit cu
Setați s104 = ActiveLayer.CreateCurve (crvs104)
End Sub
Pentru a desena un punct și pentru ao umple cu culoare, folosiți codul:
Dim s45 ca formă
Setați s45 = ActiveLayer.CreateEllipse ((x + r1), (y + r2), (x + r3), (y + r4), 90 #, 90 #
s45.Fill.UniformColor.CMYKAssign 0, 100, 100, 0
Exemplul 3. Determinați distanța minimă dintr-un punct într-un segment. Afișați distanța DF de la punct la segment.
Iată ciclul (textul complet al Macro 3 vedeți aici) (pentru CorelDraw 10 aici)
Pentru i = 0 Pentru a num
t = i * tb
x = (1 - t) * x1 + t * x2
y = (1 - t) * y1 + t * y2
Setați s45 = ActiveLayer.CreateEllipse ((x + r1), (y + r2), (x + r3), (y + r4), 90 #, 90 #
s45.Fill.UniformColor.CMYKAssign 0, 100, 100, 0
Setați crvs104 = CreateCurve (ActiveDocument)
Cu crvs104.CreateSubPath (x, y)
.AppendLineSegment x3, y3
Sfârșit cu
Setați s104 = ActiveLayer.CreateCurve (crvs104)
s = Sqr ((x - x3) * (x - x3) + (y - y3) * (y - y3))
Set S46 = ActiveLayer.CreateEllipse ((x - r5), (e - r5 + 1), (x + r5), (s + r5 + 1), 90 #, 90 #, False)
s46.Fill.UniformColor.CMYKAssign 0, 100, 100, 100
Dacă s
Set S47 = ActiveLayer.CreateEllipse ((x - r5), (e - r5 + 2), (x + r5), (s + r5 + 2), 90 #, 90 #, False)
s47.Fill.UniformColor.CMYKAssign 0, 100, 100, 100
Sfârșit Dacă
Înainte i
În ciclu se produce:
- o căutare a segmentelor de la un punct la o linie dreaptă,
- o căutare de puncte pe o linie,
- căutarea punctelor pe suprafața Fermi în întreaga regiune a existenței suprafeței Fermi
- căutarea punctelor de pe suprafața Fermi la o distanță minimă de la un punct la o linie dreaptă.
Exemplul 5. Moire pe un pătrat (Macro1)
Exemplul 6. Moire pe un triunghi (Macro2)
Exemplu 7. Răspândește cercurile pe foaia A4 aleatoriu cu umplere aleatorie.
Exemplul 8. Pe foaia A4 creați trei forme: un cerc, un pătrat și un triunghi cu umplere aleatorie.
Cum se pot descărca macro-uri în CorelDraw, vezi mai sus.
Notă. Când copiați texte în recorderul CorelSCRIPT, liniile pot fi copiate cu transferul, ceea ce va cauza o eroare (aceste linii vor fi evidențiate), așa că încercați să le deplasați spre stânga.
Casete de dialog încorporate: ferestre de intrare și ieșire
Exemplu 9. Din fereastra de introducere introduceți un nume de familie, în fereastra de ieșire imprimați numele și ambele puneți-l în codul grafic pe câmpul de lucru.
Sub Macro1 ()
Dim zF ca șir, zI ca șir
zF = InputBox ("Numele dvs.", "Fereastra de intrare")
Dim s ca formă
Setați s = ActiveLayer.CreateArtisticText (0, 0, zF)
Cu s.Text.FontProperties
.Nume = "Arial" "Arial Black" "TimesET"
.Dimensiunea = 40
Sfârșit cu
zI = "Boris"
Dim s1 ca formă
MsgBox "Numele dvs., frate, va fi:" zI
Setați s1 = ActiveLayer.CreateArtisticText (2, 0, zI)
Cu s1.Text.FontProperties
.Nume = "Arial"
.Dimensiunea = 40
Sfârșit cu
End Sub
La realizarea lucrărilor grafice, este necesar să se conformeze GOST, în special, desenele trebuie să aibă o inscripție de bază. De fiecare dată când este dificil să desenezi o muncă laborioasă. Puteți stoca desenul blocului de titlu în format .cdr și îl puteți utiliza, dar este mai convenabil să aveți o macrocomandă cu care să puteți introduce rapid datele într-un dialog
Exemplul 10. Scrieți o macrocomandă care execută automat inscripția principală cu intrarea în dialogul de date și variabile persistente: nume, număr lucrare, foaie, număr de foi, numele grupului. Începutul sistemului de coordonate este plasat în colțul din dreapta jos.
Rezolvarea problemei.
1. Executați cadrul și completați-l pe foaie în timp ce salvați scenariul.
2. Organizați intrarea și completați datele variabile prin caseta de dialog de introducere.
Protocolul nu scrie textul în câmpul de lucru. Prin urmare, mai întâi trageți dreptunghiuri (din colțul din stânga jos în sus), apoi luați aceste coordonate și înlocuiți-le în codurile de ieșire ale textului dorit. Mai jos în macro se prezintă această tehnică.
Sub Macro2 ()
Dim s980 ca formă
Setați s980 = ActiveLayer.CreateRectangle (2.786543, 2.676874, 5.645953, 3.549236, 0, 0, 0, 0)
Setați s3 = ActiveLayer.CreateArtisticText (2.786543, 2.676874, "Mostră")
Cu s3.Text.FontProperties
.Nume = "Arial"
.Dimensiune = 24
Sfârșit cu
End Sub
Macro (CorelDraw11) construirea "inscripției de bază" cu intrarea în dialogul numelor de familie: cine a executat, cine a verificat, numărul sarcinii, numele grupului, numărul opțiunii aici.
Notă principală cu o macrocomandă de intrare a datelor în format .cdr descărcați de aici.
Rezumat. Folosind macrocomenzi, puteți automatiza unele dintre tipurile repetitive de construcție în lucrările grafice. În acest set de macrocomenzi, elementele de bază sunt colectate: un segment de linie dreaptă, un cerc, un dreptunghi, un poligon și așa mai departe.
Intr-un alt set de axe axonometrică 5 proiecții predeterminate standard de axonometrice (izometrice, diametre și frontale diametre izometrice oblice, oblic izometrice orizontală - proiecție antiaerian) utilizate în geometria descriptivă și redactarea.