ღრუბლის სკრიპტი ილუსტრატორში. როგორ დავაყენოთ სკრიპტები Adobe Illustrator- ში

Adobe Illustrator– ს მრავალი იდეა და ფუნქცია აქვს ნებისმიერი იდეის განსახორციელებლად. მაგრამ თავის არსენალში ამდენი შესაძლებლობის არსებობის პირობებშიც კი, რაღაცას გამოგრჩება. ინტერნეტში, ახლა შეგიძლიათ იპოვოთ მრავალი სკრიპტი და მოდული Adobe Illustrator– სთვის, გააფართოოთ მისი ფუნქციონირება. ამ დამატებების გარეშე, Adobe Illustrator შეიძლება ვერ გაუმკლავდეს გარკვეულ დავალებებს, ან დაამატეთ დამატებითი ნამუშევარი მხატვრისთვის. ამიტომ, დღეს ჩვენ განვიხილავთ რამდენიმე სასარგებლო და უფასო სკრიპტები Adobe Illustrator– სთვის.

სკრიპტის ინსტალაცია

იმისათვის, რომ სკრიპტი იმუშაოს Adobe Illustrator– ში, ჩვენ უნდა მოვათავსოთ იგი სკრიპტების საქაღალდეში, რომელიც მდებარეობს Adobe Illustrator დირექტორიაში. ჩემს შემთხვევაში, ეს არის ... / Adobe / Adobe_Illustrator_CS5 / Presets / en_GB / სკრიპტები. თუ პროგრამის უფრო ადრინდელ ვერსიას იყენებთ, Adobe_Illustrator_CS5- ის ნაცვლად, თქვენს შემთხვევაში შეიძლება იყოს Adobe_Illustrator_CS4, Adobe_Illustrator_CS3 და ა.შ.
  თუ გადმოწერეთ სკრიპტები, რომლებიც კომპრესირებულია არქივში, მაშინ არ უნდა დაგვავიწყდეს, რომ გახსნათ ეს. ინსტალაციის შემდეგ, თქვენ უნდა გადატვირთოთ Adobe Illustrator.

ხელმისაწვდომი სკრიპტები შეგიძლიათ იპოვოთ ფაილების ჩანართზე სკრიპტების ქვემენს.

აირჩიეთ ღია გზა

ეს სკრიპტი იპოვნებს და ირჩევენ ყველა ფორმის ღია ბილიკს. ეს სკრიპტი სასარგებლო იქნება მიკროტოქტისთვის ვექტორის შექმნისას, რადგან დახურული მარყუჟები არის microstock მონაცემთა ბაზაში თქვენი სამუშაოს მიღების ერთ-ერთი კრიტერიუმი.

დახურეთ ყველა გზა / დახურეთ ყველა არჩეული ბილიკი

ეს სკრიპტი იხურება მონახაზი ყველა ფორმისთვის, ან შერჩეული ფორმისთვის. ასე რომ, მაგალითად, ღია სქემების ძებნის შემდეგ აირჩიეთ Open Path– ის გამოყენებით, შეგიძლიათ დახუროთ ისინი.

გადადეთ ტექსტური ჩარჩოები

ამ სკრიპტის გამოყენებით, თქვენ შეგიძლიათ დაყოთ ერთი ტექსტური ველი მცირე ზომის, ხოლო ახალ სტრიქონზე გადასვლა არის განცალკევების ადგილი.

შემოგვიერთდით ტექსტის ჩარჩოებში

ეს სკრიპტი აერთიანებს რამდენიმე ტექსტურ ველს ერთში.

გაქცევა

ამ დამწერლობის წყალობით, ფიგურები მორთული იქნება ლამაზი ყვავილების მოსახვევებით.

მეტაბოლი

ამ სკრიპტის გამოყენების შემდეგ, რამდენიმე მარტივი ფორმა გადაიქცევა უფრო რთულ ფორმებად.

CMYK to Pantone v.2

ეს სკრიპტი CMYK ფერის რეჟიმში გადააქცევს Pantone- ს

წრე

ამ სკრიპტის წყალობით, თქვენ შეგიძლიათ შექმნათ წრის ფორმები მასზე საჭირო პუნქტების რაოდენობა.

ამოიღეთ წამყვანები

ეს სკრიპტი წაშლის შერჩეულ წერტილებს ფიგურაზე.

მრგვალდება ნებისმიერი კუთხე

ამ სკრიპტის გამოყენების შემდეგ ფორმის მკვეთრი კუთხეები გარდაიქმნება მრგვალად.

შეცვალეთ ობიექტები

ეს სკრიპტი ერთ ობიექტს მისცემს მეორის თვისებებს, ხოლო მეორე - პირველობის თვისებებს. როგორც თვისებები, გამოყენებული იქნება სამუშაო ადგილის ზომა და ადგილმდებარეობა.

აირჩიეთ გზა ზომით

მოდული დაგეხმარებათ იპოვოთ გარკვეული ზომების ფიგურები.

ჩვეულებრივ, როდესაც საქმე დიზაინერებს ეხებათ, პრიორიტეტი ენიჭება პროგრამების მხატვრულ შესაძლებლობებს - ხატვის ხელსაწყოებს, ფილტრებს და ა.შ., მაგრამ ყოველდღიურ ცხოვრებაში უნდა გაუმკლავდეთ რუტინას. საბედნიეროდ, Adobe (მათ შორის Illustrator) პროგრამულმა პროგრამამ დაიწყო სკრიპტების (სკრიპტების) დაწერის მხარდაჭერა, რაც საშუალებას გაძლევთ ერთფეროვანი ნამუშევარი გადაიტანოთ აპარატის მხრებზე. და თქვენ აღარ მუშაობთ ილუსტრატორში - თქვენ მართავთ მას და ეს, როგორც ამბობენ ოდესაში, ორი დიდი განსხვავებაა!

გააცნობიერე, რომ Illustrator მომხმარებელთა უმეტესი ნაწილი არის მხატვრები და დიზაინერები, რომლებიც არ შეხვდნენ პროგრამირებას, შევეცდები ჩამოვაყალიბო სკრიპტირების ფუნქციონალური მიმოხილვა, ისე რომ მკითხველს არ გაუჩნდეს ისეთი შთაბეჭდილება, რომ ამ გაკვეთილს სჭირდება გარკვეული "განსაკუთრებული" მენტალიტეტი და ხანგრძლივი სპეციალური განათლება. ამავდროულად, ბოდიშს ვუხდი პროფესიონალებს ტექსტის გარკვეულ გამარტივებას მასალების ხელმისაწვდომობის მიზნით. თავად ავტორიც ერთხელ იყო მსგავს სიტუაციაში და თავიდან არ მიიჩნია ეს სფერო თავის ეპარქიად. მაგრამ ორი კვირაზე ნაკლები გავატარე ამის შესწავლაზე და ახლავე ვამტკიცებ: პროგრამირების მინიმალური გაგება, სკრიპტების დაუფლება შესანიშნავი ამოცანაა.

სკრიპტები ილუსტრატორისთვის შეიძლება დაიწეროს ნებისმიერ ენაზე: JavaScript, Visual Basic (Windows) და AppleScript (Mac OS). მას შემდეგ, რაც მკითხველთა უმრავლესობა კარგად იცნობს პირველს (ბეჭდვის მრავალი დიზაინერი წარმატებით უმკლავდება ინტერნეტ გვერდების შექმნას, რომელშიც ის არის გამოყენებული), ჩვენ მასზე ვიქნებით. უფრო მეტიც, JavaScript არის დამოუკიდებელი პლატფორმა: მასზე დაწერილი სკრიპტები იმუშავებს ორივე OS- ში - Windows- ში და Mac OS- ში. ელემენტებზე წვდომის გზა ობიექტზეა ორიენტირებული: იმისათვის, რომ მაგალითად, პირველ ფენაზე მეორე ვექტორის ელემენტის საზღვრის სისქე გაარკვიოთ, თქვენ უნდა დაწეროთ შემდეგი კონსტრუქცია:

app.activeDocument.Layer.pathItems.stroke სიგანე

ეს შეიძლება შემდეგნაირად იქნას განმარტებული: პირველი, ილუსტრატორის იერარქიაში ყველაზე მაღალი დონის ობიექტია მითითებული (აპლიკაცია არის განაცხადის მოკლე პროგრამა), შემდეგ კი შერჩევა თანდათანობით ვიწროვდება სპეციფიკურ ელემენტზე (აქტიურ დოკუმენტში პირველი ფენის შესახებ მუშაობა), შემდეგ მითითებულ ფენაში აირჩიეთ მეორე სიღრმის ვექტორი. ობიექტს და გაარკვიეთ საზღვრის სისქე). ელემენტებზე წვდომის ასეთი მეთოდი ძალიან მოსახერხებელია, რადგან ის საშუალებას გაძლევთ მარტივად დაათვალიეროთ მათი ტიპების მთელი სახეობა, რაც რედაქტორში არსებობს. ურთიერთობის სრული მოდელი შეგიძლიათ იხილოთ კარგად დაწერილი აღწერილობით (შედის ილუსტარტორთან).

კვადრატული ფრჩხილებში მითითებულია, რომ ელემენტი მასივის ნაწილია. მასივი არის რამდენიმე ობიექტის კოლექცია, რომელიც გაერთიანებულია გარკვეული ატრიბუტით. მაგალითად, Layers, pathItems, RasterItems, GroupItems, Selection და ა.შ. არის მასალები, რომლებიც შედგება იმავე ტიპის ობიექტებისგან (დოკუმენტის ფენები, ვექტორული ბილიკები, რასტერული სურათები, ჯგუფები და ა.შ.). ფრჩხილებში მიუთითეთ მასივში საჭირო ელემენტის ინდექსი (სერიული ნომერი). ამრიგად, Layer- ის ჩანაწერი ნიშნავს პირველ ფენას, რადგან პირველი ინდექსი ყოველთვის არის "0".

