Contacte

Cum se scrie scenarii pentru ilustrator. Scripturi utile și gratuite pentru Adobe Illustrator

Aici vreau să fac o listă structurată de scripturi cu o descriere și link-uri de lucru. Dacă vrei să sugerezi un scenariu interesant, scrie în comentarii.
Actualizat 24-10-2016.
Actualizat.
Actualizat.

Corectarea arcului

Rotunjește arcurile desenate manual.


Adaugă vârfuri de săgeți sub formă de triunghiuri la capetele căii.


Adaugă vârfuri de săgeți la capetele căii.

Ajustați liniuțele (offset)


Face simetrică o cursă întreruptă.

Ajustați liniuțele


Complementează scriptul anterior făcând liniile de aceeași lungime.

Spirala arhimediană


Desenează o spirală arhimediană.
Setările sunt disponibile în script.
var radius_increment = 5; // rază-increment pe rundă (punct)
var uzu_angle = 15 / 180 * mpi; // unitate de unghi de rotunjire (radian)
var uzu_roundtime = 10; // timpii de rotunjire


Desenează un cerc din numărul dat de puncte. În imagine sunt 2 cercuri, de 10 și 2 puncte.


Conturează obiectele cu un cerc.

tangente comune


Găsește puncte în apropierea unei căi și le conectează cu linii.

Tăiați la ancorele selectate


Taie conturul în puncte.

Dans


Generează oameni dansatori pe un nou strat.

Împărțire (lungime)


Adaugă numărul de puncte pe care îl alegeți între punctele existente.

Dup la ancorele selectate


Copiază obiectul de sus deasupra punctelor. Punctul poate fi desenat cu un stilou sau pot fi folosite puncte de orice formă.

Extindeți mânerele


Scalarea pârghiilor în procentele specificate.

Alăturați-vă în mod rezonabil


Închide căile deschise selectate într-un singur obiect.

Îmbinați ancore suprapuse

Când punctele se suprapun unele pe altele, ele sunt greu de văzut. Acest script șterge calea de la punctele care se suprapun, conectându-le.

Metaball (Arc)



Metabolizează obiectele. Conectează obiecte cu arce. Puteți seta gradul de curbură.

Lungimea drumului


Adaugă text cu lungimea căii selectate.

Scoateți ancorele

Șterge punctele selectate fără a întrerupe calea. Cum să eliminați puncte cu instrumentul de ștergere a punctului de ancorare.


Dacă, atunci când creați un amestec, centrul tranziției se îngustează, trebuie să schimbați direcția uneia dintre căi. Acest script schimbă direcția căii fără a-i schimba aspectul.

Orice colț


Rotunjește orice colțuri specificând o rază în orice unitate. Este convenabil să setați toate colțurile la un grad de rotunjire. Puteți efectua operații matematice pe colțurile create. De exemplu, împărțiți grade la 2 sau adăugați 10 grade la toate unghiurile.

Curba Sinusului


Desenează o sinusoidă. Sunt 2 valuri in imagine. Primul este un filtru ilustrator, al doilea este creat de un script.

Tangente dintr-un punct


Desenează linii dintr-un punct de-a lungul tangentelor obiectelor.

asemănător unui copac


Generează arbori destul de realiști. Uneori va trebui să rafinați trunchiul și să rotunjiți capetele ramurilor setând capetele rotunjite în paleta Stroke.

Connect Centers


Desenează o linie prin centrul geometric al obiectelor și închide calea pe obiectul de pornire.

Exemplu de arbore Editare


Desenează arbori fractali
- Nu întâmplător
- cu aleatoriu

Salut Tomsk

Microstocker și ilustratoarea Olga Zakharova și-au împărtășit setul de scenarii pe care le folosește în fiecare zi în munca sa. Aceasta includea scripturi atât pentru crearea de ilustrații, cât și pentru automatizarea unor fluxuri de lucru Adobe Illustrator.

După cum probabil ați înțeles deja, mereu încerc să-mi optimizez fluxul de lucru cât mai mult posibil :) Și astăzi vreau să vă povestesc despre câteva scripturi pentru ilustrator, care mă ajută foarte mult în acest sens. Făcând clic pe numele scriptului, veți fi dus de unde îl puteți descărca/cumpăra.

Închideți toate căile

Preț: gratuit
Ce face: scapă de căile deschise care nu ar trebui să fie în ilustrația stoc

Pentru a trimite o ilustrație vectorială în stoc, trebuie să urmați o serie de „reguli” - în special, scăpați fișierul de căile deschise. Apropo, este foarte ușor să aflați numărul lor într-un document - trebuie să selectați totul (ctrl + A), mergeți la meniul de sus Window-Document Info - în fereastra care apare, „renunțați” meniul în dreapta sus și selectați Obiecte. Dacă scrie Deschide: 0 în paranteze lângă Căi, felicitări, nu există nicio eroare în poza ta (cel puțin nu în căile deschise). Dacă numărul este mai mare decât zero, aceasta este o încălcare a regulilor de stoc. Și nu știu cât timp am petrece cu toții căutând aceste căi deschise deseori complet de neînțeles, dacă nu ar fi acest minunat script gratuit - pânză toate căile, care de obicei vă permite să închideți toate căile deschise în mai puțin de un minut fără să vă deranjați. ei căutare manuală. În același timp, imaginea în sine nu se schimbă deloc. Un must have pentru toți distribuitorii!

Eraseră magică

Preț: $5
Ce face: decupează opera de artă în jurul marginii scenei, eliminând toate obiectele din afara acesteia
Script magic, fără de care nu îmi pot imagina viața. Deosebit de relevant pentru cei cărora le place să facă modele, dar îl folosesc literalmente pentru fiecare ilustrație - m-a răsfățat atât de mult. În loc să măsoare un pătrat uniform pentru a-l pune sub fundal, îl fac doar mai mare decât zona de lucru și, după ce termin de desenat, pornesc radiera - și elimină tot ce nu este necesar.

Când am învățat prima oară să desenez în ilustrator și am încercat să-mi fac primele modele, am fost foarte deprimat de procesul de tăiere a pieselor suplimentare și de a căuta mici „rămășițe”. Se pare că am șters totul - verifici dimensiunea și nu există un pătrat uniform, ci, să zicem, 2001.38 în loc de 2000 de pixeli în înălțime. Și te duci din nou să cauți unde s-a pierdut micropiesa suplimentară tăiată, dar nu îndepărtată... Acum toate modelele mele sunt întotdeauna perfect pătrate. Și știu sigur că atunci când încerc să le propagă, nu voi întâlni „loose fit” și alte bug-uri urâte. Magic Eraser va tăia totul în jurul marginii și va elimina tot ce este tăiat.

Trebuie avut în vedere că atunci când tăiați un fișier greu, progresul scriptului nu este afișat imediat (adică timp de câteva secunde - uneori 10-20 - bara de progres poate rămâne goală), principalul lucru este să nu atingeți el, dar du-te să bei ceai sau cafea, se va tăia. Uneori durează 15-20 de minute pentru a tăia urme vectoriale de acuarelă pe macul meu destul de rapid, dar totul este mai ușor decât manual - vă puteți imagina câte bucăți în plus sunt? :)

Nuanțe variate

