Scripts voor Adobe Illustrator torrent. Scripts voor Illustrator. Scripts die objecten distribueren

Je hebt een unieke kans om de functionaliteit van Adobe Illustrator uit te breiden. Er is niets eenvoudiger dan het gebruik van scripts (scriptbestanden), selecteer gewoon een object en voer het script uit dat u nodig hebt. De scripts die in dit artikel worden gepresenteerd, besparen u veel tijd en maken uw werk leuker en efficiënter. Geloof me, ze zijn je aandacht waard. Alle scripts zijn getest in Illustrator-versies CS3 en CS4.

Als u op zoek bent naar premium Illustrator-add-ons, kunt u deze vinden in de sectie Illustrator-acties en -scripts van onze GraphicRiver, zoals: Isometrische hulplijnen Rasteractie, Patroonmaker en Lange schaduwactie (actie om een ​​lange schaduw te creëren) .

De beste acties (bewerkingen) en scripts voor Illustrator op Graphic River.

Profiteer anders van de gratis ‘goodies’ waarover we u nu zullen vertellen. Maar laten we eerst eens kijken hoe we scripts voor Illustrator kunnen installeren.

Installatie van scripts

Het is raadzaam om de scripts die u gaat gebruiken altijd op dezelfde plek op te slaan, bijvoorbeeld in de map Scrips. Om het script uit te voeren, moet je naar Bestand > Scripts > Ander script (Command + F12) (Bestand > Scripts > Andere scripts) gaan.

Open de map met scripts en voer het gewenste bestand uit.

Ik zal je vertellen over een heel handig paneel, waarover vaak geruchten gaan: hoe goed het is, en hoe geweldig het zou zijn als ik het zou installeren en zelfs zou werken!

Voordelen van dit paneel:

De mogelijkheid om mappen met scripts overal op uw computer te plaatsen - u hoeft alleen maar het pad ernaartoe op te geven.

Als je ze in een map plaatst Script Bay-cross-applicatie, zullen ze beschikbaar zijn voor andere Adobe-programma's. Of u kunt ze eenvoudig laden door dit op te geven voeg een cross-app-map toe.

Compact en handig. U kunt al uw scripts in afzonderlijke mappen plaatsen en ze ordenen op gebruiksfrequentie of op basis van hun kenmerken: willekeurig, met selectie, werken met tekst, speciale effecten. Overigens kun je in de Script Bay-instellingen categorieën maken die deze mappen vervangen.

Maar de belangrijkste reden dat ik dit artikel schrijf is dat de standaard installatiemethode, die overigens wordt aanbevolen door In-Tools Solutions, mij niet heeft geholpen. Zoals velen, te oordelen naar de verontwaardiging in LiveJournal en andere gemeenschappen.

Er zijn verschillende problemen:

De plug-in wordt niet geïnstalleerd via Adobe Extension Manager en heeft de verraderlijke zxp-toestemming.
- installeert, maar crasht of verliest alle scripts wanneer Adobe Illustrator opnieuw wordt gestart.

Daarom, als u de plug-in ook niet via Adobe Extension Manager kunt installeren, kunt u mijn pad volgen. Hier is hoe ik dit probleem heb opgelost.

1. Installatie van ScriptBay

Ik heb de plug-in uit het archief gehaald. Open het gewoon ScriptBay.zxp door WinRAR(archiver) en pak de bestanden eruit in een aparte ScriptBay-map.

Ik heb de resulterende map geplaatst waar deze zou moeten zijn. Handvatten :)
In mijn versie van illustrator (Adobe Illustrator CS6) is dit de map Extensies.


C:\Program Files (x86)\Common Files\Adobe\CS6ServiceManager\extensions

Voor CS5 moet u het in de map Plug-ins plaatsen.

C:\Program Files\Adobe\Adobe Illustrator CS5\Plug-ins

Voor andere versies kunt u de map vinden op afbeelding en gelijkenis. Voor CC, bedankt jongens voor de tips, hier is de manier:

C:\Program Files (x86)\Common Files\Adobe\CEP\extensions

2. Voeg scripts toe aan ScriptBay

Vervolgens voegen we onze favoriete scripts toe aan ons panel. U kunt het plug-inpaneel openen in het menu Venster:


Venster > Extensie > ScriptBay

Om scripts toe te voegen, klikt u op het paneel scriptmap toevoegen en geef het pad op naar de scriptopslagmap op de computer.


Als de scripts niet alleen voor Adobe Illustrator bedoeld zijn, klikt u op voeg een cross-app-map toe.
Selecteer en klik om de linkermap te verwijderen verwijder de scriptmap.
Als u ze niet op een speciale plaats op een ander station bewaart, kunt u naar de oorspronkelijke Illustrator-scriptmap verwijzen:

Normaal gesproken is het pad naar de map:


station C > Program Files > Adobe > map met uw versie van Adobe Illustrator > Styles (Presets) > en_GB of RU (er is één map - u kunt deze niet missen) > Scripts

Maar ik heb daar al een hele tijd niets meer. Ik bewaar ze niet op dezelfde schijf als Windows en programma's. Dit heeft geen enkele invloed op de werking van het Script Bay-paneel. Met het paneel kunt u ook twee weergavemodi selecteren: boom en blad - geef scripts weer als lijst of boom.


3. Script Bay-menu en andere functies

Kort over andere contextmenuopdrachten:

lege mappen verbergen/tonen- lege mappen verbergen/tonen
toon scriptbestandspad- geef het pad naar het scriptbestand op
verberg/toon standaardmappen- verberg/toon standaardmappen
Geïnstalleerde scripts onthullen- identificeer geïnstalleerde scripts
voorkeur voor scriptbay- Script Bay-instellingenmenu
controleer op updates- controleer op updates
over- Script Bay-versie

Het instellingenmenu van Script Bay dupliceert een aantal contextmenuopdrachten.