ობიექტების ნახვა შეგიძლიათ აგრეთვე სახელწოდებით Layer [”გრაფიკი”]. ამისათვის ელემენტი მკაფიოდ უნდა იყოს დასახელებული - ხელით, Layers პალიტრის გამოყენებით (ობიექტის სახელზე ორჯერ დაჭერით იხსნება ფანჯარა თავისი თვისებებით), ან სკრიპტიდან. იმისათვის, რომ არ დაწეროთ რთული კონსტრუქცია, როდესაც ჩამოთვლილია ყველა "მემკვიდრეობა", გამოიყენეთ ცნობები:

pI \u003d აქტიურიDocument.Layer.pathItems;

შემდეგ ზემოთ მოცემული კოდის განყოფილება ასე გამოიყურება: pI.strokeWidth.

ნებადართულია ყოველ ჯერზე არ მოხსენიდეს ფენა, როგორც ობიექტი, თუ ყველა ოპერაცია ხდება იმავე აქტიურ ფენაზე. და გაითვალისწინეთ, რომ ცვლადების სახელებს აქვს შემთხვევა: თუ პირველად დაწერთ pI და pi მეორეს, მაშინ სკრიპტი შეცდება შეცდომას და არ იმუშავებს.

ობიექტზე ორიენტირებულ მოდელში მოცემულია: აპლიკაცია თავად, კლასები (ობიექტების ტიპები, ან, უფრო ნაცნობი კონცეფციის გამოყენებით, არსებითი სახელები: ფენები, ვექტორი ობიექტები, ჯგუფები და ა.შ.), მეთოდები (მათთან ურთიერთობის გზები - ზმნები: გადატანა, დუბლიკატი და ა.შ.) ა.შ.) და თვისებები (ზედსართავები: ინსტალაცია სიგანე, fillColor, შერჩეული და ა.შ.). ნავიგაციის გასაადვილებლად, წარმოიდგინეთ, რომ პროგრამა არის სახლი, რომელშიც არის სხვადასხვა ობიექტი - კლასების ანალოგი (ფანჯრები, კარები), რომლებსაც აქვთ გარკვეული თვისებები (პლასტიკური, ხის), რომლითაც ისინი ასრულებენ გარკვეულ მოქმედებებს - მეთოდები (ღია, დახურვა). გაერკვევა ასეთი იერარქიის არსის შესახებ, გაცილებით ადვილია გააზრება დამწერლობის შესახებ.

ყველაზე მაღალ დონეზეა განაცხადი და, ფაქტიურად, ობიექტების დაქვემდებარების წესის დაცვით, იგი მითითებული უნდა იყოს ნებისმიერ მოქმედებაში. გამარტივების მიზნით, განაცხადის ბმული შეიძლება გამოტოვოთ - გარდა იმ შემთხვევებისა, როდესაც ნამდვილად უნდა იცოდეთ მისი ზოგიერთი თვისებების (მაგალითად, ხელმისაწვდომი შრიფტები - app.fonts).

Layer, Group, Text კლასები შეიძლება შეიცავდეს იმავე კლასის ობიექტებს, რომლებსაც ასევე შეეძლებათ შვილები. ობიექტური მიდგომის სასარგებლო მახასიათებელია მემკვიდრეობა  თვისებები. ასე რომ, ყველა ვექტორიანი გზა (pathItems) უფრო ზოგადი კლასის ბავშვები არიან - გვერდის ელემენტები (pageItems). ამიტომ, pageItems– ზე გარკვეული თვისებების მინიჭებით, ჩვენ ავტომატურად ვაძლევთ მას და pathItems.

მათი მსგავსების მიუხედავად, Layers და Layer კლასები კვლავ განსხვავებულია. პირველი არის დოკუმენტში ყველა ფენის შეგროვება, მეორე მხოლოდ რამდენიმე სპეციფიკურია, შესაბამისად, მათი მეთოდები და თვისებები განსხვავდება. თქვენ შეგიძლიათ მიმართოთ დამატებას, ამოიღოთ ყველა მეთოდი პირველზე, ხოლო მეორეზე, ყველა ოპერაცია, რომელიც ხელმისაწვდომია ცალკეული ფენისთვის. თვით ობიექტს წვდომა აქვს, როგორც შესაბამისი მასივის ელემენტი - ჩვენს შემთხვევაში, ფენების, შრეების და ა.შ.

არჩეული ელემენტი შეესაბამება ცალკეულ კლასს - შერჩევა, რომელიც ასევე წარმოადგენს მასივს (ობიექტების ჯგუფის არჩევა შეიძლება). ილუსტრატორში სპეციალურ ანგარიშზე არის pluginItems, Colors, Views კლასები. პირველს მრავალი შეზღუდვა აქვს, რაც დაკავშირებულია იმასთან, რომ ამ ტიპის ობიექტები ილუსტრატორის მშობლიური არ არის. ამაში შედის ელემენტები Blend, Envelope, Mesh და მსგავსი. ჩვენ განვიხილავთ დანარჩენის მახასიათებლებს, როგორც ისინი იყენებენ.

იმისათვის, რომ სკრიპტი იყოს "ხილული", ის მოთავსებულია Presets.Script- ის საქაღალდეში, რომელიც მდებარეობს იმ პროგრამაში, სადაც დაყენებულია პროგრამა. ჩვენ განვიხილავთ რეალურ მაგალითებს (ეს დაუყოვნებლივ იგრძნობთ სკრიპტების სასარგებლო თვისებებს) და დავწერთ მათ Illustrator CS– ის ქვეშ, რადგან მისი სკრიპტირება უფრო მოქნილია ვიდრე წინა ვერსიები.

მაგალითი 1: ობიექტების შერწყმა

დავიწყოთ უმარტივესიდან - ჩვენ დავწერთ დაქვემდებარებული ობიექტების დამაკავშირებელ სტრიქონებს მთავართან (ხშირი დავალება გრაფიკების, ტექნიკური დოკუმენტაციის და სხვა სამუშაოების შექმნისას). ჩვენ შევეხებით ისეთ ძირითად საკითხებს, როგორიცაა არჩეულ ობიექტებთან მუშაობა, ახალი ფენების შექმნა, ობიექტების განთავსება, მათი წესრიგის შეცვლა, შექმნა და მათ შორის მოსახვევებში რთული გზა.

ასეთ დოკუმენტებთან მუშაობა გულისხმობს სიმბოლოების (სიმბოლოების) ფართო გამოყენებას - მათში ცვლილებების შეტანა ავტომატურად განაახლებს ყველა შექმნილ ასლს. ამასთან, Illustrator ყოველთვის არ მუშაობს სწორად ასეთ ელემენტებთან: ეს ხდება, რომ იგი არ კითხულობს იმ ობიექტების სახელებს, რომლებიც სიმბოლოების ასლებია. შედეგად, მათი შერჩევა სახელწოდებით შეუძლებელია. ამ ტიპის ყველა ელემენტის მიმდინარე ფენაში დამუშავება პრაქტიკულად არ გამოიყენება. შედეგად, მე ვეყრდნობი ალტერნატიულ ვარიანტს, რომელშიც პირველ რიგში, თქვენ უნდა აირჩიოთ საჭირო ობიექტები (მარტივი გზაა აირჩიოთ ერთი პერსონაჟი და მოძებნოთ მისი ეგზემპლარები Select.Same Inactions ბრძანებით), შემდეგ კი შეარჩიეთ მინიშნება ელემენტი, რომელთანაც ისინი დაუკავშირდებიან.

ასე რომ, აქ მივდივართ. მოკლედ რომ ვთქვათ, ჩვენ წარმოგიდგენთ sel ცვლას, რომელზეც ვისაუბრებთ, როდესაც საჭიროა რაიმე მოქმედების ჩატარება არჩეულ ობიექტზე. შემდეგ ჩვენ შეამოწმებთ რამდენი ელემენტია არჩეული (თუმცა ტექსტის ნებისმიერი არჩეული სიმბოლოც ეკუთვნის შერჩევის მასივს, ჩვენ ვერ შევეხებით თუ არა შერჩეული ტექსტი არჩეულია). ჩაწერეთ თუ (sel.l სიგრძე)<2) означает, что мы сравниваем значение length (количество объектов класса sel) с двойкой — минимальным количеством для работы сценария. Если выделенных элементов меньше, будут выполняться действия, заключённые в первые идущие за оператором if фигурные скобки, иначе — идущие после else. При этом логично предусмотреть выдачу сообщения, чтобы сориентироваться в ситуации и понять, что нужно сделать.

