แท็กคลาวด์สคริปต์ในนักวาดภาพประกอบ วิธีการติดตั้งสคริปต์ใน Adobe Illustrator

Adobe Illustrator มีเครื่องมือและคุณสมบัติมากมายที่จะนำความคิดไปใช้ แต่ถึงแม้จะมีความเป็นไปได้มากมายในคลังแสงมันก็จะพลาดบางสิ่งไป บนอินเทอร์เน็ตคุณสามารถค้นหาสคริปต์และปลั๊กอินต่างๆมากมายสำหรับ Adobe Illustrator ซึ่งเป็นการขยายการทำงานของมัน หากไม่มีสิ่งเหล่านี้ Adobe Illustrator อาจไม่สามารถรับมือกับงานบางอย่างหรือเพิ่มงานพิเศษให้กับศิลปิน ดังนั้นวันนี้เราจะพิจารณาสักหน่อย สคริปต์ที่มีประโยชน์และฟรีสำหรับ Adobe Illustrator.

การติดตั้งสคริปต์

เพื่อให้สคริปต์ทำงานใน Adobe Illustrator เราต้องวางสคริปต์ไว้ในโฟลเดอร์ Scripts ซึ่งอยู่ในไดเรกทอรี Adobe Illustrator ในกรณีของฉันมันคือ ... / Adobe / Adobe_Illustrator_CS5 / Presets / en_GB / สคริปต์ หากคุณใช้โปรแกรมรุ่นก่อนหน้าแทนที่จะเป็น Adobe_Illustrator_CS5 ในกรณีของคุณอาจมี Adobe_Illustrator_CS4, Adobe_Illustrator_CS3 เป็นต้น
  หากคุณดาวน์โหลดสคริปต์ที่ถูกบีบอัดลงในไฟล์เก็บถาวรอย่าลืมแกะมันออกมา หลังจากการติดตั้งคุณต้องรีสตาร์ท Adobe Illustrator

สคริปต์ที่มีอยู่สามารถพบได้ในแท็บไฟล์ในเมนูย่อยของสคริปต์

เลือกเส้นทางที่เปิด

สคริปต์นี้จะค้นหาและเลือกรูปร่างทั้งหมดด้วยเส้นทางที่เปิด สคริปต์นี้จะมีประโยชน์เมื่อสร้างเวกเตอร์สำหรับ microstock เพราะ ลูปปิดเป็นหนึ่งในเกณฑ์สำหรับการยอมรับงานของคุณในฐานข้อมูล microstock

ปิดเส้นทางทั้งหมด / ปิดเส้นทางที่เลือกทั้งหมด

สคริปต์นี้ปิดเค้าร่างสำหรับรูปร่างทั้งหมดหรือรูปร่างที่เลือก ตัวอย่างเช่นหลังจากค้นหาวงจรเปิดโดยใช้ Select Open Path คุณสามารถปิดได้

Devide กรอบข้อความ

การใช้สคริปต์นี้คุณสามารถแบ่งฟิลด์ข้อความเดียวออกเป็นฟิลด์เล็ก ๆ โดยการเปลี่ยนเป็นบรรทัดใหม่เป็นที่ของการแยก

เข้าร่วมกรอบข้อความ

สคริปต์นี้จะรวมหลายฟิลด์ข้อความเป็นหนึ่งเดียว

Fleurify

ขอบคุณสคริปต์นี้ตัวเลขจะถูกตกแต่งด้วยเส้นโค้งดอกไม้ที่สวยงาม

Metaball

หลังจากใช้สคริปต์นี้รูปร่างที่เรียบง่ายหลายอย่างจะเปลี่ยนเป็นรูปร่างที่ซับซ้อนมากขึ้น

CMYK ถึง Pantone v. 2

สคริปต์นี้แปลงโหมดสี CMYK เป็น Pantone

วงกลม

ขอบคุณสคริปต์นี้คุณสามารถสร้างรูปร่างวงกลมที่มีจำนวนจุดที่ต้องการได้

ลบจุดยึด

สคริปต์นี้จะลบจุดที่เลือกในรูป

ปัดเศษมุมใดก็ได้

หลังจากใช้สคริปต์นี้มุมที่แหลมคมของรูปร่างจะถูกแปลงเป็นโค้งมน

สลับวัตถุ

สคริปต์นี้จะให้คุณสมบัติหนึ่งของวัตถุที่สองและที่สอง - คุณสมบัติของที่หนึ่ง เนื่องจากคุณสมบัติจะใช้ขนาดและตำแหน่งของเวิร์กสเปซ

เลือกเส้นทางตามขนาด

ปลั๊กอินจะช่วยให้คุณค้นหาตัวเลขที่มีขนาดที่แน่นอน

โดยทั่วไปเมื่อพูดถึงโปรแกรมสำหรับนักออกแบบสิ่งสำคัญอันดับแรกคือความเป็นไปได้ทางศิลปะของแอพพลิเคชั่น - เครื่องมือวาดภาพฟิลเตอร์และอื่น ๆ แต่ในชีวิตประจำวันคุณต้องรับมือกับงานประจำ โชคดีที่ซอฟต์แวร์จาก Adobe (รวมถึง Illustrator) เริ่มให้การสนับสนุนการเขียนสคริปต์ (สคริปต์) ทำให้คุณสามารถเปลี่ยนงานที่ซ้ำซากจำเจบนไหล่ของเครื่อง และคุณไม่ได้ทำงานใน Illustrator อีกต่อไป - คุณจัดการมันและสิ่งนี้ตามที่พวกเขาพูดใน Odessa มันมีความแตกต่างใหญ่สองอย่าง!

ด้วยความตระหนักว่าผู้ใช้ Illustrator ส่วนใหญ่เป็นศิลปินและนักออกแบบที่ไม่ได้พบกับการเขียนโปรแกรมฉันจะพยายามสร้างภาพรวมของฟังก์ชันการเขียนสคริปต์เพื่อให้ผู้อ่านไม่ได้รับความประทับใจว่าบทเรียนนี้ต้องการความคิด "พิเศษ" และการศึกษาพิเศษเป็นเวลานาน ในเวลาเดียวกันฉันขอโทษผู้เชี่ยวชาญเพื่อความเรียบง่ายในการใช้ถ้อยคำเพื่อความพร้อมของวัสดุ ผู้เขียนเองเคยอยู่ในสถานการณ์ที่คล้ายคลึงกันและในตอนแรกไม่ได้พิจารณาทรงกลมนี้สังฆมณฑลของเขา แต่ฉันใช้เวลาศึกษาน้อยกว่าสองสัปดาห์และตอนนี้ฉันยืนยันว่า: การมีความเข้าใจในการเขียนโปรแกรมน้อยที่สุดสคริปต์การเรียนรู้เป็นงานที่เป็นไปได้อย่างสมบูรณ์แบบ

สคริปต์สำหรับ Illustrator สามารถเขียนได้ทุกภาษา: JavaScript, Visual Basic (Windows) และ AppleScript (Mac OS) เนื่องจากผู้อ่านส่วนใหญ่คุ้นเคยกับหน้าแรก (นักออกแบบจำนวนมากสำหรับการพิมพ์ประสบความสำเร็จในการจัดการกับการสร้างหน้าอินเทอร์เน็ตที่ใช้) เราจะพึ่งพา นอกจากนี้ JavaScript เป็นแพลตฟอร์มอิสระ: สคริปต์ที่เขียนบนมันจะทำงานได้ทั้งในระบบปฏิบัติการ - Windows และ Mac OS วิธีการเข้าถึงองค์ประกอบนั้นเป็นแบบเชิงวัตถุ: เพื่อค้นหาความหนาของเส้นขอบขององค์ประกอบเวกเตอร์ที่สองในชั้นแรกคุณต้องเขียนโครงสร้างต่อไปนี้:

app.activeDocument.Layer.pathItems.strokeWidth

สิ่งนี้สามารถตีความได้ดังนี้: ก่อนวัตถุระดับสูงสุดในลำดับชั้นของ Illustrator จะถูกระบุ (แอพเป็นแอพพลิเคชั่นสั้น ๆ สำหรับแอพพลิเคชั่น) จากนั้นการเลือกจะค่อยๆแคบลงไปที่องค์ประกอบเฉพาะ วัตถุและค้นหาความหนาของเส้นขอบ) วิธีการเข้าถึงองค์ประกอบดังกล่าวสะดวกมากเพราะช่วยให้คุณสามารถสำรวจประเภทต่างๆที่มีอยู่ในตัวแก้ไขได้อย่างง่ายดาย รูปแบบความสัมพันธ์ที่สมบูรณ์สามารถพบได้ในคำอธิบายที่เขียนได้ดี (รวมอยู่ใน Illustartor)

วงเล็บเหลี่ยมระบุว่าองค์ประกอบนั้นเป็นส่วนหนึ่งของอาร์เรย์ อาร์เรย์คือชุดของวัตถุต่าง ๆ ที่รวมกันโดยแอตทริบิวต์ที่แน่นอน ตัวอย่างเช่นเลเยอร์ pathItems, RasterItems, GroupItems, Selection เป็นต้นเป็นอาร์เรย์ที่ประกอบด้วยวัตถุประเภทเดียวกัน (ชั้นเอกสารเส้นทางเวกเตอร์ภาพแรสเตอร์กลุ่ม ฯลฯ ) ในวงเล็บระบุดัชนี (หมายเลขซีเรียล) ขององค์ประกอบที่จำเป็นในอาร์เรย์ ดังนั้นรายการเลเยอร์หมายถึงเลเยอร์แรกเนื่องจากดัชนีแรกจะเป็น“ 0” เสมอ