Maar het kent ook verschillen. Hier kunt u dus uw eigen categorieën maken voor de gehele verzameling van uw scripts, die u zullen vervangen door het maken en sorteren van scripts in mappen.


Als u zich in staat voelt een briljant nieuw script te schrijven, gebruik dan de ingebouwde scripteditor van Script Bay - Scripteditor.

Het werk van een ontwerper met betrekking tot de implementatie van creatieve ideeën is ondenkbaar zonder talloze routinematige processen, waarbij veel tijd en moeite moet worden besteed aan het herhalen van dezelfde handeling. Daar zijn veel redenen voor. Ten eerste is het noodzakelijk om veel grafische elementen in één stijl te ontwerpen, wat automatisch herhaalde herhaling van hetzelfde type bewerkingen impliceert. Ten tweede zijn er op specifieke gebieden van het ontwerp veel standaardbewerkingen die ook dag in dag uit moeten worden herhaald (een klassiek voorbeeld in deze zin is het omzetten van tientallen of zelfs honderden afbeeldingsbestanden naar een bepaalde standaardvorm). Een apart probleem is de batchverwerking van bestanden, waarbij het nodig is om dezelfde transformaties tegelijk op een grote groep afbeeldingen toe te passen.

Een van de manieren om repetitieve processen te automatiseren is het gebruik van scripts. Dit zijn bepaalde reeksen opdrachten die vele malen kunnen worden gereproduceerd en die het krachtigste en tegelijkertijd meest complexe hulpmiddel zijn voor het automatiseren van werk in Adobe Illustrator. Scripting is effectief in een verscheidenheid aan situaties als het gaat om een ​​groot aantal vergelijkbare acties, en scripts kunnen zowel op individuele afbeeldingen als op groepen afbeeldingen worden toegepast, door ze effectief te combineren met macro's, wat het voorbereidingsproces verder vergemakkelijkt en versnelt. afbeeldingen en bespaart veel tijd.

Tegelijkertijd worden scripts in de praktijk niet veel gebruikt door ontwerpers. Blijkbaar, vanwege het feit dat je om ze te schrijven een van de objectgeoriënteerde programmeertalen moet kennen: JavaScript, Visual Basic (Windows) of AppleScript (Mac OS). Het is echter niet zo moeilijk, omdat veel ontwerpers webpagina's maken die JavaScript gebruiken en daarom inzicht hebben in objectgeoriënteerd programmeren, en deze kennis is voldoende om scripts te schrijven. Er is nog een argument vóór JavaScript: deze taal is platformonafhankelijk en daarom zullen de daarin geschreven scripts zowel op Windows als op Mac OS werken. In deze les zullen we ons concentreren op op JavaScript gebaseerde scripttechnologie in de Adobe Illustrator CS2-omgeving, en om het niveau van toegankelijkheid van het materiaal te vergroten, zullen we proberen het te doen zonder complexe formuleringen en zonder een groot aantal concepten te gebruiken die nieuw zijn voor gewone gebruikers, maar geaccepteerd bij het programmeren, aangezien velen van hen de meeste standaardontwerpproblemen oplossen, zijn ze optioneel. Degenen die meer willen leren over JavaScript-scripting op een hoger niveau en de basisprincipes van het maken van scripts in Visual Basic en AppleScript kunnen de gedetailleerde tutorial van Adobe raadplegen (documentatiebestanden samen met voorbeeldscripts zijn opgenomen in de distributie en kunnen worden gevonden in de Scripting-handleiding). map).

Theoretische aspecten van het werken met scripts

Adobe Illustrator bevat verschillende kant-en-klare scripts die bedoeld zijn om de meest voorkomende taken op te lossen, waaronder scripts voor het exporteren van afbeeldingen naar SVG-, PDF- en Flash-formaten. De meegeleverde scripts worden gestart met de opdracht Bestand=>Scripts(Bestand => Scripts) (Fig. 1), en worden opgeslagen in de map Voorinstellingen\Scripts. Daarnaast kunt u demoscripts gebruiken die bij de documentatie zijn geleverd in uw werk; u kunt deze uit de map selecteren Scripting\Voorbeeld Scripts die de opdracht gebruiken Bestand=>Scripts=>Ander script(Bestand=>Scripts=>Een ander script).

De bibliotheek met ingebouwde scripts kan onbeperkt worden uitgebreid met nieuwe scripts, door ze van internet te downloaden of zelf te maken. In beide gevallen worden extra scripts eenvoudigweg naar dezelfde map gekopieerd. Nadat het programma opnieuw is opgestart, zijn ze beschikbaar via het menu Bestand=>Scripts samen met ingebouwde scripts. Bij een groot aantal scripts is het verstandiger deze niet direct in de map op te slaan Voorinstellingen\Scripts, maar in afzonderlijke submappen, waarvan het aantal niet beperkt is, en ze zullen allemaal worden gepresenteerd als afzonderlijke submenu's van de opdracht Bestand=>Scripts(Afb. 2).

De scripts slaan bijna alle reeksen noodzakelijke acties en transformaties op, die later kunnen worden gebruikt bij het werken met andere afbeeldingen. Er zijn echter uitzonderingen: objecten zoals stijlen, penselen, grafieken, mesh-objecten en spiralen kunnen bijvoorbeeld niet in scripts worden gemaakt, en bovendien kunnen plug-ins niet vanuit scripts worden gestart.

Scripts in de programmeertaal JavaScript zijn gewone tekstbestanden met de extensie js en kunnen daarom in elke teksteditor worden gemaakt, inclusief Kladblok.

Objectgeoriënteerd programmeerconcept

Een document dat in Illustrator is gemaakt, is een reeks objecten, die elk tot een of ander type behoren (bijvoorbeeld vector, raster, symbolisch, enz.) en bepaalde eigenschappen hebben (randbreedte, vulkleur, enz.). Bovendien behoort elk object tot een bepaald document, bevindt het zich op zijn specifieke laag en kan het onderworpen worden aan bepaalde acties (verplaatsen, kopiëren, dupliceren, enz.).

