Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Automate color Swatches object

Participant ,
Jan 08, 2023 Jan 08, 2023

I'm looking for a way to automate a task in illustrator

I have several files with colours pallets and swatches, mostly gradients ( I mean thousands of them)

 

Id like my scrip to do this :
- create a grid of 100 x 100 pixel squares spaced by 20 pixels each 

 assign each square to a different swatches


so the end result will be a grid of squares,  with each one of them has a different swatches that reflect my Swatch panel library for this document

is it possible to automate this via actions or scripts ?  it is out of my knowledge base and I haven't found any automation process on YouTube or elsewhere  on the internet

Thx

Ps here is an example where I did it manually by selecting a shape and clicked on a swatch


-
www.instagram.com/mugen_labz/
TOPICS
Scripting
639
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Guide , Jan 08, 2023 Jan 08, 2023
var doc = app.activeDocument;
var n = doc.swatches.length - 2;
var counter = 2;
var w = h = 100;
var top = 0;
for (var i = 0; i < n / 10; i++) {
    var left = 0;
    for (var j = 0; j < 10; j++) {
        if (counter < n + 2) {
            var square = doc.pathItems.rectangle(top, left, w, h);
            square.fillColor = doc.swatches[counter].color;
            counter += 1;
            left += w + 20;
        }
    }
    top -= h + 20;
}
Translate
Adobe
Participant ,
Jan 08, 2023 Jan 08, 2023

EDIT : 
the script from John Wundes renderSwatchLegend.jsx seems to be very close to what I'm trying to archive. 

Exept that it will create swatches extracted from physical obj on the canvas. 
While in my case, I have no objects in the file, only swatches, and I want to create the objects and assign each of them to a different swach. 

any tips ? 


-
www.instagram.com/mugen_labz/
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jan 08, 2023 Jan 08, 2023

Do you know how many total squares you need? Can you fill a page with more and go back and delete.

Record an action to make one square then duplicate to the right, select all then power duplicate (Command D).

Screen Shot 2023-01-08 at 10.17.57 AM.jpg

 

After that run your script for random colors in your swatches.

 

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Jan 08, 2023 Jan 08, 2023

Thx for the help but this is not what I am asking for. Maybe I was not clear 
Lets skip the grid part, I know how to do that, easy stuff. 

What I want to automate is : 
Assing each shape a color, from my Swatch palette 


I'm basically trying to create a visible swatchbook on the artboard to reflect what are the actual swatches present in the document. 

Going from A to B ( see attachment) 


-
www.instagram.com/mugen_labz/
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
Jan 08, 2023 Jan 08, 2023
var doc = app.activeDocument;
var n = doc.swatches.length - 2;
var counter = 2;
var w = h = 100;
var top = 0;
for (var i = 0; i < n / 10; i++) {
    var left = 0;
    for (var j = 0; j < 10; j++) {
        if (counter < n + 2) {
            var square = doc.pathItems.rectangle(top, left, w, h);
            square.fillColor = doc.swatches[counter].color;
            counter += 1;
            left += w + 20;
        }
    }
    top -= h + 20;
}
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Jan 08, 2023 Jan 08, 2023
LATEST

Thank you !! 
Exactly what i was looking for 

I wish I could code sometimes haha 😄 

 


-
www.instagram.com/mugen_labz/
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines