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;