วัตถุยังสามารถเข้าถึงได้โดยชื่อเลเยอร์ [“ แผนภูมิ”] ในการทำเช่นนี้องค์ประกอบจะต้องตั้งชื่ออย่างชัดเจน - ด้วยตนเองโดยใช้จานสีของเลเยอร์ (ดับเบิลคลิกที่ชื่อของวัตถุเพื่อเปิดหน้าต่างที่มีคุณสมบัติ) หรือจากสคริปต์ เพื่อไม่ให้เขียนคำสั่งที่ยุ่งยากในแต่ละครั้งที่มีรายการ“ สายเลือด” ทั้งหมดให้ใช้การอ้างอิง:

pI \u003d activeDocument.Layer.pathItems;

จากนั้นส่วนรหัสด้านบนจะมีลักษณะดังนี้: pI.strokeWidth

ไม่อนุญาตให้อ้างถึงเลเยอร์เป็นวัตถุทุกครั้งหากการดำเนินการทั้งหมดเกิดขึ้นในเลเยอร์ที่ใช้งานอยู่เดิม และโปรดทราบว่าชื่อของตัวแปรมีกรณี: ถ้าคุณเขียน pI เป็นครั้งแรกและ pi สำหรับที่สองจากนั้นสคริปต์จะโยนข้อผิดพลาดและจะไม่ทำงาน

ในแบบจำลองเชิงวัตถุมี: แอพพลิเคชั่นตัวเองคลาส (ประเภทของวัตถุหรือใช้แนวคิดที่คุ้นเคยมากขึ้นคำนาม: เลเยอร์วัตถุเวกเตอร์กลุ่ม ฯลฯ ) วิธีการ (วิธีการโต้ตอบกับพวกเขา - คำกริยา: ย้ายคำซ้ำและ ฯลฯ ) และคุณสมบัติ (คำคุณศัพท์: strokeWidth, fillColor, select, ฯลฯ ) เพื่อให้ง่ายต่อการนำทางลองนึกภาพว่าแอปพลิเคชันเป็นบ้านที่มีวัตถุต่าง ๆ - อนาล็อกของคลาส (หน้าต่างประตู) ที่มีคุณสมบัติบางอย่าง (พลาสติกไม้) ที่พวกเขาดำเนินการบางอย่าง - วิธีการ (เปิดปิด) การทำความเข้าใจสาระสำคัญของลำดับชั้นนั้นมันง่ายกว่าที่จะเข้าใจการเขียนสคริปต์

ในระดับสูงสุดคือแอปพลิเคชันและแท้จริงตามกฎการอยู่ใต้บังคับบัญชาของวัตถุก็จะต้องมีการระบุในการกระทำใด ๆ เพื่อให้ง่ายขึ้นลิงก์ไปยังแอปพลิเคชันสามารถละเว้นได้ - ยกเว้นในกรณีที่คุณจำเป็นต้องรู้คุณสมบัติบางอย่าง (ตัวอย่างเช่นแบบอักษรที่มี - app.fonts)

คลาส Layer, Group, Text สามารถมีออบเจ็กต์ของคลาสเดียวกันซึ่งสามารถมีลูกได้ คุณสมบัติที่มีประโยชน์ของวิธีการวัตถุคือ มรดก   สรรพคุณ ดังนั้นเส้นทางเวกเตอร์ทั้งหมด (pathItems) เป็นลูกขององค์ประกอบระดับหน้าทั่วไป (pageItems) ดังนั้นโดยการกำหนดคุณสมบัติบางอย่างให้กับ pageItems เราจะกำหนดและ pathItems โดยอัตโนมัติ

แม้จะมีความคล้ายคลึงกัน แต่เลเยอร์และเลเยอร์คลาสยังคงแตกต่าง แรกคือชุดของเลเยอร์ทั้งหมดในเอกสารที่สองเป็นเพียงบางอย่างที่เฉพาะเจาะจงและวิธีการและคุณสมบัติของพวกเขาแตกต่างกัน คุณสามารถใช้วิธีเพิ่ม, ลบทั้งหมดกับวิธีแรกและวิธีที่สองคือการดำเนินการทั้งหมดที่มีสำหรับเลเยอร์แยกต่างหาก วัตถุนั้นถูกเข้าถึงเป็นองค์ประกอบของอาร์เรย์ที่สอดคล้องกัน - ในกรณีของเราผ่านเลเยอร์เลเยอร์ ฯลฯ

องค์ประกอบที่เลือกสอดคล้องกับคลาสแยก - การเลือกซึ่งเป็นอาร์เรย์ (กลุ่มของวัตถุสามารถเลือกได้) ในบัญชีพิเศษใน Illustrator จะมีคลาส pluginItems, Colors, Views ข้อแรกมีข้อ จำกัด มากมายที่เกี่ยวข้องกับความจริงที่ว่าวัตถุประเภทนี้ไม่ได้เป็นของ Illustrator เหล่านี้รวมถึงองค์ประกอบผสมผสาน, ซองจดหมาย, ตาข่ายและที่คล้ายกัน เราจะพิจารณาคุณสมบัติของส่วนที่เหลือตามที่ใช้งาน

เพื่อให้สคริปต์สามารถ "มองเห็นได้" จะถูกวางไว้ในโฟลเดอร์ Presets.Scripts ที่อยู่ในตำแหน่งที่ติดตั้งแอปพลิเคชัน เราจะพิจารณาตัวอย่างจริง (สิ่งนี้จะรู้สึกได้ถึงประโยชน์ของสคริปต์ในทันที) และเขียนไว้ใน Illustrator CS เนื่องจากสคริปต์มีความยืดหยุ่นมากกว่ารุ่นก่อนหน้า

ตัวอย่างที่ 1: การรวมวัตถุ

เริ่มจากสิ่งที่ง่ายที่สุด - เราจะเขียนสคริปต์เชื่อมต่อสายของวัตถุรองลงไปที่วัตถุหลัก (เป็นงานที่ต้องทำบ่อยครั้งเมื่อสร้างผังงานเอกสารทางเทคนิคและงานที่คล้ายกัน) และเราจะสัมผัสกับปัญหาพื้นฐานเช่นการทำงานกับวัตถุที่เลือกการสร้างเลเยอร์ใหม่การวางวัตถุการเปลี่ยนลำดับการสร้างและรวมถึงส่วนโค้งในเส้นทางผสม

การทำงานกับเอกสารดังกล่าวเกี่ยวข้องกับการใช้สัญลักษณ์ (สัญลักษณ์) อย่างกว้างขวาง - การเปลี่ยนแปลงแก้ไขจะอัปเดตสำเนาที่สร้างขึ้นทั้งหมดโดยอัตโนมัติ อย่างไรก็ตาม Illustrator ทำงานได้ไม่ถูกต้องกับองค์ประกอบดังกล่าว: มันเกิดขึ้นที่ไม่ได้อ่านชื่อของวัตถุที่เป็นสำเนาของตัวละคร ดังนั้นการเลือกตามชื่อจึงไม่สามารถทำได้ การประมวลผลองค์ประกอบทั้งหมดของประเภทนี้ในเลเยอร์ปัจจุบันไม่ได้ใช้งานจริง ด้วยเหตุนี้ฉันจึงเอนตัวเลือกอื่นซึ่งคุณต้องเลือกวัตถุที่ต้องการก่อน (วิธีที่ง่ายที่สุดคือเลือกอักขระหนึ่งตัวและค้นหาสำเนาผ่านคำสั่ง Select.Same Instances) จากนั้นเลือกองค์ประกอบอ้างอิงที่จะเชื่อมต่อ

ดังนั้นเราไปกันเลย เพื่อย่อให้สั้นลงเราแนะนำตัวแปร sel ซึ่งเราจะอ้างถึงเมื่อเราจำเป็นต้องดำเนินการใด ๆ กับวัตถุที่เลือก จากนั้นเราจะตรวจสอบว่ามีองค์ประกอบกี่รายการที่เลือก (แม้ว่าอักขระที่เลือกของข้อความจะเป็นของอาร์เรย์การเลือกเราจะไม่ตรวจสอบว่าไม่มีการเลือกข้อความที่เลือก) เขียนว่า (sel.length<2) означает, что мы сравниваем значение length (количество объектов класса sel) с двойкой — минимальным количеством для работы сценария. Если выделенных элементов меньше, будут выполняться действия, заключённые в первые идущие за оператором if фигурные скобки, иначе — идущие после else. При этом логично предусмотреть выдачу сообщения, чтобы сориентироваться в ситуации и понять, что нужно сделать.