Preț: gratuit
Ce face: colorează obiectele selectate cu culori aleatorii

Îmi place să folosesc acest script atunci când desenează frunze de flori, când există multe „particule” diferite care sunt plictisitoare de lăsat pictate într-o singură culoare. Pentru a aplica scriptul, trebuie să introduceți un număr de la 0 la 100, care reflectă „gama” de răspândire a noilor culori aleatorii. Cu cât numărul este mai mare, cu atât ilustrația va fi mai colorată și mai variată. Intru de obicei 15-25, imi ajunge :) Scenariul danseaza in acelasi timp din culoarea originala a pozei. Bun pentru a include inspirație și pentru a adăuga varietate ilustrațiilor.

Colțuri dinamice

Preț: 82 USD (pentru un set de patru scripturi, unul nu poate fi achiziționat separat)
Ce face: rotunjește colțurile în mod dinamic, permițându-vă să vă întoarceți și să modificați raza în orice moment

În general, acest script este unul dintre cele patru incluse în pachetul Vector Scribe de la renumitul creator de script Astute Graphics. Toate sunt foarte grozave, dar din toate cele patru, până acum folosesc doar colțuri pentru difuzoare, pentru că încă nu am apucat să învăț funcționalitatea completă a altora :)

Scriptul nu este gratuit și nici ieftin - pachetul Vector Scribe costă 82 USD, dar puteți descărca o versiune de încercare și o puteți încerca gratuit timp de 30 de zile. Won Glitchka m-a sedus la scenariul colțurilor difuzoarelor (amintiți-vă, am vorbit despre cursuri lynda.com), spunând că, după ce a încercat acest scenariu în practică, este deja imposibil de imaginat cum a trăit fără el. Și este adevărat.

L-am descărcat pentru a-l testa - și m-am obișnuit atât de mult încât rotunjirea oricărui colț, care înainte fusese obișnuită cu rotunjirea colțurilor, la care trebuia să mă întorc după sfârșitul perioadei de testare, a început să pară teribil de preistoric. și unealtă stângace, de parcă ai curăța cartofii cu un topor... Și m-am hotărât să cumpăr - și nu îmi pare rău. Este deosebit de util în desenarea graficelor, infografice și pictograme, precum și orice lucru cu care poate fi desenat forme simple si pentula. Cei care pictează exclusiv cu o pensulă cu blob nu au nevoie de ea.

Autosalvator

Preț: gratuit - după înregistrare
Ce face: salvează automat ilustrația la intervale specificate

Acest scenariu a făcut lista din timp pentru că până acum, din fericire, nu au existat momente în care aș fi avut șansa să-l încerc în acțiune. Dar, deoarece, pentru o logică de neînțeles, nu există nicio funcție de „salvare automată” în illustrator, acest script este până acum singura soluție la problema unei prăbușiri bruște și a pierderii tuturor datelor. Timp de șase luni, ilustratorul s-a prăbușit fără avertisment de cinci sau șase ori pentru mine și, desigur, fiecare dintre ele - cu câteva secunde înainte de a salva o lucrare globală care a durat o perioadă semnificativă de timp :) Chiar vreau să cred că acest plugin va ajuta la minimizarea pierderilor data viitoare când zborul candelabrului.

Odată instalat, scriptul va rula automat când este creat un document nou sau este deschis unul vechi. Va trebui să selectați o perioadă de salvare (puteți alege și să nu salvați, dar să vă reamintiți să salvați - probabil în cazul în care vă este teamă să suprascrieți accidental fișierul).

În general, puteți găsi sute de scripturi diferite pe Internet, dar astăzi folosesc doar aceste cinci. Am cumpărat un pachet de scripturi plătite de la Astute Graphics, care mi-a dat literalmente lumea peste cap :)

Sunt adesea întrebat cum să instalez un script descărcat / achiziționat, dar aici, din păcate, nu vă voi ajuta, deoarece depinde de dvs. sistem de operareși versiunea ei. La nivel global, ideea este să găsiți folderul în care aveți ilustratorul și să găsiți folderul de script în el. Puteți găsi cu ușurință instrucțiuni care vor funcționa în cazul dvs., găsând pe google o expresie precum „instalarea scripturilor în Illustrator pe... (numele sistemului de operare și versiunea)”.

După instalarea scriptului, accesul la acesta se realizează prin meniul de sus Fișier - Scripturi - și apoi îl puteți selecta pe cel de care aveți nevoie chiar acum.

Funcționalitatea Adobe Illustrator este uriașă, dar există și aici câteva dezavantaje, deoarece acest program are scripting care simplifică și chiar extinde capacitățile programului. Pe lângă scripting, există și extensii (extensie) - panouri personalizate pentru extinderea programului, dar acesta este un subiect puțin diferit.

Instalarea scripturilor

Dacă nu ați folosit niciodată scripturi în Adobe Illustrator, iată un ghid rapid despre cum să rulați un script.

Mai întâi trebuie să punem scripturile pe care doriți să le utilizați în folderul „Scripturi”. Cum pot găsi calea către acest folder? E simplu, mergi la rădăcina folderului în care se află programul Adobe Illustrator în sine, apoi „Presets -> en_US -> Scripts”, în loc de en_US poate exista un alt folder cu localizare, care este localizarea Illustrator, alege așa ceva un dosar.

După ce ați plasat scripturile în folder, le puteți rula metoda standard- aceasta este o lansare prin „Fișier -> Scripturi”, în meniul derulant va apărea o listă a scripturilor dvs., faceți clic pe oricare dintre ele și veți rula scriptul. Chiar dacă scripturile dvs. se află într-un folder diferit, ele pot fi lansate, de asemenea, în mai multe moduri:

  1. Mergem la meniul „Fișier -> Scripturi -> Alte scripturi ...”, se va deschide exploratorul, după care trebuie să găsiți fișierul script, iar apoi scriptul va rula
  2. Puteți pur și simplu să trageți scriptul din explorator în Illustrator, după care scriptul va rula
  3. Puteți utiliza extensii (extensie), pentru a rula scripturi - acesta este un panou pentru Illustrator care vă permite să rulați scripturi direct din program. Există mai multe astfel de extensii. Recomand să utilizați LAScripts.

Armonizator

Script pentru aranjarea elementelor pe o grilă

Selectați obiectele, rulați scriptul, selectați numărul de coloane (rândurile vor fi calculate automat), selectați distanța dintre elemente, precum și centrarea acestora (în mod implicit, se ia cel mai mare element dintre cele selectate).

Planșe de desenRedimensionare cu obiecte

Script pentru a redimensiona tabloul de desen împreună cu conținutul.

LA Adobe Photoshop există o funcție „Dimensiunea imaginii” pentru a schimba planul de lucru împreună cu conținutul, dar Adobe Illustrator nu are o astfel de funcție din cutie. Uneori, poate fi necesar să se schimbe tabloul de artă împreună cu conținutul, atât de mult încât după schimbare se păstrează toate stările.