Over het algemeen zijn al deze principes geldig met betrekking tot objectgeoriënteerd programmeren, met als enige verschil dat de typen objecten hier gewoonlijk klassen worden genoemd, en de toegestane acties met betrekking tot objecten methoden worden genoemd, maar eigenschappen worden hier ook eigenschappen genoemd. . Om de relatie tussen klassen en objecten beter te begrijpen, kunt u een klasse beschouwen als een soort blauwdruk voor het maken van objecten. Volgens deze tekening worden verschillende objecten vervaardigd die dezelfde basiskenmerken hebben, maar elk object bestaat onafhankelijk van de andere, dat wil zeggen dat het veranderen van de kenmerken op geen enkele manier de kenmerken van andere objecten beïnvloedt. Alle symbolische objecten hebben bijvoorbeeld dezelfde aard, maar elk ervan heeft zijn eigen afmetingen, zijn eigen kleurinstellingen, enz.

In JavaScript heeft elk type object, methode en eigenschap bijvoorbeeld zijn eigen gereserveerde naam (of operand). padItems betekent vectorobject, symboolItems symbolisch voorwerp, RasterItems rasterobject, GroepItems groepselement, Selectie geselecteerd element, enz. (Zie de scripthandleiding voor de volledige set gereserveerde namen.)

Elke laag van een bepaald document kan veel objecten bevatten, dus alle objecten die op een van de lagen liggen, worden gecombineerd in arrays waarin de objecten van elkaar verschillen door middel van getallen (de nummering begint vanaf nul). Als gevolg hiervan omvat de toegang tot een specifiek object het opeenvolgend specificeren van het woord app (afkorting van application, wat betekent dat het object verwijst naar de geladen applicatie), de documentnaam, het laagnummer, de klassenaam en het elementnummer in de overeenkomstige array . Het ontwerp bijvoorbeeld app.activeDocument.layers.pathItems dit is een beroep op het allereerste vectorobject in termen van diepte, dat in het actieve document op de bovenste laag ligt (merk op dat de nummering van de lagen ook vanaf nul begint).

De resulterende vrij lange structuren kunnen gemakkelijk worden ingekort. Hier kunt u het specificeren van componenten van de naam weglaten die in dit specifieke geval niet nodig zijn (met name als er slechts één laag in het document aanwezig is, is het niet nodig om deze aan te geven). U kunt naamreferenties gebruiken door een verkorte naam in te voeren om een ​​deel van een naamconstructie aan te duiden dat vele malen herhaald zal moeten worden (dergelijke namen worden in een programmeertaal variabelen genoemd). Het is beter om namen met betekenis toe te wijzen om de oriëntatie in de hoofdtekst van de code te vereenvoudigen. Bijvoorbeeld als je eerst de constructie introduceert mijnpathItems=app.activeDocument.layers.pathItems, dan heeft het codegedeelte dat wordt overwogen de vorm mijnpadItems.

U mag de woorden die in JavaScript worden gebruikt niet gebruiken om klassen, eigenschappen en methoden als namen aan te duiden, omdat dit tot onvoorspelbare resultaten kan leiden. Voorbeeld van een onjuist gedefinieerde variabele strokeWidth=app.activeDocument.layers.pathItems, woord slagbreedte gebruikt om de eigenschap Randbreedte aan te duiden).