sel \u003d activeDocument.selection
   ถ้า (sel.length<2) {br>   การแจ้งเตือน (“ มีวัตถุไม่เพียงพอที่จะดำเนินการต่อ! \\ n เลือกอย่างน้อย 2 วัตถุและวัตถุสุดท้าย!”))
   อื่น (

Alert เป็นฟังก์ชั่น JavaScript มาตรฐานที่แสดงหน้าต่างพร้อมข้อความที่ระบุและปุ่มตกลง "\\ N" หมายถึงไปที่บรรทัดใหม่และใช้เพื่อทำให้หน้าต่างมีขนาดเล็ก ข้อความที่แสดงในหน้าต่างจะต้องอยู่ในเครื่องหมายคำพูด

ขั้นตอนการเตรียมการ

รับพิกัดของศูนย์กลางของวัตถุอ้างอิง เนื่องจากเราเห็นด้วยว่าเขาเป็นคนที่สูงที่สุดจำนวนของเขา (ดัชนี) คือ“ 0” (sel) ในการคำนวณพิกัดเราจะใช้คุณสมบัติของวัตถุเช่นตำแหน่ง (ตำแหน่ง) ความกว้างและความสูง (ความสูงและความกว้าง) ค่าตำแหน่งจะถูกเก็บไว้ในอาร์เรย์ที่ประกอบด้วยคู่ของค่า - พิกัดตามแกน X และ Y ตามลำดับ ดังนั้นทุกคนจะต้องได้รับการระบุตำแหน่งและตำแหน่ง

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

เราได้พิกัดของศูนย์กลางของวัตถุอ้างอิงและกำหนดให้กับตัวแปรสองตัวสำหรับการใช้งานเพิ่มเติม บรรทัดที่สองมีเครื่องหมาย“ -” เนื่องจาก Illustrator ยอมรับมุมซ้ายล่างของเอกสารเป็นจุดอ้างอิงและตำแหน่งให้พิกัดของมุมซ้ายบนขององค์ประกอบ

เนื่องจากความสะดวกสบายมีบทบาทสำคัญเมื่อทำงานกับเอกสารเราจะตรวจสอบให้แน่ใจว่าบรรทัดที่สร้างขึ้นนั้นอยู่ในชั้นที่แยกต่างหาก - โครงสร้างดังกล่าวจะช่วยรักษาลำดับในรูปแบบของความซับซ้อนที่แตกต่างกัน

สร้างเลเยอร์ใหม่ - มันเช่นเดียวกับองค์ประกอบ Illustrator ใด ๆ ที่ถูกสร้างขึ้นโดยวิธีการเพิ่ม () นำไปใช้กับชั้นของวัตถุที่สอดคล้องกัน ในวงเล็บคุณสามารถระบุพารามิเตอร์ของการกระทำ: ระบุวัตถุปลายทาง (ตัวอย่างเช่นเลเยอร์หรือเอกสารใหม่รวมถึงตำแหน่งที่ปลายทาง) ซึ่งแตกต่างจากวิธีการส่วนใหญ่ไม่มีพารามิเตอร์เพิ่มเติมไว้สำหรับการเพิ่มดังนั้นเพื่อถ่ายโอนไปยังระดับสูงสุดเราจะใช้วิธีพิเศษ - zOrder ซึ่งเราจะระบุ BRINGTOFRONT เป็นพารามิเตอร์ (ค่าคงตัวที่สงวนไว้ซึ่งเป็นรายการทั้งหมดที่ระบุไว้ในเอกสาร) ตามหลักการแล้วหากเอกสารมีเพียงเลเยอร์เดียวก็ไม่จำเป็นต้องระบุตำแหน่งของเลเยอร์ใหม่โดยเฉพาะเนื่องจาก Illustrator จะวางเอกสารไว้เหนือชั้นปัจจุบัน หากวัตถุที่จะเชื่อมต่อไม่ได้อยู่ในระดับสูงสุดจะต้องใช้บรรทัดที่สอง

newlayer \u003d activeDocument.layers.add ();
   newlayer.ZOrder (ZOrderMethod.BRINGTOFRONT);

บรรทัดแรกสามารถอ่านได้ดังนี้สร้างองค์ประกอบใหม่โดยการเพิ่ม (เพิ่ม) จำนวนวัตถุประเภทที่ต้องการ (เลเยอร์) และกำหนดลิงค์ไปยังองค์ประกอบที่สร้างขึ้นใหม่ให้กับตัวแปร newlayer ในตอนแรกเลเยอร์นั้นว่างเปล่าเพราะยังไม่มีสิ่งใดวางอยู่ เพื่อให้การวางแนวง่ายขึ้นในเค้าโครงที่ซับซ้อนให้เลเยอร์ชื่อ "ตัวเชื่อมต่อ" (โดยวิธีการชื่อ) - อย่างที่คุณเห็นชื่อของวิธีการที่ระบุการกระทำที่ชัดเจน

newlayer.name \u003d“ ตัวเชื่อมต่อ”;

เพื่อจุดประสงค์ด้านการศึกษาเราจะสร้างไม่แยกบรรทัด แต่รวมเป็นวัตถุประเภทเส้นทางแบบผสมเพื่อความสะดวกในการแก้ไข การสร้างออบเจ็กต์นั้นซ้ำกับโพรซีเดอร์ที่รู้จักกันแล้วคราวนี้นำไปใช้กับคลาส

newCompoundPath \u003d activeDocument.compoundPathItems.add ();

เนื่องจากในขั้นตอนสุดท้ายเราสร้างเลเยอร์ใหม่มันจึงแอ็คทีฟ - ดังนั้นวัตถุที่สร้างจะตั้งอยู่บนมันและไม่จำเป็นต้องระบุมันโดยเฉพาะ (activeDocument.newlayer)

การกำหนดพิกัดขององค์ประกอบย่อย

เรารวมกระบวนการนี้กับเอาท์พุทของสายเชื่อมต่อด้วยตนเองเนื่องจากหมายเลขของพวกเขาควรสอดคล้องกับจำนวนวัตถุ ในทางกลับกันเราเริ่มเรียงลำดับองค์ประกอบที่เลือกทั้งหมด (“ i ++” หมายถึงการเพิ่มขึ้นทีละรายการ) และอ่านพิกัด เราจะเริ่มการค้นหาไม่ใช่จากวัตถุแรกสุดจากอาร์เรย์การเลือก (ตามที่คุณจำได้วัตถุอ้างอิงจะทำหน้าที่เหมือนมัน) แต่เริ่มจากการค้นหาที่สอง บรรทัดต่อไปนี้เราคุ้นเคยแล้ว:

สำหรับ (i \u003d 1; i< sel.length; i++) {
   obj_x \u003d sel [i] .position + sel [i] .width
   obj_y \u003d sel [i] .position - sel [i] .height

เมื่อได้รับพิกัดของศูนย์กลางของเด็ก ๆ แล้วเราจะสร้างเส้นเชื่อมต่อกับการอ้างอิง สำหรับแต่ละองค์ประกอบที่เลือกให้สร้างวัตถุใหม่ - เส้นทางเวกเตอร์ที่รวมอยู่ในคลาส CompoundPath เพิ่มจำนวนเส้นทางทั้งหมด:

newPath \u003d newCompoundPath.pathItems.add ();

ในการตั้งค่า contours อย่างง่าย ๆ ใน Illustrator มีเมธอด setEntirePath พารามิเตอร์ซึ่งเป็นอาร์เรย์ของพิกัดของจุดเริ่มต้นและจุดสิ้นสุด - ซึ่งตามที่เราทราบแล้วจะถูกระบุเป็นอาร์เรย์ของค่าสองค่า (ตำแหน่งตามแกนสองแกน) ในที่สุดเราก็ทำตามเงื่อนไข“ ถ้ามีการเน้นบางสิ่ง” แนะนำในตอนแรก

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

สคริปต์พร้อมใช้งาน อย่างที่คุณเห็นไม่มีอะไรซับซ้อนในนั้น: ชื่อของวิธีการเปิดเผยสาระสำคัญของมันและโมเดลเชิงวัตถุช่วยให้เข้าใจลำดับชั้นของวัตถุ Illustrator อย่างชัดเจน สคริปต์ไม่มีคุณค่าในทางปฏิบัติพิเศษใด ๆ (มีแนวโน้มที่จะสอนมากกว่า) แต่ในตัวอย่างของแนวคิดพื้นฐานจำนวนมากได้รับการพิจารณาซึ่งเราจะพึ่งพาในอนาคต (ทำงานกับวัตถุที่เลือกหลักการของการกำหนดหมายเลขในอาร์เรย์การเลือกกำหนดพิกัดสร้างเลเยอร์ใหม่ บรรทัด)

ตัวอย่างที่ 2: ตรวจจับรูปทรงที่บางเกินไป

การปรับสเกลในกราฟิกแบบเวกเตอร์นั้นใช้งานได้ดีมาก ดังนั้นเมื่อลดขนาดของวัตถุที่มีเส้นบาง ๆ (ถ้าเปิดใช้งานพารามิเตอร์ Scale strokes) บ่อยครั้งที่ความหนาของเส้นขีดต่ำกว่า 0.25 pt (ค่าหลังจากเส้นที่มองเห็นไม่ดี) และทำให้มันหายไปเมื่อพิมพ์บนเครื่องพิมพ์อิงค์เจ็ท ฟังก์ชันการค้นหาในตัวของ Illustrator สำหรับวัตถุที่มีค่าสโตรกน้อยกว่าค่าที่ระบุ การค้นหาด้วยตนเองเป็นเรื่องยากมาก - คุณต้องเลือกแต่ละวัตถุทีละอย่างอย่างรวดเร็วซึ่งทำให้ไม่อยากมีส่วนร่วมในการตรวจสอบดังกล่าว สคริปต์จะทำให้การทำงานง่ายขึ้นมาก

สคริปต์ในเวอร์ชันที่ง่ายที่สุดนั้นมีขนาดเล็ก แต่เราจะตั้งเป้าหมายที่จะทำให้เป็นสากลมากขึ้น - เราจะขยายฟังก์ชันการทำงานเนื่องจากความสามารถในการระบุความหนาขั้นต่ำในกล่องโต้ตอบ แน่นอนว่าคุณสามารถลงทะเบียนค่านี้ในสคริปต์อย่างเคร่งครัดและหากจำเป็นให้ปรับค่าในแต่ละครั้ง แต่คุณจะเห็นว่าสิ่งนี้ไม่สะดวก นอกจากนี้เรายังให้การบ่งชี้องค์ประกอบที่เลือกเป็นวัตถุอ้างอิงที่มีค่าเส้นขอบต่ำสุดที่ยอมรับได้ ในแบบคู่ขนานสำหรับสถิติเราคำนวณจำนวนขององค์ประกอบที่มีความหนาที่เปลี่ยนแปลงและเลือกเพื่อความชัดเจน

สคริปต์ทั้งหมดถูกแบ่งออกเป็นสองส่วน: ค่าเริ่มต้น (อ่านค่าจากกล่องโต้ตอบหรือรายการที่เลือก) และค่าสุดท้าย (ค้นหาระหว่างวัตถุทั้งหมดในเอกสารและกำหนดความหนาเส้นขอบใหม่) นอกจากการสาธิตการเข้าถึงวัตถุ Illustrator แล้วเราจะพิจารณาสร้าง mini-interface สำหรับป้อนค่าที่กำหนดเอง

การป้อนค่า

สองบรรทัดแรกจะเหมือนกันกับตัวอย่างก่อนหน้ายกเว้นว่าแทนที่จะเป็น“ 2”“ 0” จะปรากฏขึ้นเพราะก่อนหน้าสคริปต์เราต้องพิจารณาว่ามีวัตถุที่เลือกหรือไม่ การเปรียบเทียบถูกกำหนดโดยเครื่องหมายเท่ากับสองเท่า (หน่วยกำหนดค่า)

var mySel \u003d app.activeDocument.selection;
   var go \u003d true;
   ถ้า (sel \u003d\u003d 0) (

หากไม่มีการเลือกอะไรความหนาต่ำสุดจะถูกตั้งค่าผ่านกล่องโต้ตอบ เราได้รับมาโดยใช้ฟังก์ชัน JavaScript มาตรฐาน - พร้อมรับคำ มันเปิดหน้าต่างที่มีเขตข้อมูลที่คุณสามารถป้อนค่าและใช้ในภายหลัง ไวยากรณ์ของฟังก์ชั่นมีดังนี้: ก่อนมีข้อความคำใบ้ที่จะแสดงในหน้าต่าง (คำนึงถึงการรวมกันของสคริปต์เราจะไม่ใช้อักษรซีริลลิกเพราะมันมักจะแสดงอย่างไม่ถูกต้อง) จากนั้นค่าที่จะเริ่มต้น มีสองข้อดีคือความสามารถในการตั้งค่าความหนาขั้นต่ำที่อนุญาตได้ทันทีและระบุค่าใด ๆ โดยการสร้างตัวแปรที่กำหนดค่าของฟังก์ชั่นพรอมต์จากนั้นคุณสามารถใช้มันเพื่อจุดประสงค์ของคุณเอง

มองไปข้างหน้าฉันทราบว่า Illustrator ไม่ได้ให้การเข้าถึงวัตถุทุกประเภทอย่างเต็มรูปแบบ - บางคนถูกทิ้งไว้ที่น้ำท่วม ดังนั้นเราจะให้การมองเห็นขององค์ประกอบคงที่ไม่เพียง แต่ยังไม่สามารถเข้าถึงสคริปต์เพื่อไม่ให้ค้นหาด้วยตนเอง - เพราะพวกเขายังสามารถมีวัตถุที่มีปัญหา เพื่อไม่ให้แสดงกล่องโต้ตอบสองกล่อง (สำหรับค่าความหนาและการพิจารณาองค์ประกอบที่จะเลือก) เราจะใช้ความสามารถในการประมวลผลสตริงของ JavaScript ความจริงก็คือเนื้อหาของเขตข้อมูลที่ผู้ใช้กรอกคือ“ สตริง” (บล็อกของข้อมูล) ซึ่งสามารถมีพารามิเตอร์จำนวนเท่าใดก็ได้ (ผ่านตัวคั่น) การรู้จักตัวคั่นค่าของแต่ละพารามิเตอร์สามารถแยกได้ง่ายจากสตริง

ดังนั้นข้อความที่ให้กล่องโต้ตอบจะเป็นดังนี้: การตั้งค่าความหนาของเส้นขอบต่ำสุดและหมายเลขที่มีเงื่อนไข:“ 1” หากคุณต้องการให้สคริปต์เพื่อเน้นองค์ประกอบที่ถูกต้องคือ“ 2” - สิ่งที่คุณไม่สามารถ“ เข้าถึง”

value \u003d prompt (“ ระบุขีดจำกัดความกว้างของจังหวะ (เป็น pt), \\ n สิ่งที่ต้องเลือก: วัตถุที่ถูกแก้ไข (1) หรือไม่สามารถเข้าถึงได้ (2)”,“ 0.25, 1”)

เริ่มแรกตั้งค่าฟิลด์เป็น 0.25 คะแนน (หน่วยวัดใน Illustrator ตามค่าเริ่มต้น) แต่เมื่อเปลี่ยนค่าจะใช้ค่าใหม่และ“ 1” ควรระบุ "2" ต่อเมื่อสคริปต์พบวัตถุที่ไม่สามารถเข้าถึงได้ (เราจะตรวจสอบให้แน่ใจว่ามีการส่งสัญญาณนี้เมื่อสิ้นสุดการทำงาน) และพวกเขาจะกลายเป็นไฮไลต์ซึ่งจะช่วยให้เราประหยัดจากการค้นหาด้วยตนเอง (เท่าที่คุณรู้การค้นหา Illustrator ในตัวทำให้เป็นที่ต้องการมาก)

เมื่ออ่านค่าจากเขตข้อมูลผู้ใช้แล้วเราจะพบว่าเราดำเนินการประมวลผลต่อไป ตรวจสอบว่าเขตข้อมูลนั้นว่างเปล่าจริง ๆ หรือไม่ (เครื่องหมาย“!” หมายถึงการปฏิเสธนั่นคือ“! \u003d” เทียบเท่ากับ“ ไม่เท่ากัน” เป็นคำที่ลงทะเบียนสำหรับค่าว่าง) หากมีบางอย่างในนั้นเราแบ่งสตริงออกเป็นบล็อกแยกโดยใช้ฟังก์ชันแยก JavaScript (เราจะกำหนดชุดอักขระ "," เป็นตัวคั่น) และใส่ค่าผลลัพธ์ลงในอาร์เรย์ splitString หลังจากนั้นเราจะให้ชื่อที่สื่อความหมายกับค่าจากอาเรย์ (อันแรกจะเป็นตัวกำหนดความหนาที่สอง - โหมดการทำงาน)

ถ้า (value! \u003d null) (
   splitString \u003d value.split (“,“);
   น้ำหนัก \u003d splitString;
   พิมพ์ \u003d splitString; )

หากไม่มีสิ่งใดในฟิลด์ผู้ใช้เราจะหยุดสคริปต์ วงเล็บปิดสุดท้ายคือเครื่องหมายของความสำเร็จของเงื่อนไขที่เราตั้งไว้ที่จุดเริ่มต้น (“ หากไม่มีการเน้นในเอกสาร”)

อื่น (go \u003d false)

หากวัตถุอ้างอิงนั้นถูกเลือกเป็นพิเศษ

ตอนนี้เราจะเขียนลำดับของการกระทำหากเราเลือกองค์ประกอบที่มีความหนาของเส้นขอบที่เราต้องการใช้เป็นค่าเกณฑ์ เราจะแสดงคำเตือนเกี่ยวกับการกระทำเพิ่มเติมของสคริปต์โดยใช้ฟังก์ชั่นการยืนยันมาตรฐาน (สร้างกล่องโต้ตอบที่มีสองปุ่ม - และ) หากคุณคลิก<Сancel>หยุดการทำงานหากคุณเห็นด้วยสคริปต์จะยังคงทำงานต่อไป

อื่น (selectedMsg \u003d ยืนยัน (“ ความกว้างของเส้นขีดของวัตถุที่เลือกจะถูกใช้เป็นเกณฑ์”)
   if (selectedMsg! \u003d true) (
   go \u003d false;
   ) อื่น ๆ (

เราส่งผ่านไปยังส่วนหลักของสคริปต์ เราไม่พิจารณาสถานการณ์อย่างรอบคอบเมื่อมีการเน้นวัตถุหลายรายการเนื่องจากการตั้งค่าความหนาของเส้นขอบก็เพียงพอที่จะเลือกเพียงวัตถุเดียว และสิ่งที่ฉันควรใช้ค่าถ้ามันจะแตกต่างกันสำหรับองค์ประกอบ? ดังที่เราทราบแล้ววัตถุที่เลือกไว้เท่านั้นที่จะมีดัชนีเป็น "0" และเพื่อให้ได้ความหนาที่เพิ่มขึ้น Illustrator มีคุณสมบัติเป็น เราจะคำนึงถึงว่าโดยหลักการแล้วการเลือกไม่เพียง แต่ประกอบด้วยองค์ประกอบแต่ละส่วน แต่ยังเป็นส่วนหนึ่งของข้อความ (เช่นเลือกโดยบังเอิญ) ซึ่งไม่รวมอยู่ในแผนของเราดังนั้นก่อนเริ่มงานให้ตรวจสอบความสามารถ JavaScript เพื่อเลือกประเภทขององค์ประกอบที่เลือก

ถ้า (sel isArray) (
   น้ำหนัก \u003d sel.strokeWidth;

เนื่องจากเราตกลงที่จะเลือกเฉพาะวัตถุที่เปลี่ยนแปลงเราจึงจำเป็นต้องลบการเลือกออกจากการอ้างอิงมากที่สุด (อ้างอิงถึงคุณสมบัติที่เลือก):

sel.selected \u003d false; )))

ตอนนี้เราพร้อมอย่างเต็มที่ที่จะทำงานหลักของสคริปต์ - ค้นหาออบเจ็กต์: ค่าที่จะใช้เป็นความหนาที่อนุญาตขั้นต่ำจะถูกเก็บไว้ในตัวแปร wei

พฤติการณ์

เปรียบเทียบกับคุณสมบัติที่คล้ายกันสำหรับวัตถุทั้งหมดในเอกสาร คุณสามารถดำเนินการค้นหาได้ทันที แต่การใช้สคริปต์ในงานประจำวันต้องคำนึงถึงสถานการณ์เพิ่มเติม - ในเลย์เอาต์มักจะมีทั้งเลเยอร์ที่ถูกล็อคและวัตถุแต่ละอย่าง ดังนั้นแม้ว่าการค้นหาจะใช้งานได้ แต่คุณไม่สามารถเปลี่ยนแปลงได้ เพื่อเพิ่มความมั่นใจในการตรวจสอบทั้งหมดเราได้เพิ่มการดำเนินการหลายอย่างให้กับสคริปต์: การตรวจสอบองค์ประกอบเพื่อให้สอดคล้องกับเกณฑ์ที่ระบุในเวลาเดียวกันปลดล็อคหากจำเป็นและจำดัชนีเพื่อให้การตรวจสอบเสร็จสมบูรณ์ เราแนะนำตัวแปรสองตัว: ตัวแรกสำหรับการลดการเข้าถึงเลเยอร์ทั้งหมดในเอกสารและครั้งที่สองที่เราเข้าถึงเฉพาะกับตัวล็อค เราจะจัดเก็บหมายเลขซีเรียลของลำดับสุดท้ายในอาร์เรย์ซึ่งเราสร้างขึ้นด้วยฟังก์ชัน JavaScript - new Array ()

var dL \u003d activeDocument.layers;
   var blokedLayers \u003d อาร์เรย์ใหม่ ();

จากนั้นเราจะดูเลเยอร์ทั้งหมดและสำหรับล็อก (คุณสมบัติถูกล็อก \u003d จริง) เราจะป้อนหมายเลขซีเรียลลงในอาร์เรย์ blokedLayers (โดยใช้ฟังก์ชั่นการกดจาก JavaScript) หลังจากนั้นเราจะอนุญาตให้แก้ไขได้ (ล็อก \u003d เท็จ)

ถ้า (go \u003d\u003d จริง) (
   สำหรับ (i \u003d 0; i if (dL [i] .locked \u003d\u003d จริง) (
   blokedLayers.push (i);
   dL [i] .locked \u003d false; ก่อนหน้านี้เราตกลงที่จะเน้นวัตถุที่คงที่ แต่หลังจากสคริปต์ทำงานบนเลเยอร์ที่ล็อคเสร็จแล้วเราจะไม่สามารถทำสิ่งนี้ได้ - เราต้องแสดงคำเตือนที่เหมาะสม หากต้องการทำสิ่งนี้ให้ใช้แอตทริบิวต์ lockedPresence ซึ่งจะถูกตั้งค่าหากมีเลเยอร์อย่างน้อยหนึ่งชั้นถูกล็อค

lockedPresence \u003d จริง;

เราจะทำซ้ำเช่นเดียวกันกับองค์ประกอบล็อคแต่ละ ในกรณีที่ง่ายที่สุดก็เพียงพอที่จะตรวจสอบองค์ประกอบเวกเตอร์ทั้งหมด (class pathItems) ซึ่งรวมถึงเส้นทางผสมเป็นคลาสย่อยดังนั้นจึงไม่มีสิ่งใดหนีสายตาที่มองเห็นได้ของสคริปต์

ข้อผิดพลาด

นอกเหนือจากสถานการณ์ที่พิจารณาด้วยการบล็อกแล้วยังมี“ อันตราย” อีกประการหนึ่ง ดังที่ได้กล่าวไปแล้วองค์ประกอบบางอย่าง (โดยเฉพาะอย่างยิ่งกลุ่ม Blend และซองจดหมาย) ไม่ใช่ "native" สำหรับ Illustrator แต่เป็นของ pluginItem ชนิดพิเศษ ในขณะเดียวกัน Illustrator ไม่ได้ให้การเข้าถึงวัตถุดังกล่าวพวกเขาเป็น "สิ่งในตัวเอง" คุณสามารถ“ เข้าถึง” พวกเขาผ่านคลาสที่สูงกว่า - pageItems ซึ่งอย่างน้อยเราก็สามารถกำหนดสถานะของพวกเขาและแสดงคำเตือนในตอนท้าย มันจะบอกว่าโดยการเรียกใช้สคริปต์อีกครั้งและระบุ“ 2” เป็นพารามิเตอร์ที่สองในช่องใส่มันจะเน้น“ กล่องดำ” เหล่านี้

pgI \u003d activeDocument.pageItems;

ในการจัดเก็บดัชนีของวัตถุที่ถูกบล็อกให้สร้างอาร์เรย์ที่ชื่อว่า blokedPathes และเพื่อคำนวณจำนวนของวัตถุที่เปลี่ยนแปลงเราจะแนะนำตัวแปรที่ถูกแก้ไข

bloсkedPathes \u003d new Array ();
   แก้ไข \u003d 0;

สำหรับวัตถุทั้งหมดเราจะตรวจสอบว่าเป็นของประเภท PluginItem (คุณสมบัติ typename): ถ้ามีให้ตั้งค่าสถานะ pluginItemExist (สถานะของมันจะกำหนดเอาท์พุทคำเตือนเกี่ยวกับการปรากฏตัวขององค์ประกอบดังกล่าว) ในกรณีของการตรวจสอบซ้ำ (เมื่อพารามิเตอร์ตัวที่สองในช่องป้อนข้อมูลคือ "2") เราจะเลือกพวกเขา:

สำหรับ (i \u003d 0; i< pgI.length; i++) {
   if (pgI [i] .typename \u003d\u003d“ PluginItem”) (
   pluginItemExist \u003d true
   if (type \u003d\u003d“ 2”) (pgI [i] .selected \u003d true)

ดังนั้นทุกสถานการณ์ (หรือเกือบทั้งหมด) ที่เป็นไปได้ที่เกิดขึ้นในการทำงานเราได้เล็งเห็นและระบุการกระทำสำหรับพวกเขา

ตรวจสอบขั้นพื้นฐาน

ตอนนี้ถึงคราวต้องตรวจสอบเค้าโครงเพื่อให้สอดคล้องกับเกณฑ์การเลี้ยวที่ระบุ เราพิจารณาว่าในบรรดาวัตถุอาจมีสิ่งที่ไม่มีขอบ (กำหนดโดยสถานะของคุณลักษณะ stroked) - ดังนั้นพวกเขาจะต้องแยกออกจากการสแกน

ถ้า ((pgI [i] .strokeWidth< weight)&&(pgI[i].stroked)) {
   ถ้า (pgI [i] .locked \u003d\u003d จริง) (
   blokedPathes.push (i);
   pgI [i] .locked \u003d false;

ส่วนรหัสนี้สามารถตีความได้ดังนี้: เรากำหนดสถานะของเส้นขอบและความหนาของมันสำหรับแต่ละองค์ประกอบ ถ้ามันน้อยกว่าค่าต่ำสุด (ถ้า (pI [i] .strokeWidth< weight), и объект заблокирован, его индекс занести в специально созданный для такой цели массив blokedPathes, после чего разблокировать для внесения возможных изменений. Знак && обозначает логическое «И» (обязательное совпадение двух условий) — толщины меньше минимальной и присутствия окантовки.

จากนั้นเราจะแก้ไขการปรากฏตัวของวัตถุที่ถูกบล็อก (เราตั้งค่าสถานะ lockPresence เพื่อแสดงคำเตือนในอนาคตที่ไม่สามารถเน้นวัตถุที่เปลี่ยนแปลงทั้งหมดได้) และเลือกสิ่งที่ถูกแก้ไขและกำหนดค่าขีด จำกัด ให้กับเส้นขอบ - และอื่น ๆ สำหรับองค์ประกอบทั้งหมด สำหรับสถิติเราจะคำนวณจำนวนของวัตถุที่ถูกเปลี่ยนพร้อมกัน

lockedPresence \u003d จริง;
   pgI [i] .selected \u003d true;
   pgI [i] .strokeWidth \u003d weight;
   แก้ไข ++;

ขั้นตอนในการเน้นองค์ประกอบที่ไม่ผ่านการตรวจสอบ (type \u003d "2") ได้รับการพิจารณาก่อนหน้านี้ ตอนนี้เรากำหนดสิ่งที่ควรเกิดขึ้นในสถานการณ์มาตรฐาน - ด้วยการค้นหาวัตถุที่อาจเป็นปัญหาตามปกติ

if (type \u003d“ 1”) (pgI [i] .selected \u003d true)

กู้คืนสถานะรายการที่ถูกบล็อก

เราทำงานหลักเสร็จ - วัตถุที่มีปัญหาได้รับการแก้ไขและเน้น มันยังคงอยู่เพื่อเรียกคืนสภาพที่เป็นอยู่ - ทั้งหมดถูกบล็อกเริ่มแรกเพื่อกลับสู่สถานะก่อนหน้า ในการทำเช่นนี้ในวัฏจักรปัจจุบันเราอ่านเนื้อหาของอาเรย์ที่เก็บดัชนีของวัตถุที่ถูกล็อคและตั้งค่าแอททริบิวล็อค \u003d จริงสำหรับแต่ละองค์ประกอบที่สอดคล้องกัน (วิธีการเลื่อนแสดงค่าสุดท้ายที่ป้อนเข้าไปในอาร์เรย์จากอาร์เรย์) เนื่องจากจำนวนวัตถุทั้งหมดมากกว่าบล็อกต้องใช้ความระมัดระวังเพื่อให้ครบวงจรการสแกนหลังจากล้างอาร์เรย์

if (blokedPathes.length\u003e 0) (
   สืบค้นแล้ว \u003d blokedPathes.shift ();
   pI.locked \u003d true;))

จากนั้นเราจะดำเนินการคล้ายกับเลเยอร์:

สำหรับ (i \u003d 0; i if (blokedLayers.length\u003e 0) (
   ดึง \u003d blokedLayers.shift ();
   dL.locked \u003d true; )) ในความเป็นจริงสำหรับการดำเนินการที่คล้ายกันจะสะดวกกว่าในการใช้ฟังก์ชั่น ข้อได้เปรียบของพวกเขาคือเมื่อคุณอธิบายการกระทำบางอย่างคุณสามารถทำซ้ำได้อย่างสมบูรณ์เพียงแค่เรียกใช้ฟังก์ชันในสถานที่ที่เหมาะสม ด้วยวิธีนี้ความกะทัดรัดและการอ่านของสคริปต์จะทำได้ เพื่อเพิ่มความยืดหยุ่นของฟังก์ชั่นค่า (พารามิเตอร์) ที่ใช้ในมันจะถูกส่งผ่าน หากคุณไม่ต้องการใช้ฟังก์ชันให้ข้ามสองย่อหน้าถัดไป

มาสร้างฟังก์ชั่นสองอย่างกันอันแรก - ปลดล็อคเลเยอร์และวัตถุที่สอง - คืนค่าแอตทริบิวต์ เฉพาะประเภทวัตถุ (คลาส Layers และ pageItems) และอาร์เรย์สำหรับการบันทึกองค์ประกอบที่น่าสนใจสำหรับเรา (blokedLayers และ blokedPathes) เท่านั้นที่จะมีการเปลี่ยนแปลงซึ่งจะปรากฏเป็นพารามิเตอร์ฟังก์ชัน เราเขียนอันแรกเช่นนี้:

ฟังก์ชั่นปลดล็อค (อาร์เรย์, itemType)
   ถ้า (itemType [i] .locked \u003d\u003d จริง) (
   array.push (i);
   itemType [i] .locked \u003d false;
   ล็อค \u003d false;
}

แทนที่จะเป็นอาเรย์เราจะแทนที่อาเรย์แทน itemType - คลาสที่จำเป็น จากนั้นเราจะได้รับสองสาย - ปลดล็อค (บล็อคเลเยอร์, \u200b\u200bdL) และปลดล็อค (blokedPathes, pgI) ในทำนองเดียวกันเราเขียนฟังก์ชั่นเพื่อเรียกคืนสถานะ:

คืนค่าฟังก์ชัน (อาร์เรย์, itemType)
   if (array.length\u003e 0) (
   ดึง \u003d array.shift ();
   itemType.locked \u003d true;
}

แสดงข้อมูลเกี่ยวกับผลลัพธ์ของการตรวจสอบ

นี่คือขั้นตอนสุดท้ายของสคริปต์ อันดับแรกเรากำหนดเงื่อนไขในการแสดงข้อความหากเลือกการค้นหาวัตถุที่ไม่สามารถแก้ไขได้จากนั้นเงื่อนไขการเตือนว่าตรวจพบวัตถุดังกล่าว:

if (type \u003d\u003d“ 2”) (b \u003d“ \\ n เลือกที่ถูกต้อง!”)
   if (pluginItemExist \u003d\u003d จริง) (
   การแจ้งเตือน (“ เนื่องจากข้อ จำกัด การเขียนสคริปต์วัตถุบางอย่างไม่สามารถได้รับผลกระทบ” + b))

ตรรกะของการออกคำเตือนว่าไม่สามารถเน้นคำที่ถูกต้องได้ทั้งหมดมีดังนี้:

if ((lockedPresence \u003d\u003d true) && (pluginItemExist \u003d\u003d false)) (
   คำเตือน \u003d“ \\ n เพราะบางส่วนถูกล็อคพวกเขาไม่สามารถแสดงได้ตามที่เลือก”)

จากนั้นเราจะได้ผลลัพธ์สุดท้าย:

การแจ้งเตือน (“ จำนวนวัตถุที่แก้ไขคือ:“ + แก้ไข + คำเตือน)

ในความเป็นจริงนี่คือสคริปต์ทั้งหมด อย่างที่คุณเห็นบรรทัดสองสามบรรทัดนี้มีงานจำนวนมหาศาลซึ่งแทบไม่มีใครกล้าทำด้วยตนเอง สคริปต์จะถูกดำเนินการทันที (ในโครงการขนาดใหญ่ที่มีจำนวนองค์ประกอบตามลำดับหลายพันประสิทธิภาพของโปรเซสเซอร์จะเริ่มส่งผลกระทบ) คุณต้องเลือกจากรายการของรายการที่มีอยู่ (คุณไม่สามารถทำได้ - Illustrator อนุญาตให้สคริปต์กำหนด "ปุ่มลัด") ด้วยคำสั่ง Edit.Keyboard shortcuts.Menu command.Scripts แต่หมายเหตุ: ชื่อของสคริปต์จะถูกจัดเรียงตามตัวอักษรดังนั้นการเพิ่มใหม่หรือการลบเก่าสามารถนำไปสู่การกำหนดคีย์ให้กับสคริปต์ที่อยู่ใกล้เคียง สรุป: หลังจากเปลี่ยนแปลงโฟลเดอร์ Presets \\ Scripts ให้ตรวจสอบความสอดคล้องของปุ่มต่างๆ

เราพยายามทำให้สคริปต์เป็นสากลซึ่งส่งผลต่อปริมาณ ในรุ่นดั้งเดิมที่สุด (โดยไม่คำนึงถึงคุณสมบัติและข้อผิดพลาดที่อธิบายไว้ข้างต้น) ใช้ตัวอักษรสองบรรทัด:

minWidth \u003d activeDocument.selection.strokeWidth;
   pI \u003d activeDocument.pathItems;
   สำหรับ (i \u003d 0; i< pI.length; i++) {
   ถ้า ((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 Scripts" แทนที่จะเป็น en_US อาจมีโฟลเดอร์อื่นที่มีการแปล Localization Illustrator มีอยู่ในโฟลเดอร์นั้น

หลังจากที่คุณวางสคริปต์ในโฟลเดอร์แล้วคุณสามารถเรียกใช้งานได้โดยใช้วิธีมาตรฐานซึ่งจะเปิดใช้งานผ่าน "ไฟล์ -\u003e สคริปต์" รายการสคริปต์ของคุณจะอยู่ในเมนูแบบเลื่อนลงคลิกที่สคริปต์ใดก็ได้และคุณจะเรียกใช้สคริปต์ แม้ว่าสคริปต์ของคุณจะอยู่ในโฟลเดอร์อื่นคุณยังสามารถเรียกใช้สคริปต์และในหลายวิธี:

  1. ไปที่เมนู "ไฟล์ -\u003e สคริปต์ -\u003e สคริปต์อื่น ... " ผู้สำรวจจะเปิดขึ้นหลังจากนั้นคุณต้องค้นหาไฟล์สคริปต์แล้วเรียกใช้สคริปต์
  2. คุณสามารถลากและวางสคริปต์จาก Explorer ไปยัง Illustrator หลังจากนั้นสคริปต์จะเริ่มทำงาน
  3. คุณสามารถใช้ส่วนขยายเพื่อเรียกใช้สคริปต์ - นี่คือพาเนลสำหรับ Illustrator ซึ่งช่วยให้คุณเรียกใช้สคริปต์ได้โดยตรงจากโปรแกรม มีหลายนามสกุลดังกล่าว ฉันแนะนำให้ใช้ LAScripts

Harmonizer

สคริปต์สำหรับการจัดองค์ประกอบในตาราง

เลือกวัตถุเรียกใช้สคริปต์เลือกจำนวนคอลัมน์ (เส้นจะถูกคำนวณโดยอัตโนมัติ) เลือกระยะห่างระหว่างองค์ประกอบเช่นเดียวกับพวกเขาอยู่ตรงกลาง (โดยค่าเริ่มต้นองค์ประกอบที่ใหญ่ที่สุดจะถูกเลือก)

ArtboardsResizeWithObjects

สคริปต์สำหรับปรับขนาดกระดานภาพพร้อมกับเนื้อหา

ใน Adobe Photoshop มีฟังก์ชั่น "ขนาดภาพ" เพื่อเปลี่ยน artboard พร้อมกับเนื้อหา แต่ใน Adobe Illustrator ไม่มีฟังก์ชั่นดังกล่าวนอกกรอบ บางครั้งอาจจำเป็นต้องเปลี่ยนกระดานภาพพร้อมกับเนื้อหาเพื่อที่ว่าหลังจากการเปลี่ยนแปลงสถานะทั้งหมดจะถูกเก็บรักษาไว้

สมมติว่าคุณตัดสินใจเปลี่ยน artboard ด้วยมือของคุณลำดับของการกระทำของคุณ: เปลี่ยน artboard แล้วคุณเลือกองค์ประกอบทั้งหมดบน artboard และเปลี่ยนขนาด แต่เพียงปัญหาเดียวที่ปรากฏขึ้นที่นี่ หากคุณมีองค์ประกอบที่มีจังหวะแล้วถ้าคุณเปลี่ยนมือของคุณจังหวะจะไม่ลดลงพร้อมกับการลดของวัตถุ แต่คุณสามารถแก้ไขได้โดยทำเครื่องหมายที่ช่อง“ Scale strokes และเอฟเฟกต์” แต่ถ้าคุณต้องการปรับขนาดหลายกระดาน หากต้องการทำให้ง่ายขึ้นและประหยัดเวลาให้ใช้สคริปต์ artboardsResizeWithObjects.jsx


  • ปัจจัยขนาดใหม่   - สเกลของ artboard เป็นเปอร์เซ็นต์
  • ใหม่ความกว้างของบอร์ด   - ความกว้างใหม่ของบอร์ดศิลปะความสูงจะเปลี่ยนตามสัดส่วน
  • ใหม่ความสูงของบอร์ด   - ความสูงใหม่ของ artboard ความกว้างจะเปลี่ยนตามสัดส่วน
  • บอร์ดอาร์ตที่ใช้งานเท่านั้น   - เปลี่ยนเฉพาะ artboard ที่ใช้งานอยู่
  • ผลงานทั้งหมด   - เปลี่ยนงานศิลปะทั้งหมด
  • กระดานศิลปะที่กำหนดเอง   - เปลี่ยน artboards โดยพลการคุณสามารถเขียนเป็นเครื่องหมายจุลภาคหรือเป็นเครื่องหมายยัติภังค์ (เช่นเมื่อคุณระบุหน้าเมื่อพิมพ์)
  • รวมรายการที่ซ่อนและถูกล็อค   - คำนึงถึงองค์ประกอบที่ถูกล็อคและซ่อนอยู่
  • ฟิลด์อินพุตสำหรับขนาด   - โดยค่าเริ่มต้นความกว้างของภาพตัดปะที่ใช้งานอยู่จะถูกนำมาใช้

ArtboardsRotateWithObjects

สคริปต์เพื่อหมุนกระดานภาพพร้อมกับเนื้อหา

ใน Adobe Photoshop คุณสามารถหมุน artboard และเนื้อหาจะหมุนได้เช่นกัน แต่ใน Adobe Illustrator ไม่มีฟังก์ชั่นดังกล่าวจากกล่อง

สคริปต์นี้จะมีประโยชน์หากคุณจำเป็นต้องหมุนหลายกระดานหรือถ้าคุณไม่ต้องการเสียเวลาในการปรับตำแหน่งเมื่อเทียบกับกระดานหลังหลังจากหมุนแล้ว


คำอธิบายสั้น ๆ ของแต่ละรายการในสคริปต์:

  • บอร์ดอาร์ตที่ใช้งานอยู่ #   - หมุนเฉพาะบอร์ดอาร์ตที่ใช้งานอยู่
  • ผลงานทั้งหมด   - หมุนกระดานศิลปะทั้งหมด
  • มุมการหมุน 90 CW   - หมุนพื้นที่ติดตั้งตามเข็มนาฬิกา
  • มุมการหมุน 90 CCW   - หมุนพื้นที่ติดตั้งทวนเข็มนาฬิกา

InlineSVGToAI

สคริปต์เพื่อแทรก svg (และแปลงรหัส svg) ลงในเอกสาร

ในเวอร์ชันของ Adobe Illustrator CC 2018 v.22.1 (มีนาคม, 2018) ความสามารถในการแทรกวัตถุ svg ถูกเพิ่มสคริปต์ในกรณีนี้ไม่จำเป็นต้องใช้

ฉันรำคาญเสมอที่ svg ไม่สามารถวางลงในโปรแกรมที่เชี่ยวชาญในเวกเตอร์ได้ฉันหมายถึงถ้าเราคัดลอกรหัส svg จากบรรณาธิการหรือจากที่อื่น แต่ในรูปแบบของข้อความเราจะไม่สามารถวางลงในโปรแกรมได้ คุณจะต้องบันทึกรหัสในไฟล์ก่อนหลังจากเปิดไฟล์ใน Illustraor แล้วให้คัดลอกเนื้อหาและวางลงในเอกสารที่ต้องการ การกระทำที่ไม่จำเป็นมากมายใช่ไหม?

เพื่อกำจัดความเข้าใจผิดนี้ฉันเขียนสคริปต์ที่จะสร้างไฟล์โดยอัตโนมัตินำเข้าเนื้อหาลงในเอกสารของคุณแล้วลบออก กล่าวคือ สคริปต์ทำสิ่งเดียวกัน แต่โดยไม่ต้องมีส่วนร่วมของเราและไม่จำเป็นต้องใช้เวลากับมัน


คำอธิบายสั้น ๆ ของแต่ละรายการในสคริปต์:

  • ง่ายมาก - วางเนื้อหาลงในฟิลด์แล้วคลิก "วาง"

ปัตตาเลี่ยนปริศนา


สคริปต์เพื่อสร้างปริศนาตามวัตถุ

สคริปต์สร้างกลุ่มที่มีมาสก์การตัดองค์ประกอบที่จะ "แปรรูป" เป็นวัตถุที่ต่ำที่สุดของกลุ่มที่เลือก โหมดการทำงานหากคุณมีกลุ่มที่ด้านบนและวัตถุที่อยู่ด้านล่างแล้วองค์ประกอบทั้งหมดในกลุ่มจะถูกแปลงเป็นกลุ่มที่มีรูปแบบการตัดและวัตถุจากด้านล่างของคนที่เลือก สคริปต์ไม่มีส่วนต่อประสานเพียงเลือกองค์ประกอบที่คุณต้องการและเรียกใช้สคริปต์


ReplaceItems

สคริปต์สำหรับแทนที่วัตถุด้วยต้นฉบับวัตถุจากกลุ่มหรือจากคลิปบอร์ด

ตัวอย่างเช่นคุณต้องแทนที่องค์ประกอบบางอย่างในเค้าโครง แต่แทนที่ด้วยมือของคุณเป็นเวลานานคุณสามารถใช้สคริปต์นี้เพื่อแทนที่เพียงแค่เลือกองค์ประกอบที่คุณต้องการคัดลอกจากนั้นเรียกใช้สคริปต์เลือก "วัตถุบัฟเฟอร์"

นอกจากนี้สคริปต์ยังสามารถหมุนองค์ประกอบแต่ละรายการโดยไม่ได้ตั้งใจใช้ขนาดขององค์ประกอบที่ถูกแทนที่เติมและคุณยังไม่สามารถลบองค์ประกอบเดิมได้


คำอธิบายสั้น ๆ ของแต่ละรายการในสคริปต์:

  • Object in buffer - วัตถุอยู่ในคลิปบอร์ด
  • วัตถุยอดนิยม - วัตถุเป็นคนแรกจากรายการที่เลือก
  • ทั้งหมดในกลุ่ม (สุ่ม) - สุ่มเลือกวัตถุจากกลุ่ม
  • ฟิลด์สเกล - สเกลขององค์ประกอบที่แทรก
  • แทนที่รายการในกลุ่มหรือไม่ - มีรายการที่ถูกแทนที่ในกลุ่มหรือไม่ (หากองค์ประกอบที่จำเป็นต้องเปลี่ยนอยู่ในกลุ่มให้ทำเครื่องหมายที่ช่องนี้มิฉะนั้นทั้งกลุ่มจะถูกแทนที่และไม่ใช่ทุกองค์ประกอบจากกลุ่ม)
  • คัดลอกความกว้างและความสูง - คัดลอกค่าความกว้างและความสูงจากองค์ประกอบที่ถูกแทนที่
  • บันทึกองค์ประกอบดั้งเดิม - บันทึก (อย่าลบ) องค์ประกอบที่แทนที่
  • คัดลอกสีจากองค์ประกอบ - คัดลอกส่วนเติมจากองค์ประกอบที่ถูกแทนที่
  • การหมุนองค์ประกอบแบบสุ่ม - หมุนแต่ละองค์ประกอบแบบสุ่ม

CreateArtboardsFromTheSelection

สคริปต์สำหรับการสร้างบอร์ดขึ้นอยู่กับองค์ประกอบที่เลือก

สคริปต์จะสร้างกระดานข้อมูลขึ้นอยู่กับองค์ประกอบที่เลือกรวมถึงแต่ละรายการที่เลือก


คำอธิบายสั้น ๆ ของแต่ละรายการในสคริปต์:

  • แต่ละรายการในส่วนที่เลือก - สร้างสำหรับคอลเลกชันองค์ประกอบที่เลือก
  • ขอบเขตการเลือกเท่านั้น - สร้างอาร์ทบอร์ดตามการเลือก
  • รายการขอบเขต Vsible - ขอบรายการที่มองเห็นได้
  • รายการขอบเขตเรขาคณิต - เส้นขอบขององค์ประกอบเรขาคณิต

TransferSwatches

สคริปต์เพื่อนำเข้าแถบสีจากเอกสารไปยังเอกสารที่ใช้งานอยู่

เรียกใช้สคริปต์เลือกเอกสารจากรายการคุณยังสามารถทำเครื่องหมายในช่องเพื่อเปลี่ยนสีที่มีชื่อเดียวกัน


ArtboardItemsMoveToNewLayer

สคริปต์ที่วางเนื้อหาของ artboard ไปยังเลเยอร์ใหม่

เรียกใช้สคริปต์เลือกบอร์ดคุณยังสามารถเลือก "ลบเลเยอร์และเลเยอร์ย่อย" และ "เลเยอร์ชื่อจากชื่อบอร์ด"


Adobe Illustrator มีเครื่องมือและคุณสมบัติมากมาย แต่จะมีบางสิ่งที่ขาดหายไปสำหรับผู้ใช้ขั้นสูง ดังนั้นนักพัฒนาจึงสร้างสคริปต์และปลั๊กอินที่จะช่วยแก้ปัญหางานที่หลากหลายและเร่งกระบวนการที่ต้องใช้แรงงานมาก วันนี้เราได้เตรียมภาพรวมของสคริปต์ฟรีที่ดีที่สุดสำหรับ Illustrator รายการของพวกเขาถูกจัดระบบและแบ่งออกเป็นหลายกลุ่มตามหน้าที่การใช้งาน การทำงานกับพา ธ และจุดการกระจายรูปแบบต่าง ๆ การสร้างวัตถุการทำงานกับแผงเลเยอร์วัตถุข้อความสี ฯลฯ

ติดตั้งและเรียกใช้สคริปต์

คุณต้องติดตั้งสคริปต์ในโฟลเดอร์ต่อไปนี้:

สำหรับ ของ windows: C: \\ Program Files \\ Adobe \\ Adobe Illustrator CC 2014 \\ Presets \\ en_GB \\ Scripts

สำหรับ Mac OS: แอปพลิเคชัน / Adobe \\ Adobe Illustrator CC 2014 \\ Presets \\ en_GB \\ Scripts

หากต้องการเรียกใช้สคริปต์ให้ไปที่ไฟล์\u003e สคริปต์\u003e ...

นอกจากนี้คุณยังสามารถวางสคริปต์ไว้ในที่ ๆ สะดวกบนฮาร์ดไดรฟ์ของคุณ ในกรณีนี้หากต้องการเรียกใช้สคริปต์ให้ไปที่ไฟล์\u003e สคริปต์\u003e สคริปต์อื่น ๆ ... (Cmd / Ctrl + F12)

หากคุณใช้สคริปต์บ่อยๆการเริ่มต้นที่สะดวกคุณจะมีประโยชน์ ปลั๊กอินฟรีนี้ช่วยให้สามารถเข้าถึงสคริปต์จากแผงควบคุมซึ่งสามารถวางไว้ในที่ที่สะดวกเสมอ

ตอนนี้เรามาดูรายการสคริปต์ซึ่งแบ่งตามการทำงาน:

สคริปต์สำหรับการทำงานกับพา ธ จุดและหมายเลขอ้างอิง

สคริปต์นี้หมุนจุดจับของจุดควบคุมเปลี่ยนความยาวเท่ากัน หลังจากรันสคริปต์คุณมีโอกาสเลือกหนึ่งในห้าประเภทของการจัดการจากนั้นตั้งค่าพารามิเตอร์สำหรับความยาวและมุม

สคริปต์นี้สร้างดอกไม้จากรูปร่างปกติ เหมาะสำหรับการสร้างรูปแบบโลโก้และอื่น ๆ ที่น่าสนใจ

สคริปต์จะลบจุดที่ทับซ้อนกันและรายงานจำนวนที่ถูกลบ

สคริปต์ปิดเส้นทางที่เปิดอยู่ในเอกสารปัจจุบัน ไม่เชื่อมต่อเส้นทางการสัมผัส

สคริปต์จะเปลี่ยนทิศทางของเส้นทางที่เลือกตามทิศทางของส่วนบน นั่นคือหลังจากใช้สคริปต์เส้นทางที่เลือกทั้งหมดจะมีทิศทางเดียว

สคริปต์จะคัดลอกวัตถุสูงสุดที่ตำแหน่งและขนาดของวัตถุอื่น ยากที่จะอธิบายและง่ายต่อการดูรูปด้านล่าง

สคริปต์การกระจายวัตถุ

สคริปต์เติมแบบฟอร์มด้วยแวดวง

สคริปต์วางวัตถุในระยะทางเดียวกันตามเส้นทางที่เลือก คุณสามารถกระจายวัตถุที่อยู่ในกลุ่มหนึ่งกลุ่มขึ้นไป

สคริปต์จะทำสำเนาวัตถุด้านบนและวางสำเนาที่จุดที่เลือก

สคริปต์จะหมุนวัตถุไปที่กึ่งกลางของวัตถุส่วนบน

สคริปต์หมุนวัตถุทั้งหมดไปยังตำแหน่งของวัตถุด้านบน

สคริปต์ทำให้สามารถแบ่งพื้นที่ของวัตถุเวคเตอร์ตามข้อมูลที่สามารถแสดงในเงื่อนไขแบบสัมบูรณ์หรือเปอร์เซ็นต์

สคริปต์จะสร้างภาพสะท้อนตามประเภทที่เลือกจากแผงควบคุม

สคริปต์ที่สร้างวัตถุตามวัตถุหรือข้อมูลอื่น

สคริปต์รวมฟอร์มในรูปแบบของเมตาบอล (คุณรู้จักชื่อรัสเซียสำหรับฟอร์มดังกล่าวหรือไม่ฉันไม่ได้)

สคริปต์สร้างแทนเจนต์ทั่วไป (เป็นไปได้ทั้งหมด) ไปยังวัตถุที่เลือก

สคริปต์สร้างคำแนะนำจากจุดที่เลือกไปยังส่วนโค้งที่เลือก

สคริปต์อนุญาตให้คุณสร้างรหัส QR ใน Illustrator

ด้วยสคริปต์นี้คุณสามารถสร้างตารางปฏิทินโดยอัตโนมัติเพียงไม่กี่คลิก ภาษาที่รองรับ: EN, RU, DE, UA

สคริปต์ที่มีพารามิเตอร์แบบสุ่ม

สคริปต์เลือกวัตถุตามลำดับแบบสุ่มตามหมายเลขที่ระบุ

สคริปต์ RandomSwatchesFill สุ่มสีของวัตถุที่เลือกในสีที่เลือกในจานสี Swatches

สคริปต์ RandOpacity เปลี่ยนความโปร่งใสของวัตถุที่เลือกโดยการสุ่มในช่วงจาก 0% ถึง 100% ของความโปร่งใสดั้งเดิมของวัตถุ

สคริปต์จะเปลี่ยนมุมไล่ระดับสีเชิงเส้นของวัตถุที่เลือกทั้งหมดตามลำดับแบบสุ่ม

สคริปต์การสั่งซื้อแบบสุ่มช่วยให้คุณสามารถแจกจ่ายวัตถุในลำดับแบบสุ่มในแผงเลเยอร์ ฉันใช้สคริปต์นี้เมื่อเขียน

สคริปต์สำหรับทำงานในแผงเลเยอร์

สคริปต์จะลบเลเยอร์ที่ว่างเปล่าทั้งหมดในเอกสารปัจจุบัน

คุณมีโอกาสที่ไม่ซ้ำใครในการขยายการทำงานของ Adobe Illustrator ไม่มีอะไรง่ายกว่าการใช้สคริปต์ (ไฟล์สคริปต์) เพียงแค่เลือกวัตถุและเรียกใช้สคริปต์ที่คุณต้องการ สคริปต์ที่นำเสนอในบทความนี้จะช่วยให้คุณประหยัดเวลาได้มากทำให้การทำงานของคุณสนุกและมีประสิทธิภาพมากขึ้น เชื่อฉันสิพวกเขาควรค่ากับความสนใจของคุณ สคริปต์ทั้งหมดได้รับการทดสอบใน Illustrator รุ่น CS3 และ CS4

หากคุณต้องการโปรแกรมเสริม Illustrator คุณภาพสูงคุณสามารถค้นหาได้ในส่วน Illustrator Actions and Scripts ของทรัพยากร GraphicRiver ของเราเช่น: Isometric Guides Grid Action (แอ็คชั่นตาข่าย isometric), Maker แบบและยาว แอ็คชั่นเงา

   Best Actions (Operations) และสคริปต์สำหรับ Illustrator บน Graphic River

มิฉะนั้นใช้ "สารพัด" ฟรีที่เราจะบอกคุณตอนนี้ ก่อนอื่นเรามาดูวิธีการติดตั้งสคริปต์สำหรับ Illustrator

การติดตั้งสคริปต์

ขอแนะนำให้บันทึกสคริปต์ที่คุณจะใช้ในที่เดียวกันเสมอตัวอย่างเช่นในไดเรกทอรี Scrips หากต้องการเรียกใช้สคริปต์ให้ไปที่ไฟล์\u003e สคริปต์\u003e สคริปต์อื่น (คำสั่ง + F12) (ไฟล์\u003e สคริปต์\u003e สคริปต์อื่น ๆ )

เปิดไดเรกทอรีที่มีสคริปต์และเรียกใช้ไฟล์ที่ต้องการ

แบ่งปันสิ่งนี้