Să presupunem că decideți să schimbați tabloul de desen cu mâinile, ordinea acțiunilor dvs.: Schimbați tabloul de desen, apoi selectați toate elementele de pe planșa și modificați dimensiunea, dar aici apare o problemă. Dacă aveți elemente cu un accident vascular cerebral, atunci la schimbarea manuală, cursa nu va scădea odată cu reducerea obiectului, da, puteți ocoli această soluție bifând caseta de selectare „Scale strokes and effects”, dar dacă aveți nevoie pentru a redimensiona mai multe panouri de artă? Pentru a simplifica și a economisi timp, utilizați scriptul artboardsResizeWithObjects.jsx


  • Noul factor de scară- scară grafică ca procent
  • Noua lățime a planșei de artă- lățimea tablei de artă nouă, înălțimea se va modifica proporțional
  • Înălțime nouă pentru planșa de desen- înălțimea planului de artă nouă, lățimea se va modifica proporțional
  • Doar panou de artă activ- schimbați doar tabloul de desen activ
  • Toate panourile de artă- schimbați toate planurile de artă
  • panouri de artă personalizate- schimbați tablourile de artă arbitrare, puteți scrie atât cu virgulă, cât și cu cratima (ca atunci când specificați paginile la imprimare)
  • Includeți articole ascunse și blocate- luați în considerare elementele blocate și ascunse
  • Câmp de intrare pentru dimensiune- Lățimea tabloului de desen activ este luată implicit.

Planșe RotateWithObjects

Script pentru a roti tabloul de desen împreună cu conținutul.

În Adobe Photoshop, puteți roti tabloul de desen și conținutul va fi, de asemenea, rotit, dar Adobe Illustrator nu are această funcție din cutie.

Acest script este util dacă trebuie să rotiți mai multe planșe de artă sau dacă nu doriți să pierdeți timpul ajustând poziția față de planșa de desen după ce aceasta a fost rotită.


O scurtă descriere a fiecăruia dintre elementele scriptului:

  • panou de desen activ#- rotiți numai tabloul de desen activ
  • Toate panourile de artă- rotiți toate planurile de artă
  • Unghi de rotație 90 CW- rotiți tabloul de desen în sensul acelor de ceasornic
  • Unghi de rotație 90 CCW- rotiți tabla de artă în sens invers acelor de ceasornic

InlineSVGTtoAI

Script pentru a încorpora svg (și a converti codul svg) în document.

În versiunea Adobe Illustrator CC 2018 v.22.1 (martie 2018), am adăugat posibilitatea de a insera un obiect svg, nu este nevoie să utilizați un script în acest caz.

M-a enervat întotdeauna că nu poți introduce svg într-un program specializat într-un vector, adică dacă am copiat codul svg din editor sau din altă parte, dar sub formă de text, atunci nu va funcționa introduceți-l în program. Mai întâi va trebui să salvați codul într-un fișier, abia apoi să deschideți fișierul în Illustraor, să copiați conținutul și să-l lipiți în documentul dorit. Multe actiuni inutile, nu-i asa?

Pentru a scăpa de această neînțelegere, am scris un script care va crea automat un fișier, va importa conținutul în documentul dvs. și apoi îl va șterge. Acestea. scenariul face totul la fel, dar numai fără participarea noastră și nu este nevoie să petrecem timp cu asta.


O scurtă descriere a fiecăruia dintre elementele scriptului:

  • Este simplu - inserați conținutul în câmp și faceți clic pe „Lipiți”

Puzzle Clipper


Script pentru crearea de puzzle-uri bazate pe obiecte.

Scriptul creează grupuri cu măști de tăiere, elementul care va fi „ferăstrău” este cel mai jos obiect dintre cele selectate. Moduri de operare, dacă aveți un grup deasupra și un obiect dedesubt, atunci toate elementele din grup vor fi convertite în grupuri cu o mască de tăiere și un obiect din partea de jos a selecției. Scriptul nu are o interfață, doar selectați elementele de care aveți nevoie și rulați scriptul.


Înlocuiește elemente

Script pentru înlocuirea obiectelor cu originalul, obiecte dintr-un grup sau din clipboard.

De exemplu, trebuie să înlocuiți unele elemente din aspect, dar este nevoie de mult timp pentru a le înlocui manual, puteți utiliza acest script pentru a înlocui, doar selectați elementul de care aveți nevoie, copiați-l, apoi rulați scriptul, selectați „Obiect Tampon".

De asemenea, scriptul poate roti aleatoriu fiecare dintre elemente, să ia dimensiunea elementului înlocuit, să ia umplerea și nu puteți șterge elementul original.


O scurtă descriere a fiecăruia dintre elementele scriptului:

  • Obiect în buffer - obiectul este în clipboard
  • Obiect de sus - obiectul este primul din lista de selectate
  • Toate în grup (aleatoriu) - un obiect este selectat aleatoriu dintr-un grup
  • Câmp de scară - scara elementului inserat
  • Înlocuiți articole dintr-un grup? - elementele trebuie înlocuite în grup? (dacă elementele de înlocuit sunt într-un grup, bifați această casetă, altfel va fi înlocuit întregul grup, nu fiecare element din grup)
  • Copiați lățimea și înălțimea - Copiați valorile lățimii și înălțimii din elementul înlocuit
  • Salvați elementul original - salvați (nu ștergeți) elementul înlocuit
  • Copiați culorile din element - copiați umplerea din elementul înlocuit
  • Rotire aleatorie a elementelor - rotiți aleatoriu fiecare dintre elemente

Creați planșe de artă din selecție

Script pentru a crea tablouri de desen pe baza elementelor selectate.

Scriptul creează o panou de desen pe baza elementelor selectate, precum și pentru fiecare dintre cele selectate.


O scurtă descriere a fiecăruia dintre elementele scriptului:

  • Fiecare în selecție - creați pentru fiecare colecție de elemente selectate
  • Numai limite de selecție - creați o panou de desen pe baza selecției.
  • Limitele elementului Vsible - limitele elementului „Vizibil”.
  • Limitele elementului Geometric - limitele elementului „geometrice”.

TransferSwatches

Script pentru a importa mostre de culoare dintr-un document în documentul activ.

Rulați scriptul, selectați un document din listă, puteți de asemenea să bifați caseta astfel încât culorile cu același nume să fie înlocuite.


ArtboardItemsMoveToNewLayer

Script care plasează conținutul tabloului de desen pe un nou strat.

Rulați scriptul, selectați tablourile de desen, puteți selecta, de asemenea, „eliminați straturile și substraturile goale” și „Numele stratului din numele tabloului de desen”.


De obicei, când vine vorba de programe pentru designeri, o atenție deosebită este acordată capacităților artistice ale aplicațiilor - instrumente de desen, filtre etc. Dar în Viata de zi cu zi trebuie să facă rutina. Din fericire, software-ul de la Adobe (inclusiv Illustrator) a început să sprijine scrierea de scripturi (scripturi) care vă permit să mutați munca monotonă pe umerii mașinii. Și nu mai lucrezi în Illustrator - îl controlezi, iar acestea, după cum se spune în Odesa, sunt două diferențe mari!