sel \u003d აქტიურიDocument.selection
   თუ (sel.l სიგრძე)<2) {br>  გაფრთხილება ("არ არის საკმარისი ობიექტების გასაგრძელებლად! \\ n შეარჩიეთ მინიმუმ 2 ობიექტი და ბოლო - სამიზნე ობიექტი!"))
   სხვაგან (

Alert არის სტანდარტული JavaScript ფუნქცია, რომელიც აჩვენებს ფანჯარას მითითებული ტექსტით და OK ღილაკით. "\\ N" ნიშნავს ახალ სტრიქონზე გადასვლას და გამოიყენება ფანჯრის მცირე ზომის შესანარჩუნებლად. ფანჯარაში ნაჩვენები ტექსტი უნდა იყოს ჩასმული ციტატებით.

მოსამზადებელი ეტაპი

მიიღეთ საცნობარო ობიექტის ცენტრის კოორდინატები. ვინაიდან ჩვენ შევთანხმდით, რომ ის ყველაზე მაღალია, მისი რიცხვი (ინდექსი) არის "0" (შერჩეული). კოორდინატების გამოსათვლელად გამოვიყენებთ ობიექტის ასეთ თვისებებს, როგორც პოზიცია (პოზიცია), სიგანე და სიმაღლე (სიმაღლე და სიგანე). პოზიციის მნიშვნელობები ინახება მასივში, რომელიც შედგება წყვილი მნიშვნელობებისაგან - შესაბამისად X და Y ღერძის გასწვრივ კოორდინატები. ამიტომ, ყველას უნდა მიმართოს როგორც პოზიცია და პოზიცია.

refObj_x \u003d sel.position + (sel.width / 2);
   refObj_y \u003d sel.position - (sel.height / 2);

ჩვენ მივიღეთ საცნობარო ობიექტის ცენტრის კოორდინატები და გადავწყვიტეთ ორი ცვლადი შემდგომი გამოყენებისთვის. მეორე სტრიქონი შეიცავს "-" ნიშანს, რადგან Illustrator იღებს დოკუმენტის ქვედა მარცხენა კუთხეს, როგორც საცნობარო პუნქტს, ხოლო პოზიცია აძლევს ელემენტს ზედა მარცხენა კუთხის კოორდინატებს.

მას შემდეგ, რაც მოხერხებულობა მნიშვნელოვან როლს ასრულებს დოკუმენტთან მუშაობისას, ჩვენ დავრწმუნდებით, რომ შექმნილი ხაზები ცალკეულ ფენაზეა - ასეთი სტრუქტურა ხელს შეუწყობს წესრიგის შენარჩუნებას სხვადასხვა სირთულის განლაგებაში.

შექმენით ახალი ფენა - ის, როგორც ნებისმიერი ილუსტრატორის ელემენტი, იქმნება add () მეთოდით, რომელიც მიმართულია ობიექტების შესაბამის კლასზე. ფრჩხილებში შეგიძლიათ მიუთითოთ მოქმედების პარამეტრები: მიუთითეთ დანიშნულების ობიექტი (ეს შეიძლება იყოს, მაგალითად, ფენა ან თუნდაც ახალი დოკუმენტი, ასევე დანიშნულების ადგილის პოზიცია). განსხვავებული მეთოდებისგან განსხვავებით, დამატებითი პარამეტრების დამატება არ არის გათვალისწინებული, ამიტომ, უმაღლეს დონეზე გადასატანად, ჩვენ გამოვიყენებთ სპეციალურ მეთოდს - zOrder, რომელსაც ჩვენ დავადგენთ BRINGTOFRONT, როგორც პარამეტრი (დაცული მუდმივი, რომლის სრული სია მოცემულია დოკუმენტაციაში). პრინციპში, თუ დოკუმენტს აქვს მხოლოდ ერთი ფენა, არ არის აუცილებელი კონკრეტულად მიუთითოთ ახლის პოზიცია, რადგან Illustrator ყოველთვის აყენებს მას ახლანდელთან შედარებით. თუ დაკავშირების ობიექტები არ არის განთავსებული უმაღლეს დონეზე, საჭიროა მეორე ხაზი.

newlayer \u003d აქტიურიDocument.layers.add ();
   newlayer.ZOrder (ZOrderMethod.BRINGTOFRONT);

პირველი სტრიქონის ასე წაკითხვა შესაძლებელია: შექმენით ახალი ელემენტი საჭირო ტიპის (ფენის) ობიექტების რაოდენობის გაზრდით (დამატებით) და ახლადშექმნილ ელემენტზე ბმული მიანიჭეთ newlayer ცვლას. საწყის მომენტში, ფენა ცარიელია, რადგან მასში ჯერ არაფერი იყო განთავსებული. ორიგინალში რთულ განლაგებაში გასამარტივებლად, ფენას მიანიჭეთ სახელი ”კონექტორები” (სახელის მეთოდით) - როგორც ხედავთ, მეთოდების სახელები აშკარად მიუთითებს შესრულებულ მოქმედებებზე.

newlayer.name \u003d "კონექტორები";

საგანმანათლებლო მიზნებისათვის, ჩვენ შევქმნით არა ცალკეულ ხაზებს, არამედ ვურთიერთობთ კომპონენტის გზების ტიპის ობიექტს რედაქტირების მარტივად. ასეთი ობიექტის შექმნა იმეორებს უკვე ცნობილ პროცედურას, ამჯერად ნაგულისხმევიPathItems კლასს მიმართა:

newCompoundPath \u003d აქტიურიDocument.compoundPathItems.add ();

ვინაიდან ბოლო ეტაპზე ჩვენ შევქმენით ახალი ფენა, ის აქტიურია - შესაბამისად, მასზე განთავსებული იქნება შექმნილი ობიექტები, და მასზე სპეციალურად მითითების საჭიროება არ არის (აქტიურიDocument.newlayer).

დაქვემდებარებული ელემენტების კოორდინატების დადგენა

ჩვენ ამ პროცესს ჩვენ ვუკავშირდებით დამაკავშირებელი ხაზების გამომავალს, რადგან მათი რიცხვი უნდა შეესაბამებოდეს ობიექტების რაოდენობას. თავის მხრივ, ჩვენ ვიწყებთ ყველა არჩეულ ელემენტს დალაგებას ("i ++" ნიშნავს ზრდა ერთს) და ვკითხულობთ მათ კოორდინატებს. ჩვენ დავიწყებთ ძებნას არა პირველივე ობიექტიდან Selection მასივიდან (როგორც გახსოვთ, მითითების ობიექტი მოქმედებს როგორც მას), არამედ მეორედან (sel). ჩვენთვის უკვე ნაცნობია შემდეგი ხაზები:

for (i \u003d 1; i< sel.length; i++) {
   obj_x \u003d sel [i] .პოზიცია + sel [i]. სიგანე
   obj_y \u003d sel [i] .პოზიცია - sel [i] .მაღალი

ბავშვის ცენტრის კოორდინატების მიღების შემდეგ, ჩვენ ვაგრძელებთ შექმნას ხაზს, რომელიც მას უკავშირდება მითითებას. თითოეული შერჩეული ელემენტისთვის შექმენით ახალი ობიექტი - CompoundPath კლასში შემავალი ვექტორიანი ბილიკი, ზრდის ბილიკების საერთო რაოდენობას:

newPath \u003d newCompoundPath.pathItems.add ();

ილუსტრატორში მარტივი კონტურის დასაყენებლად, არსებობს setEntirePath მეთოდი, რომლის პარამეტრები არის დაწყების და ბოლო წერტილების კოორდინატების მასივი - რაც, როგორც უკვე ვიცით, თავის მხრივ არის მითითებული, როგორც ორი მნიშვნელობის მასივი (პოზიცია ორი ღერძის გასწვრივ). დაბოლოს, ჩვენ დაასრულეთ პირობა "თუ რამე ხაზი გაესვა", რომელიც თავიდანვე დაინერგა.

newPath.setEntirePath (მასივი (მასივი (refObj_x, refObj_y), მასივი (obj_x, obj_y)); )

სცენარი მზად არის. როგორც ხედავთ, მასში არაფერია რთული: მეთოდების სახელები ასახავს მათ არსს, ხოლო ობიექტზე ორიენტირებული მოდელი ხელს უწყობს ილუსტრატორის ობიექტების იერარქიის გარკვევას. დამწერლობა არ წარმოადგენს რაიმე განსაკუთრებულ პრაქტიკულ მნიშვნელობას (ეს უფრო სასწავლოა), მაგრამ მის მაგალითზე გათვალისწინებული იქნა მრავალი ძირითადი კონცეფცია, რომელზეც ჩვენ მომავალში ვიქნებით (შერჩეულ ობიექტებთან მუშაობა, შერჩევის მასივში მათი ნუმერაციის პრინციპი, კოორდინატების განსაზღვრა, ახალი ფენების შექმნა, გამომავალი) ხაზები).

მაგალითი 2: ძალიან თხელი კონტურების გამოვლენა

ვექტორულ გრაფიკაში მასშტაბური ოპერაციები ძალიან აქტიურია. ამიტომ, თხელი ხაზებით ობიექტების ზომის შემცირებისას (თუ მასშტაბური პარალიზის პარამეტრი ჩართულია), ხშირად მათი ინსულტის სისქე უფრო დაბალია, ვიდრე 0.25 pt (მნიშვნელობა, რის შემდეგაც ხაზები ცუდად ჩანს) და ეს იწვევს მათ გაქრობას, როდესაც ჭავლური პრინტერზე დაბეჭდილია. ილუსტრატორის ჩაშენებული საძიებო ფუნქციები ინსულტის მნიშვნელობებით ნაკლები ღირებულების მქონე ობიექტებისთვის არ არის გათვალისწინებული. მათი ხელით პოვნა ძალიან რთულია - თქვენ უნდა აირჩიოთ თითოეული ობიექტი ინდივიდუალურად, რაც სწრაფად იმედგაცრუებს ამგვარი შემოწმების ჩატარების სურვილს. სცენარი მნიშვნელოვნად ამარტივებს ოპერაციას.

თავად სცენარი უმარტივესი ვერსიით არის მცირე, მაგრამ ჩვენ დავაყენებთ მიზანს, რომ ის უფრო უნივერსალური გავხადოთ - ჩვენ გავაფართოვებთ ფუნქციურობას დიალოგურ ფანჯრაში მინიმალური სისქის დაზუსტების შესაძლებლობის გამო. რა თქმა უნდა, თქვენ შეგიძლიათ მკაცრად დაარეგისტრიროთ ეს მნიშვნელობა თავად სკრიპტში და, საჭიროების შემთხვევაში, შეცვალოთ იგი ყოველ ჯერზე, მაგრამ, ხედავთ, ეს მოუხერხებელია. ჩვენ ასევე გთავაზობთ შერჩეულ ელემენტს, როგორც საცნობარო ობიექტს, მინიმალური მისაღები სასაზღვრო მნიშვნელობის მითითებით. პარალელურად, სტატისტიკისთვის, ჩვენ ვიანგარიშებთ ელემენტების რაოდენობას შეცვლილი სისქით და ვარჩევთ მათ სიცხადეს.

მთელი სკრიპტი იყოფა ორ ნაწილად: საწყისი (დიალოგური ფანჯრიდან მნიშვნელობის წაკითხვა ან არჩეული პუნქტისგან) და საბოლოო (დოკუმენტში ყველა ობიექტის ძებნა და საზღვრის სისქის ხელახლა განსაზღვრა). გარდა Illustrator ობიექტებზე წვდომის დემონსტრირებისა, განვიხილავთ მინი ინტერფეისის შექმნას საბაჟო ღირებულებების შესასვლელად.

ღირებულებების შეყვანა

პირველი ორი სტრიქონი იდენტურია წინა მაგალითისთვის, გარდა იმისა, რომ "2" -ის ნაცვლად გამოჩნდება "0", რადგან სკრიპტის წინ უნდა დავადგინოთ არის თუ არა არჩეული ობიექტები. შედარება მოცემულია ორმაგი თანაბარი ნიშნით (ერთეული ანიჭებს მნიშვნელობას).

var mySel \u003d app.activeDocument.selection;
   var go \u003d მართალია;
   თუ (sel \u003d\u003d 0) (

თუ არაფერი არჩეულია, მინიმალური სისქე განისაზღვრება დიალოგური ფანჯრის საშუალებით. ჩვენ გამოვიყენებთ მას JavaScript სტანდარტული ფუნქციის გამოყენებით - სწრაფი. ის ხსნის ფანჯარას ველთან, რომელშიც შეგიძლიათ შეიყვანოთ მნიშვნელობა და გამოიყენოთ იგი მოგვიანებით. ფუნქციის სინტაქსი ასეთია: ჯერ ერთი მინიშნებაა ტექსტი, რომელიც ნაჩვენები იქნება ფანჯარაში (სკრიპტის გაერთიანების გათვალისწინებით, ჩვენ არ გამოვიყენებთ კირილურ ანბანს, რადგან ის ხშირად არასწორედ არის ნაჩვენები), შემდეგ გამოდის მნიშვნელობა, რომელიც ნაგულისხმევი ველიდან მოყვება. არსებობს ორი პლუსი: შესაძლებლობა დაუყოვნებლივ დააყენოთ მინიმალური დასაშვები სისქე და მიუთითოთ ნებისმიერი მნიშვნელობა. შექმნით ცვლადი, რომელსაც ეკისრება სწრაფი ფუნქციის მნიშვნელობა, შემდეგ შეგიძლიათ გამოიყენოთ იგი საკუთარი მიზნებისთვის.

მოუთმენლად ველი, რომ აღვნიშნავ, რომ Illustrator არ უზრუნველყოფს ყველა სახის ობიექტს სრულ წვდომას - ზოგი დარჩა. აქედან გამომდინარე, ჩვენ მოგაწვდით არამარტო ფიქსირებული ელემენტების ვიზუალიზაციას, არამედ სკრიპტისთვის მიუწვდომელ ადგილას, ისე, რომ მათ ხელით არ ვეძებთ - რადგან მათ შეუძლიათ შეიცავდნენ პრობლემურ ობიექტებსაც. იმისათვის, რომ არ გამოვავლინოთ ორი დიალოგური ფანჯარა (სისქის მნიშვნელობის დასადგენად და რომელი ელემენტების შერჩევა), ჩვენ გამოვიყენებთ JavaScript- ის სტრიქონის დამუშავების შესაძლებლობებს. ფაქტია, რომ მომხმარებლის მიერ შევსებული ველის შინაარსი არის "სიმებიანი" (ინფორმაციის ბლოკი), რომელსაც შეუძლია შეიცავდეს ნებისმიერი რაოდენობის პარამეტრი (დელიმიტების საშუალებით). გამყოფის ცოდნით, ინდივიდუალური პარამეტრების მნიშვნელობები მარტივად შეიძლება ამოიღონ სტრიქონიდან.

შესაბამისად, დიალოგის ფანჯრის ფანჯარა შემდეგი ტექსტი იქნება: საზღვრის მინიმალური სისქისა და პირობითი რიცხვის დაყენება: ”1”, თუ გსურთ, რომ სკრიპტმა აღინიშნოს შესწორებული ელემენტები, ”2” - ის, რომლებზეც ვერ მიდიხართ.

მნიშვნელობა \u003d სწრაფი ("მიუთითეთ ინსულტის სიგანის ბარიერი (პტ), \\ n რა უნდა აირჩიოთ: შესწორებული ობიექტები (1) ან მიუწვდომელი (2)", "0.25, 1")

თავდაპირველად, დააწესეთ ველი 0.25 წერტილამდე (ილუსტრატორში განზომილების ერთეული), მაგრამ მისი შეცვლისას გამოყენებული იქნება ახალი მნიშვნელობა და "1". "2" უნდა იყოს დაზუსტებული მხოლოდ იმ შემთხვევაში, თუ სკრიპტი მიუწვდომელ ობიექტს აღმოაჩენს (ჩვენ დარწმუნდებით, რომ იგი ამას სიგნალს უწევს მუშაობის ბოლოს). და ისინი გახდება ხაზგასმული, რაც გვიხსნის ხელით ძებნისგან (როგორც მოგეხსენებათ, ჩაშენებული ილუსტრატორის ძებნა სასურველს ტოვებს).

მომხმარებლის ველიდან მნიშვნელობების წაკითხვისას, გავარკვიეთ, რომ მათ დამუშავებას ვაგრძელებთ. შეამოწმეთ ველი ნამდვილად არა ცარიელია (ნიშანი! ”” ნიშანი ნიშნავს უარყოფას, ანუ ”! \u003d” უდრის ”არა ტოლს”, ნული არის რეგისტრირებული სიტყვა ცარიელი მნიშვნელობისთვის). თუ მასში რაღაცა, ჩვენ სტრიქონი ცალკეულ ბლოკებად ვშლით JavaScript– ის სპლიტის ფუნქციის გამოყენებით (ჩვენ განვსაზღვრავთ სიმბოლოთა ერთობლიობას “,” როგორც გამყოფი) და შედეგების მნიშვნელობებს ვდებთ splitString მასივში. ამის შემდეგ, ჩვენ მასივს მნიშვნელობებს დავასახელებთ მასივიდან მიღებული მნიშვნელობებით (პირველი განსაზღვრავს სისქეს, მეორე - ოპერაციის რეჟიმში).

თუ (მნიშვნელობა! \u003d null) (
   splitString \u003d მნიშვნელობა.split (”,”);
   წონა \u003d splitString;
   ტიპი \u003d splitString; )

თუ მომხმარებლის ველში არაფერია, ჩვენ სცენარს ვწყვეტთ. ბოლო დახურვის ფრჩხილი არის იმ პირობის დასრულების ნიშანი, რომელსაც ჩვენ ვაწარმოებთ დასაწყისში ("თუ დოკუმენტში არაფერია ნათქვამი").

სხვაგან (წასვლა \u003d ყალბი)

თუ საცნობარო ობიექტი სპეციალურად არის შერჩეული

ახლა ჩვენ დავწერთ მოქმედებების თანმიმდევრობას, თუ განზრახ შევარჩიეთ ელემენტი, რომლის საზღვრის სისქე გვინდა გამოვიყენოთ როგორც ბარიერი მნიშვნელობა. ჩვენ ვაჩვენებთ გაფრთხილებას სკრიპტის შემდგომი მოქმედებების შესახებ სტანდარტული დადასტურების ფუნქციის გამოყენებით (ქმნის ღილაკს დიალოგის ფანჯარასთან ორი ღილაკით - და). თუ დააჭირეთ<Сancel>, სამუშაო ჩერდება, თუ თანახმა ხართ, სცენარი გააგრძელებს მუშაობას.

სხვა (არჩეულიMsg \u003d დაადასტურეთ ("შერჩეული ობიექტის ინსულტის სიგანე გამოყენებული იქნება როგორც ბარიერი")
   თუ (არჩეულიMsg! \u003d true) (
   წასვლა \u003d ყალბი;
   ) სხვაგან (

ჩვენ გადავდივართ სკრიპტის მთავარ ნაწილზე. ჩვენ შეგნებულად არ განვიხილავთ სიტუაციას, როდესაც ხაზი გავუსვა რამდენიმე ობიექტს, რადგან საზღვრის სისქის დასადგენად საკმარისია მხოლოდ ერთი. და რა მნიშვნელობა უნდა გამოვიყენო, თუ ელემენტები განსხვავდება, რომ ეს განსხვავდება? როგორც უკვე ვიცით, მხოლოდ შერჩეულ ობიექტს ექნება "0" ინდექსი, ხოლო სიმსრის სისქის მისაღებად, Illustrator- ს აქვს ინსულტის სიგანე. ჩვენ გავითვალისწინებთ, რომ, პრინციპში, შერჩევა შეიძლება შეიცავდეს არა მხოლოდ ცალკეულ ელემენტებს, არამედ ტექსტის ნაწილს (მაგალითად, შემთხვევით შერჩეულ), რომელიც ჩვენს გეგმებში არ შედის, ასე რომ, მუშაობის დაწყებამდე შეამოწმეთ JavaScript– ის შესაძლებლობები, რომ შეარჩიოთ არჩეული ელემენტის ტიპი, რომელიც ეკუთვნის მასივს:

თუ (sel isArray) (
   წონა \u003d sel.strokeWidth;

ვინაიდან ჩვენ შევთანხმდით მხოლოდ შეცვლილი ობიექტების შერჩევაზე, ჩვენ უნდა ამოვიღოთ შერჩევა ყველაზე მინიშნებადან (მოიხსენიეთ მისი არჩეული ქონება):

sel.selected \u003d ყალბი; )))

ახლა ჩვენ მზად ვართ შევასრულოთ სკრიპტის მთავარი ამოცანა - მოძებნოთ ობიექტები: მნიშვნელობა, რომელიც გამოყენებული იქნება როგორც მინიმალური დასაშვები სისქე, ინახება wei ცვლადი.

გარემოებები

შეადარეთ იგი მსგავს ქონებას დოკუმენტში მოცემული ყველა ობიექტისთვის. თქვენ დაუყოვნებლივ შეგიძლიათ მოძებნოთ ჩხრეკა, მაგრამ სკრიპტის გამოყენება ყოველდღიურ სამუშაოებში საჭიროა დამატებითი გარემოებების გათვალისწინებით - განლაგებაში ხშირად არის როგორც ჩაკეტილი ფენები, ასევე ცალკეული ობიექტები. ამიტომ, მიუხედავად იმისა, რომ ძებნა მათში მუშაობს, ცვლილებები არ შეგიძიათ. ტოტალური გადამოწმების უზრუნველსაყოფად, სკრიპტს ვამატებთ რამდენიმე ოპერაციას: მითითებული კრიტერიუმით შესრულების ელემენტების შემოწმება, ამავე დროს მათი განბლოკვა, საჭიროების შემთხვევაში, და გვახსოვდეს ინდექსი, რათა გადამოწმების დასრულების შემდეგ, დაუბრუნდეთ მათ მათ წინა მდგომარეობაში. ჩვენ წარმოგიდგენთ ორ ცვლას: პირველი დოკუმენტში ყველა ფენის შემცირებულ წვდომას, ხოლო მეორეთან ჩვენ ვიღებთ წვდომას მხოლოდ ჩაკეტილ. ამ უკანასკნელის სერიული ნომრები ინახავს მასივში, რომელსაც ჩვენ ვქმნით JavaScript ფუნქციით - new Array ().

var dL \u003d აქტიურიDocument.layers;
   var blokingLayers \u003d new Array ();

შემდეგ ჩვენ გადავხედავთ ყველა ფენას და ჩაკეტილ მათგანს (ქონების ჩაკეტილი \u003d ჭეშმარიტი) ჩვენ მოვათავსებთ რიგითობის რიცხვს blokesLayers მასივში (JavaScript– ისგან პუშტის ფუნქციის გამოყენებით), რის შემდეგაც ჩვენ დავუშვებთ მათ რედაქტირებას (ჩაკეტილი \u003d მცდარი)

თუ (წასვლა \u003d\u003d მართალია) (
   for (i \u003d 0; i if (dL [i]. ჩაკეტილი \u003d\u003d მართალია) (
   blokeLayers.push (i);
   dL [i]. ჩაკეტილი \u003d ყალბი; ადრე, ჩვენ შევთანხმდით ძირითადი ობიექტების ხაზგასმას, მაგრამ სკრიპტის ჩაკეტილ ფენებზე მუშაობის დასრულების შემდეგ, ჩვენ ვერ შევძლებთ ამის გაკეთებას - ჩვენ უნდა გამოვავლინოთ შესაბამისი გაფრთხილება. ამისათვის გამოიყენეთ ჩაკეტილიPresence ატრიბუტი, რომელიც იქნება მითითებული, თუ მინიმუმ ერთი ფენა ჩაკეტილია.

ჩაკეტილი პრეზენტაცია \u003d მართალია;

ჩვენ იგივე გავიმეორებთ ინდივიდუალური ჩაკეტილი ელემენტებით. უმარტივეს შემთხვევაში, საკმარისია შეამოწმოთ ყველა ვექტორის ელემენტი (კლასის pathItems), რომელშიც შედის რთული ქვეწარმავალი, როგორც ქვეკლასე - ისე, რომ არაფერი გადაურჩეს სკრიპტის თვალთახედვას.

ნაკვეთები

დაბლოკვის გათვალისწინებით შექმნილი სიტუაციის გარდა, არსებობს კიდევ ერთი "ნაკლი". როგორც უკვე აღვნიშნეთ, ზოგიერთი ელემენტი (კერძოდ, ბლენდერის ჯგუფი და კონვერტი) Illustrator- სთვის არ არის "მშობლიური", ისინი მიეკუთვნებიან სპეციალური ტიპის დანამატს. ამავდროულად, Illustrator არ უზრუნველყოფს ამგვარი ობიექტების დაშვებას, ისინი წარმოადგენენ "თავისთავად". თქვენ შეგიძლიათ მათ "მიაღწიოთ" მხოლოდ უფრო მაღალი დონის კლასს - pageItems, რომლის საშუალებითაც ჩვენ შეგვიძლია განვსაზღვროთ მათი ყოფნა და ბოლოს გამოვაფრთხილოთ გაფრთხილება. იგი იტყვის, რომ სკრიპტის ხელახლა გაშვებით და "2", როგორც შეყვანის ველში მეორე პარამეტრის მითითებით, ხაზს უსვამს ამ "შავ ყუთებს".

pgI \u003d აქტიურიDocument.pageItems;

დაბლოკილი ობიექტების ინდექსების შესანახად, შექმენით მასივი, რომელსაც ეწოდება blokingPathes და შეცვლილი ობიექტების რაოდენობა რომ გამოვთვალოთ, შესწორებულია ცვლადი.

bloсkedPathes \u003d ახალი მასივი ();
   შესწორებულია \u003d 0;

ყველა ობიექტისთვის ჩვენ შეამოწმებთ PluginItem ტიპის ტიპს (ტიპების საკუთრება): თუ არსებობს, დააყენეთ pluginItemExist დროშა (მისი მდგომარეობა განსაზღვრავს გამაფრთხილებელ შედეგს ასეთი ელემენტების არსებობის შესახებ). განმეორებითი შემოწმების შემთხვევაში (როდესაც შეყვანის ველში მეორე პარამეტრი არის "2") ჩვენ შევარჩევთ მათ:

for (i \u003d 0; i< pgI.length; i++) {
   if (pgI [i] .typename \u003d\u003d "მოდული") (
   pluginItemExist \u003d მართალია
   if (ტიპი \u003d\u003d "2") (pgI [i] .არჩეული \u003d მართალია)

ამრიგად, ნაწარმოებში წარმოშობილი ყველა (ან თითქმის ყველა) შესაძლო სიტუაცია, ჩვენ განვიხილეთ და განვსაზღვროთ მოქმედებები მათთვის.

ძირითადი შემოწმება

მოვიდა დრო, რომ ფაქტობრივად შეამოწმოთ განლაგება შესაბამისობაში მოყვანილი კრიტერიუმების შესაბამისად. ჩვენ გავითვალისწინებთ, რომ ობიექტებს შორის შეიძლება ასევე იყოს ისეთებიც, რომელთა შესახებაც საერთოდ არ არის ნაშთი (დადგენილია შტრიხული ატრიბუტის მდგომარეობით) - შესაბამისად, ისინი უნდა გამოირიცხოს სკანირებისგან.

if ((pgI [i]. StrokeWidth< weight)&&(pgI[i].stroked)) {
   if (pgI [i]. ჩაკეტილი \u003d\u003d მართალია) (
   blokePathes.push (i);
   pgI [i]. ჩაკეტილი \u003d ყალბი;

ამ კოდის ფრაგმენტი ინტერპრეტაციით შეიძლება შემდეგნაირად: ჩვენ განვსაზღვროთ საზღვრის არსებობა და მისი სისქე თითოეული ელემენტისთვის. თუ ის მინიმუმზე ნაკლებია (თუ (pI [i]. StrokeWidth< weight), и объект заблокирован, его индекс занести в специально созданный для такой цели массив blokedPathes, после чего разблокировать для внесения возможных изменений. Знак && обозначает логическое «И» (обязательное совпадение двух условий) — толщины меньше минимальной и присутствия окантовки.

შემდეგ ჩვენ ვაფიქსირებთ დაბლოკილი ობიექტების არსებობას (ჩაკეტილ დროშის ნიშანს ვაყენებთ, რომ სამომავლოდ გაფრთხილების ჩვენება გვქონდეს, რომ ყველა შეცვლილი არ იყოს ხაზგასმული) და შეარჩიეთ შესწორებული, და მის საზღვარზე მივცეთ ბარიერი მნიშვნელობა - და ასე შემდეგ ყველა ელემენტს. სტატისტიკისთვის, ჩვენ ერთდროულად გამოვთვლით შეცვლილი ობიექტების რაოდენობას.

ჩაკეტილი პრეზენტაცია \u003d მართალია;
   pgI [i] .გარჩია \u003d მართალია;
   pgI [i] .strokeWidth \u003d წონა;
   გასწორებულია ++;

ადრე განიხილებოდა გადამოწმებული ელემენტების ხაზგასასმელი ნაბიჯები (ტიპი \u003d "2"). ახლა ჩვენ განვსაზღვროთ, რა უნდა მოხდეს სტანდარტულ სიტუაციაში - პოტენციურად პრობლემური ობიექტების ჩვეული ჩარჩოებით.

if (ტიპი \u003d "1") (pgI [i] .არჩეული \u003d მართალია)

დაბლოკილი ელემენტების სტატუსის აღდგენა

ჩვენ დავასრულეთ ძირითადი ამოცანა - დაფიქსირდა და ხაზგასმულია პრობლემური ობიექტები. ეს რჩება სტატუს კვოს აღდგენას - ყველა, რომელიც თავიდან აიკეტა წინა მდგომარეობაში დაბრუნების მიზნით. ამისათვის, მიმდინარე ციკლში ვკითხულობთ მასივის შინაარსს, სადაც ინახება დაბლოკილი ობიექტების ინდექსები, და დავაფიქსირეთ ჩაკეტილი ატრიბუტი \u003d ნამდვილი თითოეული შესაბამისი ელემენტისთვის (ცვლის მეთოდი აჩვენებს მასივიდან მასში შესულ ბოლო მნიშვნელობას მასივიდან). იმის გამო, რომ ობიექტების საერთო რაოდენობა დაბლოკილია, მასალის დაცვა უნდა მოხდეს მასივის დაცლის შემდეგ სკანირების ციკლის დასასრულებლად.

if (blokePathes.l სიგრძე\u003e 0) (
   retrievedPathes \u003d blokingPathes.shift ();
   pI. ჩაკეტილი \u003d მართალია;))

შემდეგ ჩვენ გადავდგამთ მსგავს მოქმედებებს ფენებთან მიმართებაში:

for (i \u003d 0; i if (blokeLayers.l სიგრძე\u003e 0) (
   წაკითხული \u003d blokenLayers.shift ();
   dL.locked \u003d მართალია; ))) სინამდვილეში, მსგავსი ოპერაციებისთვის ბევრად უფრო მოსახერხებელია ფუნქციების გამოყენება. მათი უპირატესობა ისაა, რომ მას შემდეგ, რაც აღწერთ გარკვეულ მოქმედებებს, შეგიძლიათ გაიმეოროთ ისინი სრულად, უბრალოდ, ფუნქციების სწორ ადგილებში დარეკვით; ამ გზით მიიღწევა სცენარის კომპაქტურობა და წაკითხვის უნარი. ფუნქციის მოქნილობის გასაზრდელად გადადის მასში გამოყენებული მნიშვნელობები (პარამეტრები). თუ არ გსურთ ფუნქციების გამოყენება, გამოტოვეთ შემდეგი ორი აბზაცი.

მოდით შევქმნათ ორი ფუნქცია: პირველი - განბლოკოთ ფენები და ობიექტები, მეორე - მათი ატრიბუტების აღდგენა. ჩვენში შეიცვლება მხოლოდ ობიექტის ტიპები (Layers and pageItems class) და მასივები, რომლებიც ჩვენთვის საინტერესო ელემენტების ჩასაწერად არიან (blokeLayers და blokesPathes) - ისინი გამოჩნდება ფუნქციის პარამეტრებად. ჩვენ პირველს ვწერთ ასე:

ფუნქციის ზარალი (მასივი, პუნქტი)
   if (itemType [i]. ჩაკეტილი \u003d\u003d ნამდვილი) (
   array.push (i);
   itemType [i]. ჩაკეტილი \u003d ყალბი;
   ჩაკეტილი \u003d ყალბი;
}

მასივის ნაცვლად ჩვენ ჩავანაცვლებთ მასივს, ვიდრე itemType - აუცილებელ კლასს. შემდეგ ჩვენ ვიღებთ ორ ზარს - განბლოკვის (ბლოკირებულ Layer, dL) და განბლოკვის (blokePathes, pgI). ანალოგიურად, ჩვენ ვწერთ ფუნქციას სტატუსის აღდგენის მიზნით:

ფუნქციის აღდგენა (მასივი, პუნქტი)
   if (array.l სიგრძე\u003e 0) (
   მოძიებულია \u003d array.shift ();
   itemType.locked \u003d მართალია;
}

აჩვენეთ ინფორმაცია გადამოწმების შედეგების შესახებ

ეს არის სცენარის ბოლო ეტაპი. პირველ რიგში, ჩვენ განვსაზღვროთ წერილის გაგზავნის პირობა, თუ არჩეულია არა რედაქტირებადი ობიექტების ძებნა, მაშინ იმ გაფრთხილების პირობა, რომ ასეთი ობიექტები იქნა აღმოჩენილი:

თუ (ტიპი \u003d\u003d "2") (b \u003d "\\ n შეამოწმეთ შერჩეული!")
   if (pluginItemExist \u003d\u003d true) (
   განგაში ("სკრიფტის შეზღუდვის გამო ზოგიერთ ობიექტზე შეიძლება გავლენა არ მოახდინოს" + ბ))

გაფრთხილების გაცემის ლოგიკა, რომლითაც არ გამოდგება ყველა გამოსწორებული, შემდეგია:

if ((lockedPresence \u003d\u003d true) && (pluginItemExist \u003d\u003d false)) (
   გაფრთხილება \u003d "\\ n იმის გამო, რომ ზოგი მათგანი ჩაკეტილია, არ შეიძლება იყოს ნაჩვენები როგორც არჩეული")

შემდეგ ვღებულობთ საბოლოო შედეგებს:

განგაში ("შესწორებული ობიექტების რაოდენობაა:" + გამოსწორებულია + გაფრთხილება)

აქ, ფაქტობრივად, მთელი დამწერლობაა. როგორც ხედავთ, ამ რამდენიმე სტრიქონს უზარმაზარი შრომა უწევს, რასაც ვერავინ გაბედავდა ხელით გააკეთოს. სცენარი შესრულებულია დაუყოვნებლივ (ფართომასშტაბიანი პროექტებით, რამდენიმე ათასი ელემენტის რიგითობით, პროცესორის მოქმედებაზე იწყება გავლენა). თქვენ მხოლოდ უნდა აირჩიოთ იგი ხელმისაწვდომი ჩამონათვალისგან (თქვენ ამის გაკეთებაც კი არ შეგიძლიათ - Illustrator საშუალებას აძლევს სკრიპებს მიანიჭონ "ცხელი კლავიშები") Edit.Keyboard მალსახმობების საშუალებით. მენიუს ბრძანებები. სკრიპტის ბრძანება. მაგრამ გაითვალისწინეთ: სკრიპტების სახელები ანბანურად არის დალაგებული, ამიტომ ახლის დამატება ან ძველების წაშლა შეიძლება გამოიწვიოს მეზობელი სკრიპტების გასაღებები. დასკვნა: Presets \\ Scriptts საქაღალდეში შეტანილი ცვლილებების შემდეგ, შეამოწმეთ კლავიშების მიმოწერა.

ჩვენ შევეცადეთ სკრიპტი უნივერსალური გავხადოთ, რამაც გავლენა მოახდინა მის ტომიზე. ყველაზე პრიმიტიულ ვერსიაში (ზემოთ აღწერილი მახასიათებლებისა და ნაკლოვანებების გათვალისწინების გარეშე) სიტყვასიტყვით საჭიროა რამდენიმე სტრიქონი:

minWidth \u003d activDocument.selection.strokeWidth;
   pI \u003d აქტიურიDocument.pathItems;
   for (i \u003d 0; i< pI.length; i++) {
   if ((pI [i]. StrokeWidth< minWidth) && (pI[i].stroked)) {
   pI [i] .strokeWidth \u003d minWidth;
}}

რაც შეეხება დესერტს?

შემდეგი გამოცემა მივცეთ სავიზიტო ბარათებს: ჩვენ დავწერთ სკრიპტს, რომელიც ავტომატიზირებს მათ განლაგებას ფურცელზე. თუმცა, ეს სასარგებლოა დავალებების ფართო სპექტრისთვის, რადგან მას არ აქვს მითითება ობიექტების ზომებზე. როგორც მოსალოდნელი იყო, ჩვენ უზრუნველვყოფთ საკითხების შექმნას, რათა თავიდან ავიცილოთ ფურცლების არასწორი ჭრის პრობლემები, ასევე სავიზიტო ბარათების როტაცია (თუ მათი ზემო და ქვედა ნაწილი მნიშვნელოვნად განსხვავდება). ამავე დროს, ჩვენ შევეხებით ობიექტების მოძიების საკითხს, რომელთა ფერადი მოდელი განსხვავდება მოცემულისაგან, რაც ასევე იშვიათი არაა მსგავსი ნამუშევრების დროს.

ჟურნალები თავისუფლად ხელმისაწვდომია.

ამავე თემაზე:

    სიახლეები 2019-04-03

    როგორ დამატებით თეთრი მელანი ეხმარება შექმნას ახალი პროგრამები დიდი ფორმატის ბეჭდვისთვის.

    დღეს, დიდი ფორმატის და ულტრა-ფართო ფორმატის პრინტერების უამრავ მოდელს შეუძლია დაბეჭდოს დამატებითი ფერის მელნის, თეთრი, რაც ამ მოწყობილობების გამოყენების ახალ შესაძლებლობებს ქმნის. მაგრამ პრინტერებს შეუძლიათ შეასრულონ სხვადასხვა ტექნოლოგიები თეთრი მელნით ბეჭდვისთვის, ხოლო სხვადასხვა ტექნოლოგიებს აქვთ საკუთარი შესაძლებლობები და შეზღუდვები.

Adobe Illustrator– ის ფუნქციონალური ფუნქციონირება უზარმაზარია, მაგრამ ასევე არსებობს გარკვეული ნაკლოვანებებიც, ამ პროგრამის სასარგებლოდ არის სკრიპტირება, რაც ამარტივებს და კიდევ უფრო აფართოებს პროგრამის უნარს. სკრიპტირების გარდა, არსებობს გაფართოებები - პროგრამის გაფართოების პერსონალური პანელები, მაგრამ ეს ოდნავ განსხვავებული თემაა.

სკრიპტის ინსტალაცია

თუ თქვენ არასოდეს იყენებთ სკრიპტებს Adobe Illustrator– ში, აქ მოცემულია სწრაფი სახელმძღვანელო, თუ როგორ უნდა აწარმოოთ სცენარი.

ჯერ უნდა ჩავწეროთ სკრიპტები, რომელთა გამოყენება გსურთ "სკრიპტები" საქაღალდეში. როგორ მოვძებნოთ ბილიკი ამ საქაღალდეში? ეს მარტივია, ჩვენ მივდივართ საქაღალდის ფესვზე, სადაც თავად პროგრამა Adobe Illustrator მდებარეობს, შემდეგ "Presets -\u003e en_US -\u003e სკრიპტები", en_US- ის ნაცვლად შეიძლება კიდევ ერთი საქაღალდე იყოს ლოკალიზაციით, რა ლოკალიზაცია აქვს Illustrator- ს, შეარჩიეთ ასეთი საქაღალდე.

მას შემდეგ, რაც სკრიპტები ჩასვით საქაღალდეში, შეგიძლიათ მათ სტანდარტული მეთოდის გამოყენებით აწარმოოთ - ეს ამოიწურება "ფაილი -\u003e სკრიპტები" მეშვეობით, თქვენი სკრიპტების სია ჩამოსაშლელ მენიუში იქნება, დააჭირეთ ნებისმიერ მათგანს და თქვენ ასრულებთ სკრიპტს. მაშინაც კი, თუ თქვენი სკრიპტები სხვა საქაღალდეშია, შეგიძლიათ მათი დაყენება და რამდენიმე გზით:

  1. გადადით მენიუში "ფაილი -\u003e სკრიპტები -\u003e სხვა სკრიპტები ...", Explorer გაიხსნება, რის შემდეგაც უნდა მოძებნოთ სკრიპტის ფაილი, შემდეგ კი აწარმოოთ სკრიპტი
  2. თქვენ უბრალოდ შეგიძლიათ გადაიტანოთ და ჩამოაგდოთ სცენარი Explorer- დან ილუსტრატორზე, რის შემდეგაც დაიწყება სცენარი
  3. თქვენ შეგიძლიათ გამოიყენოთ გაფართოებები სკრიპტების ასატანად - ეს არის პანელი Illustrator– ისთვის, რომელიც საშუალებას გაძლევთ სკრიპტების გადაცემა პირდაპირ პროგრამიდან. არსებობს რამდენიმე ასეთი გაფართოება. გირჩევთ გამოიყენოთ LAScripts.

ჰარმონიზატორი

სკრიპტი ქსელის ელემენტებზე მოსაწყობად

შეარჩიეთ ობიექტები, დააწერეთ სკრიპტი, შეარჩიეთ სვეტების რაოდენობა (ხაზები ავტომატურად გამოითვლება), შეარჩიეთ ელემენტებს შორის მანძილი, აგრეთვე მათი ცენტრირება (სტანდარტულად, შეარჩია უდიდესი ელემენტი).

ArtboardsResizeWithObjects

სკრიპტი შეცვალოს არტფორდის შინაარსთან ერთად.

Adobe Photoshop- ში არსებობს ფუნქცია "სურათის ზომა", რომ შეიცვალოს არბორტის შიგთავსი და შინაარსი, მაგრამ Adobe Illustrator- ში მსგავსი ფუნქცია არ არსებობს. ზოგჯერ შეიძლება საჭირო გახდეს არტაფრის შეცვლა შინაარსთან ერთად, ისე, რომ ცვლილების შემდეგ შენარჩუნებულია ყველა სახელმწიფო.

დავუშვათ, თქვენ გადაწყვიტეთ შეცვალოთ არტბორდი თქვენი ხელებით, თქვენი მოქმედებების რიგი: შეცვალეთ არტატი, შემდეგ შეარჩიეთ ყველა ელემენტი მუყაოზე და შეცვალეთ ზომა, მაგრამ აქ მხოლოდ ერთი პრობლემა ჩნდება. თუ თქვენ გაქვთ ელემენტები ინსულტისგან, მაშინ, თუ ხელებს შეცვლით, ინსულტი არ შემცირდება ობიექტის შემცირებასთან ერთად, მაგრამ ამის გარშემო შეგიძლიათ მოხვდეთ ყუთში "მასშტაბის დარტყმები და ეფექტები" შემოწმებით, მაგრამ რა უნდა მოხდეს, თუ გსურთ შეცვალოთ რამდენიმე არტბორდი? დროის გასამარტივებლად და დაზოგვისთვის გამოიყენეთ artboardsResizeWithObjects.jsx სკრიპტი


  • ახალი მასშტაბის ფაქტორი  - არტაფონის მასშტაბები, როგორც პროცენტი
  • ახალი არტბორდის სიგანე  - არტფორდის ახალი სიგანე, სიმაღლე პროპორციულად შეიცვლება
  • არტბორდის ახალი სიმაღლე  - არარბორდის ახალი სიმაღლე, სიგანე შეიცვლება პროპორციულად
  • მხოლოდ აქტიური artboard  - შეცვალეთ მხოლოდ აქტიური არტბორდი
  • ყველა არტბორდი  - შეცვალეთ ყველა artboard
  • საბაჟო არტბორდები  - შეცვალეთ თვითნებური დაფები, შეგიძლიათ დაწეროთ ან მძიმით ან ხუფი (როგორც ბეჭდვის დროს გვერდების მითითებისას)
  • ჩართეთ ფარული და ჩაკეტილი ნივთები  - გაითვალისწინეთ ჩაკეტილი და ფარული ელემენტები
  • შეყვანის ველი ზომაზე  - სტანდარტულად, აღებულია აქტიური არტბორდის სიგანე.

ArtboardsRotateWithObjects

სკრიპტი, რომ შეიცვალოს არტოფონი, შინაარსთან ერთად.

Adobe Photoshop– ში შეგიძლიათ გადახვიდეთ არტფორდის როტაცია და ასევე შეიცვალოს შინაარსი, მაგრამ Adobe Illustrator– ში მსგავსი ფუნქცია არ არსებობს.

ეს სკრიპტი გამოსადეგი იქნება იმ შემთხვევაში, თუ საჭიროა რამდენიმე არტბორდის როტაცია, ან თუ არ გსურთ დროის დაკარგვა არტბრიტზე პოზიციის კორექტირების შემდეგ.


სკრიპტის თითოეული ელემენტის მოკლე აღწერა:

  • აქტიური დაფა #  - ჩართეთ მხოლოდ აქტიური არტბორდი
  • ყველა არტბორდი  - გადააბრუნეთ ყველა არტბორდი
  • როტაციის კუთხე 90 CW  - ჩართეთ სამონტაჟო ადგილი საათის ისრის მიმართულებით
  • როტაციის კუთხე 90 CCW  - ჩართეთ სამონტაჟო ტერიტორია საწინააღმდეგოდ

InlineSVGToAI

სკრიპტი svg (და შეცვალოს svg კოდი) დოკუმენტში.

Adobe Illustrator CC 2018 v.22.1 ვერსიაში (2018 წლის მარტი) დაემატა svg ობიექტის ჩასმის უნარი, სკრიპტი ამ შემთხვევაში არ არის გამოყენებული.

ყოველთვის მაწყნარებდა, რომ svg– ს გადაწერა ვექტორში სპეციალიზირებული პროგრამა არ ვგულისხმობ, ვგულისხმობ, თუ ჩვენ გადავწერეთ svg კოდი რედაქტორისგან ან სხვაგან, მაგრამ ტექსტის ფორმით, ჩვენ ვერ შევძლებთ პროგრამის ჩასვლას. თქვენ ჯერ უნდა შეინახოთ კოდი ფაილში, მხოლოდ ამის შემდეგ გახსენით ფაილი Illustraor– ში, დააკოპირეთ შინაარსი და ჩასვით სასურველ დოკუმენტში. ბევრი ზედმეტი მოქმედება, არა?

ამ გაუგებრობის თავიდან ასაცილებლად, მე დავწერე სცენარი, რომელიც ავტომატურად შექმნის ფაილს, შემოაქვს შინაარსი თქვენს დოკუმენტში, შემდეგ კი წაშლის მას. ე.ი. სცენარი ერთსა და იმავე საქმეს აკეთებს, მაგრამ მხოლოდ ჩვენი მონაწილეობის გარეშე და აღარ არის საჭირო მასზე დროის დახარჯვა.


სკრიპტის თითოეული ელემენტის მოკლე აღწერა:

  • მარტივია - ჩასვით შინაარსი ველში და დააჭირეთ ღილაკს "ჩასმა"

თავსატეხები


სკრიპტი ობიექტების საფუძველზე თავსატეხების შესაქმნელად.

დამწერლობა ქმნის ჯგუფებს კლიპიკური ნიღბებით, ელემენტი, რომელიც "ხერხი" იქნება, არჩეულთა ყველაზე დაბალი ობიექტია. ოპერაციული რეჟიმები, თუ თქვენ გაქვთ ჯგუფი თავზე, ხოლო ობიექტი ბოლოში, მაშინ ჯგუფში ყველა ელემენტი გადაიქცევა ჯგუფებად, რომელზეც შედის კლიპიანი ნიღაბი და ობიექტი შერჩეული ქვემოდან. სკრიპტს არ აქვს ინტერფეისი, უბრალოდ შეარჩიეთ თქვენთვის საჭირო ელემენტები და აწარმოეთ სცენარი.


ჩანაცვლება

სკრიპტი ობიექტების ორიგინალში ჩასატარებლად, ჯგუფიდან საგნებიდან ან ბუფერული ნიშნიდან.

მაგალითად, თქვენ უნდა შეცვალოთ განლაგება რამდენიმე ელემენტს, მაგრამ დიდი ხნის განმავლობაში შეცვალეთ ისინი ხელებით, შეგიძლიათ გამოიყენოთ ეს სკრიპტი მის შესაცვლელად, უბრალოდ შეარჩიეთ თქვენთვის საჭირო ელემენტი, დააკოპირეთ იგი, შემდეგ აწარმოეთ სკრიპტი, შეარჩიეთ "ობიექტი ბუფერი".

ასევე, სკრიპტს შეუძლია შემთხვევით გადატრიალდეს თითოეული ელემენტი, მიიღოს შეცვლილი ელემენტის ზომა, მიიღოს შევსება და ასევე არ შეგიძლიათ წაშალოთ ორიგინალი ელემენტი.


სკრიპტის თითოეული ელემენტის მოკლე აღწერა:

  • ობიექტი ბუფერში - ობიექტი ბუფერზეა
  • ზედა ობიექტი - ობიექტი პირველია არჩეული სიიდან
  • ყველა ჯგუფში (შემთხვევითი) - ჯგუფურად შემთხვევით ირჩევს ობიექტს
  • მასშტაბის ველი - ჩასმული ელემენტის მასშტაბი
  • ჩანაცვლებთ ნივთებს ჯგუფში? - ჯგუფში არის ჩანაცვლებული საგნები? (თუ ელემენტები, რომლებიც უნდა შეიცვალოს, ჯგუფშია), შეამოწმეთ ეს ყუთი. სხვაგვარად შეიცვლება მთელი ჯგუფი და არა ყველა ელემენტი ჯგუფიდან)
  • კოპირება სიგანე და სიმაღლე - დააკოპირეთ სიგანე და სიმაღლე მნიშვნელობები შეცვლილი ელემენტიდან
  • შეინახეთ ორიგინალი ელემენტი - შეინახეთ (არ წაშალოთ) შეცვლილი ელემენტი
  • კოპირება ფერების ელემენტიდან - დააკოპირეთ შევსება შეცვლილი ელემენტიდან
  • შემთხვევითი ელემენტის როტაცია - შემთხვევითი როტაცია თითოეული ელემენტისთვის

შექმნაArtboardsFromThe შერჩევა

სკრიპტი არტბორდების შესაქმნელად შერჩეული ელემენტების საფუძველზე.

სკრიპტი ქმნის არტფორმას, როგორც არჩეულ ელემენტებზე, ასევე თითოეულ მათგანზე დაყრდნობით.


სკრიპტის თითოეული ელემენტის მოკლე აღწერა:

  • თითოეული შერჩევისას - შექმენით შერჩეული ნივთების კრებული თითოეული
  • მხოლოდ შერჩევის საზღვრები - შექმენით დაფა დაფუძნებული შერჩევის საფუძველზე.
  • პუნქტის საზღვრები Vsible - ხილული ნივთის საზღვრები
  • პუნქტის საზღვრები გეომეტრიული - გეომეტრიული ელემენტის საზღვრები

ტრანსფერული საათები

სკრიპტი ფერადი სვეტების დოკუმენტიდან აქტიურ დოკუმენტაციაში შესატანად.

აწარმოეთ სკრიპტი, შეარჩიეთ დოკუმენტი სიიდან, ასევე შეგიძლიათ შეამოწმოთ ყუთი ისე, რომ შეიცვალოს იმავე სახელის ფერები.


ArtboardItemsMoveToNewLayer

სკრიპტი, რომელიც artboard- ის შინაარსს ახდენს ახალ ფენაზე.

აწარმოეთ სკრიპტი, შეარჩიეთ არტბორდები, ასევე შეგიძლიათ შეარჩიოთ "ცარიელი ფენების წაშლა და სუბლაიერები", და "ფენის სახელწოდება არტბორდის სახელიდან".


Adobe Illustrator– ს აქვს მრავალი ინსტრუმენტი და ფუნქცია, მაგრამ მოწინავე მომხმარებლისთვის ყოველთვის იქნება რაღაც დაკარგული. ამიტომ, დეველოპერები ქმნიან სკრიპტებს და მოდულების შექმნას, რაც ხელს შეუწყობს მრავალფეროვანი დავალებების გადაჭრას და შრომითი ინტენსიური პროცესების დაჩქარებას. დღეს ჩვენ მოვამზადეთ თქვენთვის საუკეთესო მიმოხილვა ილუსტრატორის საუკეთესო უფასო სკრიპტების შესახებ. მათი ჩამონათვალი სისტემატიზებულია და ფუნქციონალურობის მიხედვით რამდენიმე ჯგუფად იყოფა. ეს ნამუშევარია ბილიკებითა და წერტილებებით, ფორმების განაწილების სხვადასხვა ტიპებით, ობიექტების გენერირებით, შრეების პანელთან მუშაობის, ტექსტის ობიექტების, ფერის და ა.შ.

დააინსტალირეთ და გაუშვით სკრიპტები

თქვენ უნდა დააინსტალიროთ სკრიპტი შემდეგ საქაღალდეებში:

იმისთვის ვინდოუსი: C: \\ პროგრამის ფაილები \\ Adobe \\ Adobe Illustrator CC 2014 \\ Presets \\ en_GB \\ სკრიპტები

იმისთვის Mac OS: პროგრამები / Adobe \\ Adobe Illustrator CC 2014 \\ Presets \\ en_GB \\ სკრიპტები

სკრიპტის შესასრულებლად გადადით ფაილი\u003e სკრიპტები\u003e ...

თქვენ ასევე შეგიძლიათ მოაწყოთ სკრიპტები სხვა მყარ დისკზე. ამ შემთხვევაში, სკრიპტის გასაშვებად გადადით ფაილზე\u003e სკრიპტები\u003e სხვა სკრიპტები ... (Cmd / Ctrl + F12).

თუ ხშირად იყენებთ სკრიპტებს, მაშინ მოსახერხებელი დასაწყისისათვის მოსახერხებელი გამოხდებით. ეს უფასო მოდული იძლევა პანელის მხრიდან სკრიპტის დაშვებას, რომლის განთავსება ყოველთვის შესაძლებელია მოსახერხებელ ადგილზე.

ახლა მოდით შევხედოთ სკრიპტების ჩამონათვალს, რომლებიც იყოფა ფუნქციურობით:

სკრიპტები ბილიკებთან, წერტილებთან და სახელურებთან მუშაობისთვის

ეს სკრიპტი ბრუნავს სახელების მართვის წერტილებს, თანაბრად იცვლის მათ სიგრძეს. სკრიპტის გაშვების შემდეგ, თქვენ გაქვთ შესაძლებლობა აირჩიოთ ერთ – ერთი ხუთი ტიპის სახელურები, შემდეგ დააყენოთ პარამეტრები სიგრძეებისა და კუთხეებისთვის.

ეს დამწერლობა ქმნის ყვავილებს ჩვეულებრივი ფორმისგან. შესანიშნავია საინტერესო ნიმუშების, ლოგოების და ა.შ.

სკრიპტი შლის გადაფარვის წერტილებს და აფიქსირებს რამდენი წაშლილია.

სცენარი იხურება ღია გზებს მიმდინარე დოკუმენტში. არ აკავშირებს ეხება ბილიკებს.

სკრიპტი ცვლის არჩეული ბილიკების მიმართულებას ზედა სეგმენტის მიმართულების შესაბამისად. ანუ, სკრიპტის გამოყენების შემდეგ, ყველა შერჩეულ ბილიკს ექნება ერთი მიმართულება.

სკრიპტი ასლის მთავარ ობიექტს სხვა ობიექტების მდგომარეობაში და ზომებში. აღწერილობა ძნელია, უფრო მარტივი ჩანს ქვემოთ მოყვანილი სურათი.

სკრიპტები, რომლებიც ანაწილებენ ობიექტებს

სცენარი ავსებს ფორმას წრეებით.

სკრიპტი არჩეული ბილიკის გასწვრივ ათავსებს ობიექტებს იმავე მანძილზე. თქვენ შეგიძლიათ გადანაწილდეთ ობიექტები, რომლებიც ერთ ან რამდენიმე ჯგუფშია.

სკრიპტი ასრულებს ზედა ობიექტს და ასლებს ასახელებს შერჩეულ წერტილებში.

სკრიპტი ობიექტებს ბრუნავს ზედა ობიექტის ცენტრში.

სკრიპტი ბრუნავს ყველა ობიექტს ზედა ობიექტის პოზიციაზე.

სკრიპტის საშუალებით შესაძლებელია ვექტორის ობიექტის არეალის დაყოფა მონაცემების შესაბამისად, რაც შეიძლება წარმოდგენილი იყოს აბსოლუტური ან პროცენტული თვალსაზრისით.

სკრიპტი ქმნის სარკის სურათს პანელიდან არჩეული ტიპის მიხედვით.

სკრიპტები, რომლებიც წარმოქმნიან ობიექტებს სხვა საგნების ან მონაცემების საფუძველზე

დამწერლობა აყალიბებს ფორმებს მეტა-ბურთის სტილში (იცით თუ არა რუსული ფორმა ასეთი ფორმისთვის? არ ვიცი).

დამწერლობა ქმნის საერთო (ყველა შესაძლო) tangent- ს არჩეულ ობიექტებზე.

სკრიპტი ქმნის სახელმძღვანელოებს არჩეული წერტილიდან შერჩეულ მრუდიან სეგმენტებამდე.

სცენარი საშუალებას გაძლევთ შექმნათ QR კოდი Illustrator– ში.

ამ სკრიპტის საშუალებით შეგიძლიათ ავტომატურად შექმნათ კალენდარული ბადე მხოლოდ რამდენიმე დაწკაპუნებით. დამხმარე ენები: EN, RU, DE, UA.

სკრიპტები შემთხვევითი პარამეტრით

სკრიპტი ირჩევს ობიექტებს შემთხვევითი რიგით მიხედვით მითითებული ნომრის მიხედვით.

RandomSwatchesFill სკრიპტი შემთხვევით აყალიბებს არჩეულ ობიექტებს Swatches პალიტრაში შერჩეულ ფერებში.

RandOpacity სკრიპტი ცვლის არჩეულ ობიექტების გამჭვირვალობას შემთხვევითი მნიშვნელობით 0-დან 100% -მდე ობიექტების ორიგინალ გამჭვირვალედ.

სკრიპტი ცვლის ყველა შერჩეული ობიექტის ხაზოვან გრადიენტურ კუთხეს შემთხვევითი რიგით.

Random Order სკრიპტის საშუალებით საშუალებას გაძლევთ განაწილოთ ობიექტები შემთხვევითი რიგით Layers პანელში. მე დავწერე ეს დამწერლობა

სკრიპტები შრეების პანელში მუშაობისთვის

სცენარი წაშლის ყველა ცარიელ ფენას მიმდინარე დოკუმენტში.

თქვენ გაქვთ უნიკალური შესაძლებლობა, რომ გააფართოვოთ Adobe Illustrator. არაფერია ადვილი, ვიდრე სკრიპტების (სკრიპტის ფაილების) გამოყენება, უბრალოდ შეარჩიეთ ობიექტი და გაუშვით სკრიპტი, რომელიც გჭირდებათ. ამ სტატიაში წარმოდგენილი სკრიპტები დაზოგავს უამრავ დროს, გახდის თქვენს ნამუშევარს უფრო სასიამოვნო და ეფექტურად. მერწმუნეთ, ისინი თქვენს ყურადღებას იმსახურებენ. ყველა სკრიპტის ტესტირება მოხდა Illustrator– ის ვერსიებში CS3 და CS4.

თუ გჭირდებათ უმაღლესი ხარისხის Illustrator დანამატები, შეგიძლიათ იპოვოთ ისინი ჩვენი GraphicRiver რესურსის Illustrator Actions and Scriptts განყოფილებაში, მაგალითად: Isometric Guides Grid Action, Pattern Maker და Long ჩრდილის მოქმედება.

   გრაფიკული მდინარეზე საუკეთესო მოქმედებები (ოპერაციები) და სკრიპტები ილუსტრატორისთვის.

წინააღმდეგ შემთხვევაში, გამოიყენეთ უფასო "კარგი", რომლის შესახებაც ახლა ჩვენ გეტყვით. მაგრამ ჯერ ვნახოთ, თუ როგორ უნდა დააყენოთ სკრიპტები ილუსტრატორისთვის.

სკრიპტის ინსტალაცია

მიზანშეწონილია ყოველთვის შეინახოთ სკრიპტები, რომლის გამოყენებასაც აპირებთ იმავე ადგილას, მაგალითად, სკრიპტების დირექტორიაში. სკრიპტის შესასრულებლად გადადით ფაილი\u003e სკრიპტები\u003e კიდევ ერთი სკრიპტი (ბრძანება + F12) (ფაილი\u003e სკრიპტები\u003e სხვა სკრიპტები).

გახსენით დირექტორია სკრიპტებით და გაუშვით სასურველი ფაილი.

გაუზიარე ეს