A automação de tarefas no Adobe Illustrator é uma prática que pode poupar muito tempo e esforço, especialmente em projetos que envolvem elementos repetitivos ou complexos. Um exemplo prático é a criação de polígonos, que podem variar em número de lados e tamanho. Em vez de desenhar manualmente cada polígono, podemos utilizar um script em JavaScript para criar esses elementos de forma rápida e precisa. Neste artigo, vamos explorar um script que solicita ao usuário o número de lados e a dimensão do polígono, e então desenha o polígono no documento atual.

Código do Script para a Criação de Polígonos no Adobe Illustrator
Aqui está o código completo do script para criar polígonos no Adobe Illustrator:
#target illustrator
function createPolygon() {
// Solicitar ao usuário o número de lados do polígono
var numLados = prompt("Digite o número de lados do polígono:", "5");
if (numLados === null) {
return; // Saia se o usuário cancelar o prompt
}
numLados = parseInt(numLados);
// Solicitar ao usuário a dimensão (raio) do polígono
var raio = prompt("Digite a dimensão (raio) do polígono:", "100");
if (raio === null) {
return; // Saia se o usuário cancelar o prompt
}
raio = parseFloat(raio);
// Verifique se os valores são válidos
if (isNaN(numLados) || numLados < 3) {
alert("Número de lados inválido. Deve ser um inteiro maior ou igual a 3.");
return;
}
if (isNaN(raio) || raio <= 0) {
alert("Dimensão (raio) inválida. Deve ser um número maior que 0.");
return;
}
// Criar um novo documento
var doc = app.documents.add();
// Criar uma nova camada para o polígono
var layer = doc.layers.add();
layer.name = "Polígono";
// Calcular os vértices do polígono
var centerX = doc.width / 2;
var centerY = doc.height / 2;
var angleStep = 360 / numLados;
var vertices = [];
for (var i = 0; i < numLados; i++) {
var angle = (angleStep * i) * (Math.PI / 180);
var x = centerX + raio * Math.cos(angle);
var y = centerY + raio * Math.sin(angle);
vertices.push([x, y]);
}
// Criar o caminho do polígono
var polygonPath = layer.pathItems.add();
polygonPath.setEntirePath(vertices);
// Fechar o caminho
polygonPath.closed = true;
// Definir a aparência do polígono
polygonPath.stroked = true;
polygonPath.strokeWidth = 2;
var black = new RGBColor();
black.red = 0;
black.green = 0;
black.blue = 0;
polygonPath.strokeColor = black;
polygonPath.filled = true;
var fillColor = new RGBColor();
fillColor.red = 255;
fillColor.green = 255;
fillColor.blue = 0;
polygonPath.fillColor = fillColor;
}
createPolygon();
O que este script faz?
Solicitação de Dados ao Utilizador:
var numLados = prompt("Digite o número de lados do polígono:", "5");
var raio = prompt("Digite a dimensão (raio) do polígono:", "100");
prompt para solicitar ao utilizador o número de lados e a dimensão (raio) do polígono. Se o utilizador cancelar qualquer um dos prompts, o script simplesmente termina.Validação de Dados:
if (isNaN(numLados) || numLados < 3) {
alert("Número de lados inválido. Deve ser um inteiro maior ou igual a 3.");
return;
}
if (isNaN(raio) || raio <= 0) {
alert("Dimensão (raio) inválida. Deve ser um número maior que 0.");
return;
}
O script valida as entradas para garantir que o número de lados é um inteiro maior ou igual a 3 e que a dimensão é um número positivo. Se as entradas forem inválidas, uma mensagem de erro é exibida e o script é encerrado.
Criação do Documento e Camada:
var doc = app.documents.add(); var layer = doc.layers.add(); layer.name = "Polígono";
Um novo documento e uma nova camada são criados no Adobe Illustrator. A camada é nomeada como “Polígono” para facilitar a identificação.
Cálculo dos Vértices:
var centerX = doc.width / 2;
var centerY = doc.height / 2;
var angleStep = 360 / numLados;
var vertices = [];
for (var i = 0; i < numLados; i++) {
var angle = (angleStep * i) * (Math.PI / 180);
var x = centerX + raio * Math.cos(angle);
var y = centerY + raio * Math.sin(angle);
vertices.push([x, y]);
}
vertices.Desenho do Polígono:
var polygonPath = layer.pathItems.add(); polygonPath.setEntirePath(vertices); polygonPath.closed = true;
m caminho que representa o polígono é criado usando as coordenadas armazenadas. O caminho é fechado para formar o polígono.
Definição da Aparência:
polygonPath.stroked = true; polygonPath.strokeWidth = 2; var black = new RGBColor(); black.red = 0; black.green = 0; black.blue = 0; polygonPath.strokeColor = black; polygonPath.filled = true; var fillColor = new RGBColor(); fillColor.red = 255; fillColor.green = 255; fillColor.blue = 0; polygonPath.fillColor = fillColor;