Dându-mi seama că marea majoritate a utilizatorilor Illustrator sunt artiști și designeri care nu au experiență în programare, voi încerca să construiesc o imagine de ansamblu asupra funcționalității de scripting, astfel încât cititorii să nu aibă impresia că această activitate necesită un fel de mod „special” de gândire și educație specială îndelungată. Totodată, îmi cer scuze profesioniștilor pentru unele simplificări în redactare de dragul disponibilității materialului. Autorul însuși s-a aflat cândva într-o situație similară și la început nu a considerat această zonă ca fiind eparhia sa. Dar am petrecut mai puțin de două săptămâni studiindu-l, iar acum spun: având o înțelegere minimă a programarii, stăpânirea scripturilor este o sarcină destul de fezabilă.

Scripturile pentru Illustrator pot fi scrise în orice limbă: JavaScript, Visual Basic(Windows) și AppleScript (Mac OS). Deoarece majoritatea cititorilor sunt familiarizați cu primul (mulți designeri grafici fac față cu succes creării de pagini web în care este folosit), ne vom baza pe el. În plus, JavaScript este independent de platformă: scripturile scrise pe el vor funcționa în ambele sisteme de operare - Windows și Mac OS. Modul de accesare a elementelor este orientat pe obiecte: pentru a afla, de exemplu, grosimea marginii celui de-al doilea element vectorial de pe primul strat, trebuie să scrieți următoarea construcție:

app.activeDocument.Layer.pathItems.strokeWidth

Acest lucru poate fi interpretat după cum urmează: obiectul este specificat mai întâi cel mai înalt nivelîn ierarhia Illustrator (aplicația este o aplicație, prescurtare de la aplicație), apoi alegerea este restrânsă treptat la un anumit element (în documentul activ, lucrați la primul strat; apoi, în stratul specificat, selectați al doilea cel mai profund obiect vector și aflați grosimea marginii din acesta). Această metodă de accesare a elementelor este foarte convenabilă, deoarece facilitează navigarea în toată varietatea de tipuri ale acestora care există în editor. Modelul de relație complet poate fi găsit în descrierea bine scrisă (inclusă cu Illustrator).

Parantezele pătrate indică faptul că elementul face parte dintr-o matrice. Un tablou este o colecție de mai multe obiecte unite printr-un anumit atribut. De exemplu, Layers, pathItems, RasterItems, GroupItems, Selection etc. sunt matrice formate din obiecte de același tip (straturi de document, căi vectoriale, bitmaps, grupuri etc.). Parantezele indică indexul (numărul de serie) al elementului necesar din matrice. Astfel, intrarea Strat desemnează primul strat, deoarece primul indice este întotdeauna „0”.

Obiectele pot fi, de asemenea, denumite Strat[„Diagrama”]. Pentru a face acest lucru, elementul trebuie denumit în mod explicit - manual, folosind paleta Straturi (făcând dublu clic pe numele obiectului se deschide o fereastră cu proprietățile acestuia), sau dintr-un script. Pentru a nu scrie o construcție greoaie de fiecare dată când enumeră întregul „genealogie”, folosiți referințe:

pI = activeDocument.Layer.pathItems;

Apoi secțiunea de mai sus a codului va arăta astfel: pI.strokeWidth.

Este posibil ca un strat ca obiect să nu fie accesat de fiecare dată dacă toate operațiunile au loc pe același strat activ. Și rețineți că numele variabilelor sunt sensibile la majuscule și minuscule: dacă scrieți pI pentru prima dată și pi a doua oară, scriptul va da o eroare și nu va funcționa.

În modelul orientat pe obiecte există: aplicația în sine, clase (tipuri de obiecte, sau, folosind un concept mai familiar, substantive: straturi, obiecte vectoriale, grupuri etc.), metode (modalități de a interacționa cu acestea - verbe). : mutare, duplicare și etc.) și proprietăți (adjective: strokeWidth, fillColor, selectat etc.). Pentru a facilita navigarea, imaginați-vă că aplicația este o casă în care există diverse obiecte - un analog al claselor (ferestre, uși) care au anumite proprietăți (plastic, lemn), cu care se efectuează anumite acțiuni - metode (deschise). , închide). Înțelegând esența unei astfel de ierarhii, este mult mai ușor de înțeles scripting-ul.

De fapt nivel superior există o aplicație și, urmând literalmente regula subordonării obiectelor, ar trebui specificată pentru orice acțiune. Pentru a simplifica, linkul către aplicație poate fi omis - cu excepția cazului în care chiar trebuie să cunoașteți unele dintre proprietățile acesteia (de exemplu, fonturile disponibile - app.fonts).

Clasele Layer, Group, Text pot conține obiecte din aceeași clasă, care pot avea și copii. O caracteristică utilă a abordării obiectului este − moştenire proprietăți. Deci, toate contururile vectoriale (pathItems) sunt copii ale unei clase mai generale - elemente de pagină (pageItems). Prin urmare, atribuind anumite proprietăți pageItems, le atribuim automat pathItems.

În ciuda asemănării, clasele Straturi și Straturi sunt încă diferite. Primul este o colecție a tuturor straturilor din document, al doilea este doar unul cert, metodele și proprietățile lor diferă în consecință. Metodele add, removeAll pot fi aplicate primei, iar toate operațiunile disponibile pentru un strat separat pot fi aplicate celui de-al doilea. Obiectul este accesat direct ca element al matricei corespunzătoare - în cazul nostru, prin Layers, Layers etc.

Elementul selectat corespunde clasa separata- selectie, care este si o matrice (se poate selecta un grup de obiecte). Pe un cont special în Illustrator se află clasele pluginItems, Colors, Views. Primul are multe limitări datorită faptului că obiectele de acest tip nu sunt native pentru Illustrator. Acestea includ Blend, Envelope, Mesh și elemente similare. Caracteristicile celorlalte vor fi luate în considerare pe măsură ce sunt utilizate.

Pentru a face scriptul „vizibil”, acesta este plasat în folderul Presets.Scripts, aflat în cel în care este instalată aplicația. Vom lua în considerare exemple reale (acest lucru vă va permite să simțiți imediat utilitatea scripturilor) și să le scriem sub Illustrator CS, deoarece scripturile sale sunt mai flexibile decât versiunile anterioare.

Exemplul 1: Combinarea obiectelor

Să începem cu cel mai simplu - vom scrie un script care conectează obiectele subordonate cu cel principal cu linii (o sarcină comună la crearea diagramelor de flux, a documentației tehnice și a lucrărilor similare). Și vom atinge aspecte de bază precum lucrul cu obiectele selectate, crearea de noi straturi, plasarea obiectelor, schimbarea ordinii acestora, crearea și includerea curbelor în calea cea grea(cale compusă).

Lucrul cu astfel de documente implică utilizarea pe scară largă a simbolurilor (simbolurilor) - efectuarea de modificări la acestea actualizează automat toate copiile create. Cu toate acestea, Illustrator nu funcționează întotdeauna corect cu astfel de elemente: se întâmplă să nu citească numele obiectelor care sunt copii ale simbolurilor. Ca urmare, selectarea lor după nume nu este fezabilă. Prelucrarea tuturor elementelor de acest tip nu are nicio utilizare practică în stratul curent. Drept urmare, m-am înclinat în favoarea unei opțiuni alternative, în care trebuie mai întâi să selectați obiectele necesare (cel mai simplu este să selectați un simbol și să căutați copiile acestuia folosind comanda Select.Same Instances), apoi selectați element de referință cu care vor fi conectate.