Voordat u met scripts gaat experimenteren, moet u een paar regels onthouden:

  • Variabelenamen zijn hoofdlettergevoelig (d.w.z. mijnpadItems En MijnPathItems zullen totaal verschillende variabelen blijken te zijn);
  • Het array-elementnummer wordt altijd tussen vierkante haakjes aangegeven;
  • elke scriptconstructie (dergelijke constructies worden operatoren genoemd) eindigt met het symbool “;” of de sluitende accolade “)”. De tweede optie komt alleen in die gevallen voor; wanneer deze constructie al een openende accolade “(”;
  • het aantal sluitende accolades valt volledig samen met het aantal openende accolades;
  • Het is beter om elke nieuwe constructie op een nieuwe lijn te plaatsen, en het is beter om constructies die tussen accolades zijn geplaatst af te drukken met een lijnverschuiving (Fig. 3). Hoewel deze technieken optioneel zijn, vereenvoudigen ze de oriëntatie in het gemaakte script aanzienlijk en stellen ze u in staat het aantal accolades voor openen en sluiten te bepalen.

Het principe van het schrijven en debuggen van scripts

Hoewel JavaScript heel gemakkelijk te leren is, is het nog steeds een programmeertaal. In de praktijk betekent dit dat scripts vaak pas correct beginnen te werken na het debuggen, waarbij zowel voor de hand liggende als verborgen fouten worden gecorrigeerd. Voor de hand liggende fouten betekenen onjuiste taalconstructies, onjuiste syntaxis, pogingen om toegang te krijgen tot niet-bestaande variabelen, enz. (Illustrator rapporteert ze wanneer u het script probeert uit te voeren). De reden voor het verschijnen van verborgen fouten is een onjuist algoritme, en dergelijke fouten kunnen alleen worden geraden door een zorgvuldige analyse van alle scriptbewerkingen.

Voordat het script werkt, moet het meerdere keren worden bewerkt en opnieuw worden uitgevoerd, dus het is beter om het script meteen in het menu te plaatsen Bestand=>Scripts(Bestand => Scripts), in plaats van het elke keer handmatig te selecteren met behulp van de opdracht Bestand=>Scripts=>Ander script(Bestand=>Scripts=>Een ander script). Open hiervoor Kladblok, sla een leeg bestand met de extensie js op in de map Presets\Scripts en start het programma opnieuw. Het is raadzaam om specifiek één item in het menu aan te wijzen voor het debuggen van scripts Bestand=>Scripts, bijvoorbeeld met de naam debuggen, in dit geval kunt u het volgende script bij het maken van het volgende script eerst in het debugging.js-bestand in de map plaatsen Voorinstellingen\Scripts, denk er dan aan (het gemak is dat dit script onmiddellijk zichtbaar is in het Illustrator-programmamenu) en sla het na het debuggen op in dezelfde map, maar onder een persoonlijke naam.

Beheersing van de eenvoudigste JavaScript-constructies

Voordat we verder gaan met voorbeelden van het maken van scripts die het proces van het oplossen van bepaalde ontwerpproblemen kunnen automatiseren, laten we eens kijken naar een paar eenvoudige educatieve voorbeelden die, hoewel ze niet veel praktische waarde hebben, ons zullen helpen de principes van het gebruik van de meest voorkomende taal te begrijpen. constructies. Om dit te doen, maakt u een leeg debugging.js-bestand in Kladblok en slaat u dit op in de map Presets\Scripts. Download vervolgens Illustrator en maak een nieuw document, door er drie vectorpaden in te plaatsen, bijvoorbeeld drie rechthoeken met een brede rand (Fig. 4). Let op de plaatsing van objecten in het Lagenpalet: het object dat zich helemaal onderaan de laag bevindt, is het eerst gemaakt en daarom zal het in verschillende arrays op nummer 0 verschijnen; Naarmate u hogerop gaat in het Lagenpalet, zullen de objectnummers toenemen.

Voer de volgende regels in het bestand debugging.js in

mijnpathItems = app.activeDocument.layers.pathItems;

mijnpathItems.strokeWidth=2,5;

mijnpathItems.strokeWidth=3,5;

mijnpathItems.strokeWidth=2,5;

en sla het bestand op onder dezelfde naam (Fig. 5).

Ontwerp mijnpathItems = app.activeDocument.layers.pathItems betekent het creëren van een variabele met de naam mijnpadItems, waardoor het mogelijk zal zijn om de toegang tot alle objecten van de eerste laag van het actieve document te verminderen. Lijn mijnpathItems.strokeWidth=2,5 geeft aan dat de randbreedte (property slagbreedte) voor het allereerste object wordt gelijk aan 2,5 pixels. De overige lijnen zijn identiek.

Schakel over naar de afbeelding in Illustrator en voer het gemaakte script uit met de opdracht Bestand=>Scripts=>foutopsporing(Bestand=>Scripts=>Foutopsporing). Het resultaat is een verandering in de randbreedte: voor het eerste en derde object met 2,5 pixels, en voor het tweede met 3,5 pixels. Omdat het document slechts één laag bevat, kan het beschouwde ontwerp korter zijn (Fig. 6).

In de praktijk worden dezelfde transformaties (zoals in dit geval het wijzigen van de randbreedte) meestal op meerdere of zelfs alle objecten uitgevoerd. Het handmatig in een script opsommen, zelfs alleen maar het kopiëren van regels, duurt behoorlijk lang; Bovendien is dit beladen met onnodige fouten en compliceert het de programmacode. In dergelijke gevallen nemen ze hun toevlucht tot cycli; er zijn nog steeds drie rechthoeken in het document, waarbij de rand in de cyclus voor alle objecten wordt verkleind tot een waarde van 0,5 pixels. 7. Voer deze regels in het bestand debugging.js in, sla het script op en voer het uit om de werkimage te verwerken. Het aangepaste script werd aangevuld met een lusoperator:

F of (lusconditie)(

lus lichaam

De lusvoorwaarde kan er anders uitzien, maar kan in de meeste gevallen door de constructie worden weergegeven ik=0;ik<имя_объекта.length;i++ , wat een verandering in de variabele i betekent met één eenheid vanaf nul totdat de waarde ervan samenvalt met het aantal objecten ( lengte) in de actieve laag van het actieve document. Het lichaam van de lus wordt aan beide zijden begrensd door accolades en kan één of meerdere lijnen bevatten (afhankelijk van het aantal acties dat in de lus wordt uitgevoerd), die elk eindigen met het symbool “;”.

Laten we nu proberen het script zo te wijzigen dat de rand alleen verandert als er geselecteerde objecten in de afbeelding zijn, en laten we tegelijkertijd kennis maken met de voorwaardelijke sprongoperator, die er in het algemeen als volgt uitziet:

als (voorwaarde) (

actieset 1

Actieset 2

Deze constructie betekent dat als de voorwaarde waar is, de eerste reeks acties wordt uitgevoerd, en anders de tweede. In de eenvoudigste vorm kan een voorwaarde worden weergegeven als een gelijkheid of een ongelijkheid, en elke reeks acties staat tussen accolades en kan bestaan ​​uit een of meer acties, elk op een aparte regel en eindigend met een ";". Probeer het script te veranderen volgens Fig. 8 en test het in de praktijk. In dit geval werd het script aangevuld met een nieuwe variabele docGeselecteerd, gebruikt om toegang te krijgen tot toegewezen objecten in een lus (de lusvariabele wordt opgehoogd totdat deze gelijk is aan het aantal toegewezen objecten) en verschijnt in een voorwaardelijke verklaring die test op de aanwezigheid van toegewezen objecten. Zoals uit de controle blijkt, produceert dit script geen fouten wanneer het wordt uitgevoerd, maar het werkt niet correct: als er geselecteerde objecten zijn, verandert de randbreedte daadwerkelijk, maar niet voor de objecten die zijn geselecteerd, maar alleen voor het overeenkomstige aantal objecten in volgorde. Het probleem ligt in de lijn mijnpadItems[i].strokeWidth=0,5 en zal worden toegestaan ​​als het wordt vervangen door een ontwerp docSelected[i].strokeWidth=0,5(Afb. 9). Controleer dit zelf om er zeker van te zijn dat de randbreedte nu alleen verandert voor de objecten die eerder geselecteerd waren.

Laten we tot slot een finishing touch aan het script toevoegen: we voegen het zo toe dat als er geen geselecteerde objecten zijn, er een bijbehorend bericht op het scherm verschijnt (Fig. 10 en 11). Om een ​​bericht weer te geven gebruiken we de operator Waarschuw, die ervoor zorgt dat willekeurige tekst die eerder in het ontwerp is ingevoerd, op het scherm wordt weergegeven Waarschuw tussen aanhalingstekens. Het is vermeldenswaard dat de exploitant Waarschuw Het kan niet alleen nuttig zijn als het nodig is om het script met enkele berichten te begeleiden. Het kan veel nuttiger zijn bij het debuggen van een script, wanneer de redenen voor de onjuiste werking van het script volkomen onduidelijk zijn. Door in dergelijke situaties de Alert-operator te gebruiken, kunt u controleren hoe het programma deze of gene instructie begrijpt, en zo kunt u de reden voor de onjuiste werking van de programmacode bepalen.

Voorbeelden van het maken en gebruiken van scripts

Het ontwerp van objecten van hetzelfde type wijzigen

Vaak is het nodig om snel bepaalde eigenschappen van alle objecten van hetzelfde type in een document te wijzigen. U moet bijvoorbeeld de vulkleur van objecten wijzigen of de grootte enigszins verkleinen of vergroten. In de handmatige versie moet u in dit geval alle objecten selecteren waarin u geïnteresseerd bent, wat behoorlijk vervelend is als er een aanzienlijk aantal is. Maak daarom voor dergelijke bewerkingen een reeks scripts die dit werk automatisch uitvoeren. Stel dat u de grootte van een groot aantal symbolische afbeeldingen in een kant-en-klaar document enigszins moet verkleinen ( symboolItems) (Fig. 12), en het is niet van tevoren bekend met hoeveel pixels het nodig is om de hoogtewaarden te verkleinen ( hoogte) en breedte ( breedte). In dit geval moet u het met 1 pixel verkleinen, en als dit niet genoeg is, kan het script herhaaldelijk worden uitgevoerd om het verder te verkleinen. Om de waarde van een onroerend goed met een bepaald bedrag te verminderen in vergelijking met de oorspronkelijke waarde, moet u in ons geval een “-” teken voor het gelijkteken in het onroerend goed plaatsen. De bijbehorende constructie zal de vorm aannemen: mijnsymboolItems[i].height-=1. Op dezelfde manier kunt u de waarde van een onroerend goed verhogen door een “+” teken in te voeren in plaats van het “-” teken. Het gemaakte script wordt getoond in Fig. 13, en het resultaat van zijn werk wordt getoond in Fig. 14.

Scripts kunnen niet alleen worden gebruikt om een ​​of andere eigenschap van objecten te wijzigen, maar ook om ze volledig te ontwerpen, wat meestal gebeurt door een grafische stijl toe te passen en ook geautomatiseerd kan worden. Grafische stijlen ( grafischeStijlen), zoals veel andere objecten, worden gecombineerd in arrays en zijn toegankelijk op nummer. Laten we bijvoorbeeld een script maken dat een bepaalde stijl toepast op alle vectorobjecten waarvan de randbreedte kleiner is dan of gelijk is aan 1 (in feite hangt het principe van het controleren van afbeeldingen af ​​van de kenmerken van hun creatie en kan het heel verschillend zijn). Een voorbeeld van een dergelijk script wordt getoond in Fig. 15.

Verdikkende randen die te dun zijn

Heel vaak blijkt na verschillende transformaties dat de grenzen van sommige objecten te dun blijken te zijn en praktisch onzichtbaar kunnen zijn (Fig. 16). Dan moet de randbreedte van dergelijke objecten worden vergroot, en dit handmatig doen met een groot aantal objecten is zeer problematisch. Het is veel handiger om dit werk te doen met een geschikt script, dat slechts een paar seconden duurt. De taak van een dergelijk script is om alle objecten te doorlopen, en objecten met een kleinere randbreedte (bijvoorbeeld 0,25 pixels) vergroten de randbreedte tot 0,5 pixels. De overige grenzen moeten ongewijzigd blijven. Het gemaakte script wordt getoond in Fig. 17, en het resultaat van zijn werk wordt getoond in Fig. 18.

Tekstobjecten opmaken

Vaak bestaat er in een bepaald stadium van het documentontwerp de wens om het ontwerpprincipe van de daarin opgenomen tekstobjecten te veranderen. Het selecteren van een groot aantal objecten is echter een vervelende klus. In dergelijke situaties kunt u een script maken dat tekstobjecten kan doorlopen en hun kenmerken op een bepaalde manier kan wijzigen, bijvoorbeeld door de lettergrootte, de kleur, het lettertype, de positie, enz. te verkleinen.

U kunt voor dergelijke scripts veel opties bedenken, maar we zullen ons concentreren op het vergroten van de lettergrootte met 1 eenheid en het wijzigen van de kleur voor alle tekstobjecten in het document (Afb. 19). Dit omvat het doorlopen van objecten uit de klasse tekstframes(zo worden tekstobjecten aangeduid) en het aanpassen van hun eigenschappen karakterAttributen.grootte(lettergrootte) en vulkleur(in dit geval de kleur van de tekens). Een soortgelijk script wordt getoond in Fig. 20, en het resultaat van zijn werk wordt getoond in Fig. 21.

De hoogte en breedte van objecten uitlijnen

Bij het maken van organisatorische, technologische en andere soorten bedrijfsdiagrammen moet u met een groot aantal identieke objecten werken, bijvoorbeeld gewone rechthoeken, die in grootte verschillen vanwege de verschillende lengtes van de tekst die erin is geplaatst (Fig. 22) . Uiteindelijk moeten al deze elementen vaak even hoog zijn. Het handmatig uitlijnen ervan is natuurlijk lastig, maar deze handeling kan snel worden uitgevoerd met behulp van een script.

Laten we een script maken dat de hoogte van alle objecten uitlijnt met de hoogte van het laatst gemaakte controleobject. Het moet worden gemaakt door de gewenste hoogte handmatig in te stellen (Fig. 23), en de breedte van de objecten mag niet veranderen. Om dit te doen, volstaat het om eenvoudigweg alle objecten in een lus te doorlopen, de nieuwe hoogte voor elk opnieuw te berekenen volgens de gebruikelijke verhoudingen en deze vervolgens te wijzigen. Om de hoogte te veranderen zullen we de methode gebruiken formaat wijzigen(schaalX, schaalY), Waar schaalX En schaal Y verandering in breedte- en hoogtewaarden als percentage (vergeleken met oude waarden). In ons geval hoeven we alleen de waarde te berekenen schaal Y, A schaalX zal gelijk zijn aan 100, aangezien de breedte ongewijzigd blijft. Het script dat we hebben gemaakt, wordt getoond in Fig. 24, en het resultaat van zijn werk wordt getoond in Fig. 25.

Er is ook een situatie waarin objecten in de breedte moeten worden uitgelijnd, waarbij de hoogte ongewijzigd blijft. Een script kan ook helpen het proces te automatiseren, dat kan worden verkregen uit het vorige door de eigenschap te vervangen hoogte(hoogte) per woning breedte(breedte) en het principe van objectschalen bewerken in de resize-methode ( schaalX, schaal Y), waarbij in dit geval de waarde ongewijzigd moet blijven schaal Y(Afb. 26).

Een tabel opmaken

Als u regelmatig werkt met objecten met hetzelfde ontwerp, bijvoorbeeld tabellen waarvan de inhoud, net als het aantal rijen, voortdurend verandert, maar de ontwerpstijl behouden blijft, dan kunt u het tabelontwerpproces aanzienlijk versnellen door het maken van een passend schrift. Laten we aannemen dat alle tabelcellen in het wit zijn gemaakt en geen randen hebben (Afb. 27). Bij het ontwerpen moet u de kopcellen met een bepaalde kleur vullen (met andere woorden, de waarde van de eigenschap wijzigen vulkleur) en voeg er een dunne rand van 0,5 pixels aan toe, waarbij de eigenschappen moeten worden gewijzigd lijnkleur En slagbreedte.

In dit geval bedoelen we met kopcellen cellen die een bepaalde linkerrand hebben - in ons voorbeeld 40 pixels. De celvulkleur zal verschillen van de randkleur, dus u moet twee kleurvariabelen maken, laten we deze noemen kleurNieuw En kleurNieuw1, voor elk daarvan moet je de rode, groene en blauwe componenten van de kleur bepalen. Hierna moet u alle vectorobjecten in een lus doorlopen en de eigenschappen wijzigen vulkleur, lijnkleur En slagbreedte die met een linkerrand van 40 pixels. Het gemaakte script wordt getoond in Fig. 28, en het resultaat van zijn werk wordt getoond in Fig. 29.

Houd er rekening mee dat in dit voorbeeld de cellen zelf (dat wil zeggen de overeenkomstige rechthoekige objecten) aanwezig waren in het document, zodat hun parameters konden worden gewijzigd. Dit betekent dat toen de tabel werd gemaakt, de cellen ervan als rechthoekige objecten werden getekend en vervolgens naar het klembord werden gekopieerd en gedupliceerd met de opdracht Bewerken=>Plakken vooraan(Bewerken=>Plakken vooraan). Hierna werd de tekst in de kopieën van de cellen geschreven, gegroepeerd met de overeenkomstige rechthoekige cel. Met een andere technologie voor het maken van een tabel is een heel ander script nodig om deze te ontwerpen.

Exporteer en bewaar geopende documenten

Het komt voor dat na het werken met meerdere of zelfs veel documenten, ze aan het einde van het werk allemaal moeten worden opgeslagen of geëxporteerd naar het gewenste formaat. Laten we eens kijken naar de optie om alle geopende afbeeldingen naar jpg-formaat te exporteren. Wanneer u een script maakt om deze bewerking uit te voeren, moet u er ten eerste voor zorgen dat de afbeeldingen met verschillende namen en in een specifieke map worden opgeslagen, en ten tweede moet u op de een of andere manier van document naar document overschakelen, op voorwaarde dat de documentnamen willekeurig zijn.

Om het eerste probleem op te lossen, zijn er twee manieren: geef de doelmap en de documentnaam handmatig op tijdens de uitvoering van het script (maar dit is behoorlijk vervelend, vooral in het geval van een groot aantal afbeeldingen), of vorm de map en documentnaam volgens een bepaald principe. We nemen het tweede pad, dat wil zeggen dat we een vaste map instellen als doelmap C:/temperatuur/, laten we de documentnaam hetzelfde en wordt de jpg-extensie automatisch toegewezen door het gewenste exportformaat te selecteren. Als resultaat hiervan zal de corresponderende scriptregel in dit voorbeeld er als volgt uitzien: fileSpec = nieuw bestand ("C:/temperatuur/" + doc.naam), waarbij doc.name de naam van het actieve document is.

Het tweede probleem - het overschakelen van document naar document - in het script zal automatisch worden opgelost vanwege het feit dat elk reeds geëxporteerd document onmiddellijk wordt gesloten en het document dat is geladen voordat het actief wordt. Houd er echter rekening mee dat het aantal werkdocumenten in dit script een variabele waarde zal zijn, dus het zal niet mogelijk zijn om dit als bovengrens te gebruiken voor de uitvoering van de lus. Daarom moet u vóór de lus een extra variabele maken om het initiële aantal documenten op te slaan docLength=documenten.lengte.

Daarnaast is het beter om afbeeldingen te sluiten met het commando doc.close( SaveOptions.BEWAARWIJZIGINGEN NIET), in plaats van doc.close(), omdat in het tweede geval het programma de juiste bevestiging nodig heeft bij het sluiten van elke afbeelding. Het script voor het oplossen van het geformuleerde probleem wordt weergegeven in Fig. 30.

Het uitvoeren van batchverwerking van bestanden

Heel vaak is het nodig om dezelfde verwerking uit te voeren voor groepen bestanden, bijvoorbeeld bij het converteren van een groot aantal bestanden naar een bepaald type. In dergelijke gevallen is het raadzaam om het script in batchmodus uit te voeren. Hoewel deze functie niet beschikbaar is in Illustrator, kunt u in de batchmodus een macro uitvoeren, waarvan een van de opdrachten het starten van het gewenste script kan zijn.

Stel je voor dat er veel bestanden zijn, ontwikkeld door verschillende gebruikers, en dat ze zoveel mogelijk moeten worden verkleind en herschreven in één EPS-formaat. Voor elk bestand moet u twee bewerkingen uitvoeren: verwijder onnodige penselen, grafische stijlen, symbolen en kleuren die het bestand zwaarder maken, en sla de afbeelding vervolgens op in EPS-indeling. Theoretisch kun je beide bewerkingen in één script plaatsen, dat vervolgens in batchmodus vanuit het palet wordt gestart Acties(Acties), maar in de praktijk zul je het anders moeten doen met behulp van een macro Verwijder ongebruikte paletitems uit het setje Standaardacties, die verantwoordelijk is voor het verwijderen van ongebruikte penselen, grafische stijlen, symbolen en kleuren. Helaas zijn de mogelijkheden van JavaScript enigszins beperkt, dus om dit probleem op te lossen zou je de commando's moeten gebruiken docRef.swatches.removeAll(), docRef.symbols.removeAll() en d ocRef.graphicStyles.removeAll(), wat zal leiden tot het verwijderen van alle kleuren, symbolen, enz., en niet alleen ongebruikte kleuren, wat niet als een optimale oplossing kan worden beschouwd. U kunt onnodige grafische elementen één voor één verwijderen, maar dit kost veel tijd en moeite. Dankzij de macro Ongebruikte paletitems verwijderen wordt de actie die we nodig hebben binnen enkele seconden uitgevoerd, dus we zullen ons concentreren op het combineren van een script en een macro.

Open het palet Acties(Macro's) met behulp van de opdracht Venster=>Acties(Venster=>Acties) en maak daarin een nieuwe reeks acties door op de knop te klikken Maak een nieuwe set(Nieuwe set maken) onderaan het palet. Selecteer macro Verwijder ongebruikte paletitems, dupliceer het met de opdracht Duplicaat(Dupliceren) en sleep de dupliceerbewerking naar de gemaakte macroset. Nu moet u de macro aanvullen met de bewerking om het bestand in EPS-indeling op te slaan. Een speciaal gemaakt script zal verantwoordelijk zijn voor deze bewerking OpslaanAlsEPS(Afb. 31). We slaan de bestanden onder hun originele naam op in de map C:/temperatuur/.

Het lijkt logischer om het script te starten als een tweede macro in de gemaakte reeks acties, maar dit zal lastig zijn voor verdere bestandsverwerking. Feit is dat u in de batchmodus slechts één macro kunt uitvoeren. Om de bestandsverwerking in één stap uit te voeren, vult u de macro Ongebruikte paletitems verwijderen aan door een script uit te voeren en de naam van de macro te wijzigen. Het uitvoeren van een script kan met behulp van het commando in de set worden opgenomen Menu-item invoegen(Menu-item invoegen) van het Acties-palet, waarin de opdracht wordt gespecificeerd in het venster dat wordt geopend Bestand=>Scripts=>OpslaanAlsEPS(Bestand=>Scripts=>Opslaan als EPS), afb. 32.

Om een ​​gemaakte macro in batchmodus uit te voeren vanuit het paletmenu Acties open de opdracht Partij(Batchverwerking), selecteer in het dialoogvenster dat wordt geopend een set macro's in de lijst Set(Ingesteld) en vervolgens de gewenste macro in de lijst Actie(Actie). Volgende op de lijst Bron(Bron)insteloptie Map(Map), klik op de knop Kiezen(Selecteer) en specificeer de eerder gemaakte bronmap. Op de lijst Bestemming(Ontvanger) optie selecteren Opslaan en sluiten(Opslaan en sluiten) (Afb. 33) en klik op de knop OK. Het resultaat is dat er kleinere bestanden in de map verschijnen C:/temperatuur/ ze zullen allemaal in EPS-formaat zijn.

Hier wil ik een gestructureerde lijst met scripts maken met beschrijvingen en werkende links. Als je een interessant script wilt voorstellen, schrijf dan in de reacties.
Bijgewerkt 24-10-2016.
Bijgewerkt.
Bijgewerkt.

Boogcorrectie

Rondt handgetekende bogen af.


Voegt driehoekige pijlen toe aan de uiteinden van het pad.


Voegt pijlen toe aan de uiteinden van het pad.

Streepjes aanpassen (offset)


Maakt de stippellijn symmetrisch.

Pas streepjes aan


Een aanvulling op het vorige script, waardoor de regels dezelfde lengte krijgen.

Archimedische spiraal


Tekent een Archimedische spiraal.
Instellingen zijn beschikbaar in het script.
var straal_increment = 5; // radius-increment per ronde (punt)
var uzu_hoek = 15/180 * mpi; // eenheid van afrondingshoek (radiaal)
var uzu_rondetijd = 10; // afrondingstijden


Tekent een cirkel op basis van het opgegeven aantal punten. Er zijn 2 cirkels op de afbeelding, gemaakt van 10 en 2 stippen.


Omlijnt objecten met behulp van een cirkel.

Gemeenschappelijke raaklijnen


Vindt punten in de buurt van een contour en verbindt deze met lijnen.

Knippen bij geselecteerde ankers


Snijdt een contour punt voor punt.

Dans


Genereert dansende mensen op een nieuwe laag.

Verdeel (lengte)


Voegt het aantal punten dat u selecteert toe aan bestaande punten.

Dup bij geselecteerde ankers


Kopieert het bovenste object boven de punten. De stip kan met een pen worden gemaakt, maar u kunt ook stippen van welke vorm dan ook gebruiken.

Verleng de handgrepen


Schaal van hefboomwerking met gespecificeerde percentages.

Doe redelijk mee


Sluit geselecteerde open paden in één object.

Overlappende ankers samenvoegen

Wanneer de stippen elkaar overlappen, zijn ze moeilijk te zien. Dit script maakt het pad vrij van overlappende punten door ze met elkaar te verbinden.

Metabal (boog)



Metaboliseert objecten. Verbindt objecten met bogen. U kunt de mate van kromming instellen.

Padlengte


Voegt tekst toe met de lengte van het geselecteerde pad.

Ankers verwijderen

Verwijdert geselecteerde punten zonder het pad te onderbreken. Punten verwijderen Verwijder het ankerpuntgereedschap.


Als bij het maken van een overvloeiing het midden van de overgang smaller wordt, moet u de richting van een van de paden wijzigen. Dit script verandert de richting van het pad zonder het uiterlijk ervan te veranderen.

Om elke hoek


Rondt alle hoeken af ​​door een straal in willekeurige eenheden op te geven. Het is handig om alle hoeken op één graad afronding in te stellen. U kunt wiskundige bewerkingen uitvoeren op de gemaakte hoeken. Deel de graden bijvoorbeeld door 2 of tel bij alle hoeken 10 graden op.

Sinuskromme


Tekent een sinusgolf. Er zijn 2 golven op de foto. De eerste is een illustratorfilter, de tweede wordt gemaakt door een script.

Raaklijnen van een punt


Tekent lijnen vanuit een punt langs rakende objecten.

Boomachtig


Genereert vrij realistische bomen. Soms zul je de stam moeten aanpassen en de uiteinden van de takken moeten ronden door de afronding van de uiteinden in te stellen in het “Stroke”-palet.

Verbind Centra


Trekt een lijn door het geometrische middelpunt van de objecten en sluit het pad bij het startobject.

Boomvoorbeeld bewerken


Tekent fractale bomen
– Geen willekeur
— Met willekeurig

Hallo Tomsk

In deze collectie vindt u 10 handige scripts voor Adobe Illustrator. Deze scripts zijn volledig gratis. Alle links staan ​​in de namen van de scripts. Als het script niet via de link wil worden gedownload, maar in plaats daarvan de code in uw browser wordt geopend, doe dat dan Klik met de rechtermuisknop > Koppeling opslaan als en sla het script op uw computer op.

Een kleine lyrische uitweiding voor degenen die nog niet eerder scripts in Illustrator zijn tegengekomen. Een script is een programma dat via het menu in Adobe Illustrator kan worden gestart Bestand > Scripts. Zoals het bij elk programma betaamt, voert het script snel en automatisch enkele nuttige acties uit. Dat is de reden waarom scripts integrale assistenten voor microstockers zijn geworden, aangezien er meer dan genoeg routine in ons werk zit.

De onderstaande Adobe Illustrator-scripts helpen ontwerpers met een verscheidenheid aan taken. Beginnend met het voorbereiden van vectorbestanden voor microstocks en eindigend met het schrijven van bloemen. Maar als dit niet genoeg voor je is, dan staan ​​er aan het einde van het artikel links naar een hele reeks andere scripts.

Om het script op uw Illustrator te installeren, moet u het scriptbestand kopiëren naar de map met standaardscripts. Zoek het op waar uw illustrator is geïnstalleerd.

Voor Windows is dit meestal: station C > Program Files > Adobe > map met jouw versie van Adobe Illustrator > Styles (Presets) > en_GB of RU (je kunt daar geen map missen) > Scripts.

Voor Mac's: Toepassingen > Adobe > uw versie van Adobe Illustrator > Voorinstellingen > en_GB > Scripts.

Als de standaardmap niet kan worden gevonden, kunnen de scripts zonder installatie in Illustrator worden uitgevoerd via Bestand > Scripts > Ander script (Ctrl+F12).

Dus, laten we gaan!

Het script zoekt naar en corrigeert fouten die niet zijn toegestaan ​​op microstocks. Het vectorbestand wordt automatisch gescand: het script vindt open paden, spookpaden, niet-geassembleerde penselen, symbolen, rasters, enz. Onderweg biedt het script onmiddellijk aan om deze fouten te corrigeren. U kunt Free Stock Master gratis downloaden op MAI Tools.

Met dit script kunt u selectief de aanwezigheid van bepaalde objecten in een vectorbestand controleren. Zoek bijvoorbeeld naar open paden, rasters etc. Je kunt het script downloaden op Arid Ocean. De kleine groene knop ExtendedSelect.zip bevindt zich helemaal bovenaan.

Het script opent een PDF met meerdere pagina's in zijn geheel, en niet één pagina tegelijk, zoals gebruikelijk in Illustrator. In het scriptvenster geven we het pad naar het PDF-bestand aan, het aantal pagina's, en het wordt geopend in één document op verschillende tekengebieden.

Het script lijnt de geselecteerde objecten uit op het pixelraster. Werkt vergelijkbaar met de optie Uitlijnen op pixelraster.

Het script keert het geselecteerde object binnenstebuiten zodat het op een bloem of patroon lijkt.

Het script tekent lijnen van hoek tot hoek van de figuren. Het resultaat zijn geometrische patronen en pictogrammen.

Het script verdraait knooppunten van objecten, wat resulteert in interessante patronen. Het script heeft handige instellingen die onmiddellijk op de geselecteerde vorm worden toegepast. Je ziet direct wat er op de werkplek gebeurt.

Het script verandert de positie van lijnen en punten zodat de geometrisch correcte tekening levendiger wordt. Of scheef, maar dat is spelen met de instellingen.

Het script maakt van individuele teksten van één regel een gelijkmatige kolom, zoals op posters.