Asadar, hai sa incepem. Pentru a-l scurta, să introducem variabila sel, la care ne vom referi atunci când trebuie să efectuăm orice acțiuni asupra obiectului selectat. Apoi verificăm câte elemente sunt selectate (deși orice caractere text selectate aparțin și matricei de selecție, nu vom verifica dacă este selectat non-text). Scrieți dacă (lungimea seel<2) означает, что мы сравниваем значение length (количество объектов класса sel) с двойкой — минимальным количеством для работы сценария. Если выделенных элементов меньше, будут выполняться действия, заключённые в первые идущие за оператором if фигурные скобки, иначе — идущие после else. При этом логично предусмотреть выдачу сообщения, чтобы сориентироваться в ситуации и понять, что нужно сделать.

sel = activeDocument.selection
dacă (lungimea de vânzare<2) {br>alert("Nu sunt suficiente obiecte pentru a continua! \nSelectați cel puțin 2 obiecte și ultimul - obiect țintă!")) )
altceva(

Alerta este o funcție JavaScript standard care afișează o fereastră cu textul dat și un buton OK. „\n” înseamnă linie nouă și este folosit pentru a menține dimensiunea ferestrei mică. Textul afișat în fereastră trebuie să fie cuprins între ghilimele.

Etapa pregătitoare

Obțineți coordonatele centrului obiectului de referință. Deoarece am convenit că este cel de sus, numărul său (indice) este „0” (sel). Pentru a calcula coordonatele, vom folosi proprietăți ale obiectului precum poziție (poziția), lățime și înălțime (înălțime și lățime). Valorile poziției sunt stocate într-o matrice formată dintr-o pereche de valori - coordonatele X și respectiv Y. Prin urmare, fiecare trebuie să fie denumit poziție și poziție.

refObj_x = sel.position + (sel.width/2);
refObj_y = sel.poziție - (sel.înălțime/2);

Am obținut coordonatele centrului obiectului de referință și le-am atribuit două variabile pentru utilizare ulterioară. A doua linie conține semnul „—”, deoarece Illustrator ia colțul din stânga jos al documentului ca punct de referință, iar poziția oferă coordonatele colțului din stânga sus al elementului.

Deoarece comoditatea joacă un rol important atunci când lucrați cu un document, ne vom asigura că liniile create sunt pe un strat separat - această structură va ajuta la menținerea ordinii într-un aspect de complexitate diferită.

Creăm un nou strat - acesta, ca orice element din Illustrator, este creat prin metoda add () aplicată clasei de obiecte corespunzătoare. În paranteze, puteți specifica parametrii acțiunii: specificați obiectul destinație (poate fi, de exemplu, un strat sau chiar un document nou, precum și o poziție în destinație). Spre deosebire de majoritatea metodelor, nu există parametri suplimentari pentru adăugare, așa că pentru a transfera la cel mai înalt nivel, vom folosi o metodă specială - zOrder, la care specificăm BRINGTOFRONT ca parametru (o constantă rezervată, a cărei listă completă este dată în documentația). În principiu, dacă există un singur strat în document, nu trebuie să specificați în mod specific poziția celui nou, deoarece Illustrator îl plasează întotdeauna deasupra celui actual. Dacă obiectele conectate nu sunt situate la cel mai înalt nivel, va fi necesară a doua linie.

newlayer = activeDocument.layers.add();
newlayer.ZOrder(ZOrderMethod.BRINGTOFRONT);

Prima linie poate fi citită astfel: creați un nou element prin creșterea (adăugarea) numărului de obiecte de tipul necesar (straturi) și atribuiți o referință la elementul nou creat variabilei newlayer. La momentul inițial, stratul este gol, deoarece încă nu a fost plasat nimic în el. Pentru a simplifica orientarea într-un aspect complex, vom da stratului numele „Conectori” (prin metoda numelui) - după cum puteți vedea, numele metodelor indică clar acțiunile efectuate.

newlayer.name = "Conectori";

În scopuri educaționale, nu vom crea linii de conectare separate, ci combinate într-un obiect de tip Compound Path - pentru ușurință de editare. Crearea unui astfel de obiect repetă procedura deja cunoscută, de data aceasta aplicată clasei compoundPathItems:

newCompoundPath = activeDocument.compoundPathItems.add();

Deoarece am creat un nou strat în ultimul pas, acesta este activ - în consecință, obiectele create vor fi localizate pe el și nu este nevoie să-l specificați în mod specific (activeDocument.newlayer).

Determinarea coordonatelor elementelor subordonate

Combinăm acest proces cu ieșirea liniilor de conectare în sine, deoarece numărul lor trebuie să corespundă cu numărul de obiecte. Începem să iterăm toate elementele selectate unul câte unul („i++” înseamnă creștere cu unul) și citim coordonatele acestora. Să începem căutarea nu de la primul obiect din tabloul Selection (după cum vă amintiți, este obiectul de referință), ci de la al doilea (sel). Următoarele rânduri ne sunt deja familiare:

pentru(i=1; i< sel.length; i++) {
obj_x= sel[i].poziție + sel[i].lățime
obj_y = sel[i].poziție - sel[i].înălțime

După ce am primit coordonatele centrului elementului copil, să începem să creăm o linie care să-l conecteze cu elementul de referință. Pentru fiecare element selectat, creăm un nou obiect - o cale vectorială inclusă în clasa CompoundPath, crescând numărul total de căi:

newPath = newCompoundPath.pathItems.add();

Pentru a seta căi simple în Illustrator, există o metodă setEntirePath, ai cărei parametri sunt o matrice de coordonate ale punctelor de început și de sfârșit - care, după cum știm deja, sunt la rândul lor setate ca șiruri de două valori (poziții de-a lungul a două axe). În cele din urmă, terminăm condiția „dacă este selectat ceva” introdusă chiar de la început.

newPath.setEntirePath(Array(Array(refObj_x, refObj_y), Array(obj_x, obj_y))); )

Scenariul este gata. După cum puteți vedea, nu este nimic complicat în el: numele metodelor dezvăluie esența lor, iar modelul orientat pe obiecte ajută la înțelegerea clară a ierarhiei obiectelor Illustrator. Scenariul nu are o valoare practică deosebită (este mai degrabă educațional), dar exemplul său a fost folosit pentru a lua în considerare multe concepte de bază pe care ne vom baza în viitor (lucrarea cu obiecte selectate, principiul numerotării lor în tabloul de selecție, determinarea coordonate, crearea de noi straturi, ieșirea liniilor).

Exemplul 2: Detectarea contururilor prea subțiri

Operațiile de scalare în grafica vectorială sunt utilizate foarte activ. Prin urmare, atunci când reduceți dimensiunea obiectelor cu linii subțiri (dacă este activat parametrul Scale strokes), grosimea lor devine adesea sub 0,25 pt (valoarea după care liniile devin puțin vizibile) și le face să dispară atunci când sunt imprimate pe un inkjet. imprimanta. Căutarea încorporată de Illustrator pentru obiecte cu valori ale cursei mai mici decât valoarea specificată nu este furnizată. Este foarte dificil să le găsești manual - va trebui să selectezi fiecare obiect separat, ceea ce te va descuraja rapid să faci astfel de verificări. Scriptul va simplifica foarte mult operațiunea.

Scriptul în sine este mic în forma sa cea mai simplă, dar ne vom stabili obiectivul de a-l face mai versatil - vom extinde funcționalitatea permițându-vă să specificați grosimea minimă în caseta de dialog. Desigur, puteți codifica această valoare în script-ul în sine și, dacă este necesar, o puteți corecta de fiecare dată, dar, vedeți, acest lucru este incomod. De asemenea, vom prevedea specificarea elementului selectat ca obiect de referință cu valoarea minimă admisă a marginii. În paralel, pentru statistici, numărăm numărul de elemente cu grosimea modificată și le selectăm pentru claritate.

Întregul script este împărțit în două părți: partea inițială (citirea valorii din caseta de dialog sau elementul selectat) și partea finală (căutarea între toate obiectele din document și reatribuirea grosimii marginii). Pe lângă demonstrarea accesului la obiectele Illustrator, ne vom uita la crearea unei mini interfețe pentru introducerea valorilor personalizate.

Introducerea valorilor

Primele două linii vor fi identice cu exemplul anterior, cu excepția faptului că în loc de „2” va apărea „0”, deoarece înainte de a rula scriptul trebuie să stabilim dacă există obiecte selectate. Comparația este specificată printr-un semn dublu egal (singura atribuie o valoare).

var mySel = app.activeDocument.selection;
var go = adevărat;
dacă (sel == 0) (

Dacă nu este selectat nimic, grosimea minimă va fi setată prin caseta de dialog. Îl afișăm folosind funcția standard JavaScript - prompt. Se deschide o fereastră cu un câmp în care puteți introduce o valoare și o puteți utiliza mai târziu. Sintaxa funcției este următoarea: mai întâi vine textul indiciu care va fi afișat în fereastră (ținând cont de unificarea scriptului, nu vom folosi chirilic, deoarece este adesea afișat incorect), apoi urmează valoarea care va fi în câmpul de introducere implicit. Există două plusuri: capacitatea de a seta imediat grosimea minimă admisă și de a specifica orice valoare. Prin crearea unei variabile căreia i se atribuie valoarea funcției prompt, o puteți utiliza apoi în propriile scopuri.

Privind în perspectivă, observ că Illustrator nu oferă acces deplin la toate tipurile de obiecte - unele sunt lăsate afară. Prin urmare, vom asigura vizualizarea nu numai a elementelor corectate, ci și a celor inaccesibile scriptului, pentru a nu le căuta manual - până la urmă, ele pot conține și obiecte problematice. Pentru a nu afișa două casete de dialog (pentru valoarea grosimii și pentru a determina ce elemente să evidențiem), vom folosi capabilitățile de procesare a șirurilor JavaScript. Cert este că conținutul câmpului completat de utilizator este un „șir” (bloc de informații), care poate conține orice număr de parametri (prin separatoare). Cunoscând delimitatorul, valorile parametrilor individuali pot fi extrase cu ușurință din șir.

În consecință, textul indiciu al casetei de dialog va fi următorul: setarea grosimii minime a marginii și a unui număr condiționat: „1” dacă doriți ca scriptul să evidențieze elementele corectate, „2” - cele care nu au putut fi atinse.

valoare = prompt(„Specificați pragul lățimii cursei (în pt),\n Ce să selectați: obiecte corectate (1) sau inaccesibile (2)”, „0,25, 1”)

Inițial, vom seta câmpul la 0,25 puncte (unitățile implicite în Illustrator), dar atunci când este schimbat, se va folosi noua valoare și „1”. „2” trebuie specificat doar dacă scriptul găsește obiecte inaccesibile (ne vom asigura că semnalează acest lucru la sfârșitul lucrării). Și vor deveni selectați, ceea ce ne va scuti de căutarea manuală (după cum știți, căutarea încorporată a Illustrator lasă mult de dorit).

Ne-am dat seama de citirea valorilor din câmpul utilizatorului, să trecem la procesarea lor. Să verificăm dacă câmpul este într-adevăr nevid (semnul „!” înseamnă negație, adică „!=" este echivalent cu „nu este egal”, null este cuvântul înregistrat pentru o valoare goală). Dacă există ceva în el, împărțim șirul în blocuri separate folosind funcția JavaScript split (definim o combinație de caractere „,” ca separator) și introducem valorile rezultate în matricea splitString. După aceea, vom da nume descriptive valorilor din matrice (primul va determina grosimea, al doilea va determina modul de funcționare).

dacă (valoare != nulă) (
splitString = value.split(“, “);
greutate = splitString;
tip=splitString; )

Dacă nu există nimic în câmpul utilizator, oprim execuția scriptului. Ultima paranteză de închidere este un semn al îndeplinirii condiției pe care am stabilit-o la început („dacă nu este selectat nimic în document”).

else ( merge = fals )

Dacă obiectul de referinţă este special selectat

Acum să scriem o secvență de acțiuni dacă am selectat intenționat un element a cărui grosime a marginii dorim să o folosim ca valoare de prag. Vom afișa un avertisment despre acțiunile ulterioare ale scriptului folosind funcția standard de confirmare (creează o casetă de dialog cu două butoane - și). Dacă apăsați<Сancel>, munca se oprește, dacă sunteți de acord, scriptul va continua să funcționeze.

else ( selectedMsg = confirm ("Lățimea cursei obiectului selectat va fi folosită ca prag")
dacă (selectatMsg != adevărat) (
merge=fals;
) altfel (

Să trecem la partea principală a scenariului. Nu luăm în considerare în mod deliberat situația în care sunt selectate mai multe obiecte, deoarece pentru a seta grosimea marginii, este suficient să selectați doar unul. Și ce valoare ar trebui folosită dacă se dovedește a fi diferită pentru elemente? După cum știm deja, singurul obiect selectat va avea un indice de „0”, iar Illustrator are o proprietate strokeWidth pentru a obține grosimea marginii. Să ținem cont de faptul că, în principiu, selecția poate conține nu numai elemente individuale, ci și o parte din text (de exemplu, selectată aleatoriu), care nu este inclusă în planurile noastre, așa că înainte de a începe lucrul, să verificăm cu JavaScript capabilități tipul elementului selectat pentru aparținerea matricei:

if (sel isArray) (
greutate = sel.strokeWidth;

Deoarece am fost de acord să selectăm numai obiectele modificate, trebuie să eliminăm selecția din referința în sine (ne referim la proprietatea sa selectată):

sel.selectat = fals; ) ) )

Acum suntem pe deplin pregătiți să îndeplinim sarcina principală a scriptului - găsirea obiectelor: valoarea care va fi folosită ca grosime minimă admisă este stocată în variabila wei.

împrejurări

Să o comparăm cu o proprietate similară pentru toate obiectele din document. Puteți merge imediat la căutare, dar utilizarea scriptului în munca de zi cu zi este necesară ținând cont de circumstanțe suplimentare - layout-urile conțin adesea atât straturi blocate, cât și obiecte individuale. Prin urmare, deși căutarea funcționează în ele, este imposibil să se facă modificări. Pentru a asigura o verificare totală, să adăugăm mai multe operații la script: verificarea elementelor pentru conformitatea cu criteriul specificat, deblocarea simultană a acestora, dacă este necesar, și amintirea indexului, astfel încât după finalizarea verificării, să le readuceți la starea anterioară. Introducem doua variabile: prima pentru acces redus la toate straturile din document, iar cu ajutorul celei de-a doua avem acces doar la cele blocate. Vom stoca numerele de serie ale acestuia din urmă într-o matrice, pe care o vom crea cu funcția JavaScript new Array ().

var dL = activeDocument.layers;
var blockedLayers = nou Array();

Apoi ne uităm prin toate straturile și pentru cele blocate (property locked=true) adăugăm numărul de secvență la matricea blokedLayers (folosind funcția push din JavaScript), după care permitem editarea lor (locked=false).

dacă (du-te == adevărat) (
pentru (i=0; i dacă (dL[i].blocat == adevărat) (
blockedLayers.push(i);
dL[i].blocat = fals; Anterior, am fost de acord să selectăm obiectele corectate, dar după finalizarea scriptului pe straturile blocate, nu vom putea face acest lucru - trebuie să afișăm un avertisment corespunzător. Pentru a face acest lucru, folosim caracteristica lockedPresence, pe care o vom seta dacă cel puțin un strat este blocat.

LockedPresence = adevărat;

Vom repeta același lucru cu elemente individuale blocate. În cel mai simplu caz, este suficient să verificați toate elementele vectoriale (clasa pathItems), care, ca subclasă, includ căi compuse, astfel încât nimic să nu scape ochiului atotvăzător al scriptului.

Stânci subacvatice

Pe lângă situația de blocare considerată, mai există o „capcană”. După cum sa menționat deja, unele elemente (în special, Blend Group și Envelope) nu sunt „native” pentru Illustrator, ele aparțin tipului special de pluginItem. În același timp, Illustrator nu oferă acces la astfel de obiecte, ele sunt un „lucru în sine”. Le puteți „ajunge” doar printr-o clasă de nivel superior - pageItems, prin care putem cel puțin să le stabilim prezența și să afișăm un avertisment corespunzător la sfârșit. Va spune că rulând din nou scriptul și specificând „2” ca al doilea parametru în câmpul de introducere, va selecta aceste „casete negre”.

pgI = activeDocument.pageItems;

Să creăm matricea blokedPathes pentru a stoca indecșii obiectelor blocate și să introducem variabila corectată pentru a număra numărul de obiecte modificate.

blockedPathes = nou Array();
corectat = 0;

Pentru toate obiectele, să verificăm dacă aparțin tipului PluginItem (proprietatea typename): dacă sunt prezente, setați steag-ul pluginItemExist (starea acestuia va determina dacă este afișat un avertisment despre prezența unor astfel de elemente). În cazul unei a doua verificări (când al doilea parametru din câmpul de intrare este egal cu „2”), le vom evidenția:

pentru(i=0; i< pgI.length; i++) {
if (pgI[i].typename=="PluginItem") (
pluginItemExist = adevărat
dacă (tip =="2") ( pgI[i].selectat = adevărat )

Deci, toate (sau aproape toate) situațiile posibile care apar în lucrare, am prevăzut și definit acțiuni pentru acestea.

Verificare de bază

Acum este rândul de a verifica de fapt aspectul pentru conformitate cu criteriul de margine specificat. Să ținem cont de faptul că printre obiecte pot fi și cele care nu au deloc margini (determinate de starea atributului mângâiat) - prin urmare, acestea trebuie excluse de la verificare.

if((pgI[i].strokeWidth< weight)&&(pgI[i].stroked)) {
dacă (pgI[i].blocat == adevărat) (
blockedPathes.push(i);
pgI[i].blocat = fals;

Acest fragment de cod poate fi interpretat astfel: determinăm prezența unui chenar pentru fiecare element și grosimea acestuia. Dacă este mai mică decât minimul (if(pI[i].strokeWidth< weight), и объект заблокирован, его индекс занести в специально созданный для такой цели массив blokedPathes, после чего разблокировать для внесения возможных изменений. Знак && обозначает логическое «И» (обязательное совпадение двух условий) — толщины меньше минимальной и присутствия окантовки.

Apoi reparăm prezența obiectelor blocate (setăm steagul LockedPresence pentru a afișa un avertisment în viitor că nu pot fi selectate toate cele modificate) și îl selectăm pe cel corectat în sine și atribuim o valoare de prag marginii sale - și așa mai departe pentru toate elementele. Pentru statistici, vom număra simultan numărul de obiecte modificate.

LockedPresence = adevărat;
pgI[i].selectat = adevărat;
pgI[i].strokeWidth = greutate;
corectat++;

Anterior, au fost luate în considerare acțiunile de evidențiere a elementelor nebifate (tip = „2”). Acum să definim ce ar trebui să se întâmple într-o situație standard - în timpul căutării obișnuite a obiectelor potențial problematice.

dacă (tip =“1”) ( pgI[i].selectat = adevărat )

Restabilirea stării articolelor blocate

Am finalizat sarcina principală - obiectele problematice au fost remediate și evidențiate. Rămâne să restabilim status quo - să readucem tot ceea ce a fost blocat inițial la starea anterioară. Pentru a face acest lucru, în bucla curentă, citim conținutul matricei în care sunt stocați indexurile obiectelor blocate și setăm atributul blocat = adevărat fiecărui element corespunzător (metoda shift afișează ultima valoare introdusă în acesta din matrice). ). Deoarece numărul total de obiecte este mai mare decât cel blocat, trebuie avut grijă ca, după ce matricea este goală, ciclul de verificare să se încheie.

dacă (blockedPathes.length >0) (
retrievedPathes = blockedPathes.shift();
pI.locked = adevărat;))

Apoi actiuni similare hai sa facem cu straturi:

pentru (i=0; i dacă (blockedLayers. lungime >0) (
recuperat = blockedLayers.shift();
dl.locked = adevărat; ) ) De fapt, pentru operațiuni de același tip, este mult mai convenabil să folosești funcții. Avantajul lor este că, după ce ați descris anumite acțiuni, le puteți repeta în întregime, pur și simplu apelând funcția în locurile potrivite; astfel se realizează compactitatea și lizibilitatea scriptului. Pentru a crește flexibilitatea funcției, valorile utilizate în ea (parametrii) sunt transmise. Dacă nu doriți să utilizați funcții, săriți peste următoarele două paragrafe.

Să compunem două funcții: prima este pentru deblocarea straturilor și obiectelor, a doua este pentru restaurarea atributelor acestora. Doar tipurile de obiecte (clasa Layers și pageItems) și matrice pentru înregistrarea elementelor de interes pentru noi (blokedLayers și blokedPathes) se vor schimba în ele - vor apărea ca parametri de funcție. Să-l scriem pe primul astfel:

deblocare funcție (matrice, tip item)
dacă (itemType[i].blocat == adevărat) (
matrice push(i);
itemType[i].blocat = fals;
blocat=fals;
}

În loc de array, vom înlocui o matrice, în loc de itemType - clasa necesară. Apoi primim două apeluri - deblocare (blockedLayers, dL) și deblocare (blokedPathes, pgI). În mod similar, scriem o funcție pentru a restabili starea:

restaurare funcție (matrice, tip item)
dacă (lungimea matricei > 0) (
preluat = array.shift();
itemType.locked = adevărat;
}

Afișarea informațiilor despre rezultatele verificării

Aceasta este ultima etapă a scenariului. Mai întâi, definim condiția pentru afișarea unui mesaj dacă este selectată căutarea obiectelor needitabile, apoi condiția pentru avertizare că astfel de obiecte au fost găsite:

dacă (tip == „2”) ( b = „\nVerificați selectat!” )
dacă (pluginItemExist == adevărat) (
alertă („Din cauza restricțiilor de scripting, unele obiecte nu pot fi afectate” + b) )

Logica emiterii unui avertisment că nu toate cele corectate pot fi evidențiate este următoarea:

if ((lockedPresence == true) && (pluginItemExist == false)) (
warning= „\nDeoarece unele dintre ele sunt blocate, nu pot fi afișate ca selectate” )

Apoi afișăm rezultatele finale:

alert("Numărul de obiecte corectate sunt:" + corectate + avertisment)

Iată, de fapt, întreg scenariul. După cum puteți vedea, aceste câteva rânduri fac o cantitate enormă de muncă pe care aproape nimeni nu ar îndrăzni să o facă manual. Scriptul este executat instantaneu (în proiectele de anvergură, cu un număr de elemente de ordinul a câteva mii, performanța procesorului începe să afecteze). Trebuie doar să-l selectați din lista celor disponibile (nici măcar nu trebuie să faceți acest lucru - Illustrator permite scripturilor să atribuie taste rapide) cu Editare.Comenzi rapide de la tastatură.Comenzi din meniu.Comandă Scripturi. Dar atenție: numele scripturilor sunt sortate în ordine alfabetică, așa că adăugarea unora noi sau ștergerea celor vechi poate duce la reatribuirea cheilor scripturilor adiacente. Concluzie: după modificări în folderul Presets\Scripts, verificați corespondența tastelor.

Am încercat să facem scenariul universal, ceea ce i-a afectat volumul. În versiunea cea mai primitivă (fără a lua în considerare caracteristicile și capcanele descrise mai sus), este nevoie de doar câteva rânduri:

minWidth = activeDocument.selection.strokeWidth;
pI = activeDocument.pathItems;
pentru (i=0; i< pI.length; i++) {
if((pI[i].strokeWidth< minWidth) && (pI[i].stroked)) {
pI[i].strokeWidth = minWidth;
}}

Ce zici de desert?

Vom dedica următorul număr cărților de vizită: vom scrie un script care automatizează aspectul lor pe o foaie. Cu toate acestea, este util și pentru o gamă mai largă de sarcini, deoarece nu este legat de dimensiunea obiectelor. După cum era de așteptat, vom asigura crearea de probleme pentru a evita problemele cu tăierea incorectă a foii, precum și rotația cărților de vizită (dacă partea de sus și de jos sunt semnificativ diferite). În paralel, vom aborda problema căutării obiectelor al căror model de culoare diferă de cel dat, ceea ce nu este neobișnuit în astfel de lucrări.

Reviste în domeniul public.

Pe acelasi subiect:

    Noutăți 2019-04-03

    Cum ajută cerneala albă suplimentară la crearea de noi aplicații pentru imprimarea în format mare.

    Astăzi, o serie de modele de imprimante de format larg și ultra-larg pot imprima cu cerneală într-o culoare complementară - alb, ceea ce creează noi posibilități de utilizare a acestor dispozitive. Dar imprimantele pot implementa diverse tehnologii de imprimare cu cerneală albă și tehnologii diferite- capabilitățile și limitările sale.

În această colecție veți găsi 10 scripturi utile pentru Adobe Illustrator. Aceste scripturi sunt complet gratuite. Toate linkurile sunt în nume de script. Dacă scriptul nu dorește să fie descărcat de pe link, dar codul se deschide în browser, atunci faceți Faceți clic dreapta > Salvați linkul cași salvați scriptul pe computer.

O mică digresiune lirică pentru cei care nu s-au mai întâlnit cu scenarii în ilustrator. Un script este un program care poate fi rulat în Adobe Illustrator prin intermediul meniului Fișier > Scripturi. Așa cum ar trebui să fie pentru orice program, scriptul efectuează unele actiuni benefice, rapid și automat. De aceea, scripturile au devenit ajutoare indispensabile pentru microstockers, deoarece există mai mult decât suficiente rutine în munca noastră.

Următoarele scripturi pentru Adobe Illustrator îi ajută cel mai mult pe designeri sarcini diferite. Începând de la pregătirea fișierelor vectoriale pentru microstocuri și terminând cu autodesenarea florilor. Dar dacă acest lucru nu este suficient pentru tine, atunci la sfârșitul articolului există link-uri către o mulțime de scripturi.

Pentru a instala scriptul pe ilustratorul dvs., trebuie să copiați fișierul script în folderul cu scripturi standard. Căutați-l acolo unde este instalat ilustratorul dvs.

Pentru Windows, acesta este de obicei: drive C> Fișiere program> Adobe> folder cu versiunea dvs. de Adobe Illustrator> Stiluri (Presetări)> en_GB sau RU (nu puteți pierde niciun dosar de acolo)> Scripturi.

Pentru maci: Aplicații > Adobe > al tău Versiunea Adobe Illustrator > Presets > ro_RO > Scripturi.

În cazul în care un folder standard nu poate fi găsit în niciun fel, atunci scripturile pot fi rulate în Illustrator fără instalare prin Fișier > Scripturi > Alt script (Ctrl+F12).

Deci să mergem!

Scriptul caută și remediază erorile care nu sunt permise pe microstocuri. Fișierul vectorial este scanat automat: scriptul găsește căi deschise, căi fantomă, pensule neanalizate, simboluri, raster și multe altele. Pe parcurs, scriptul sugerează imediat corectarea acestor erori. Puteți descărca Free Stock Master gratuit de la MAI Tools.

Folosind acest script, puteți verifica selectiv prezența anumitor obiecte în fișier vectorial. De exemplu, pentru a căuta căi deschise, un raster etc. Puteți descărca scriptul pe Arid Ocean. Butonul verde ExtendedSelect.zip este în partea de sus.

Scriptul deschide un PDF cu mai multe pagini în întregime, și nu o pagină la un moment dat, așa cum este obișnuit în ilustrator. În fereastra de script, specificați calea către Fișier PDF, număr de pagini și se deschide în același document pe mai multe planșe.

Scriptul aliniază obiectele selectate la grila de pixeli. Funcționează similar cu opțiunea Align to Pixel Grid.

Scriptul întoarce obiectul selectat pe dos, astfel încât să arate ca o floare sau un model.

Scriptul desenează linii de la colț la colț al formelor. Obțineți modele geometrice și pictograme.

Scriptul răsucește nodurile din obiecte, se obțin modele interesante. Scriptul are setări convenabile care sunt aplicate imediat formei selectate. Puteți vedea imediat ce se întâmplă pe spațiul de lucru.

Scriptul schimbă poziția liniilor și punctelor astfel încât desenul corect din punct de vedere geometric devine mai viu. Sau strâmb, dar așa se joacă cu setările.

Scenariul formează o coloană uniformă din texte separate pe o singură linie, ca pe postere.



Ți-a plăcut articolul? Împărtășește-l