[AI CC-CC2022] значок ЕАК

  • Автор темы Автор темы Votemha
  • Дата начала Дата начала

Votemha

Участник
Топикстартер
Сообщения
10
Реакции
0
Собственно скрипт, который рисует знак ЕАК (канонической формы) черного цвета в верхнем левом углу документа размером 5 мм, либо вместо выделенного объекта размером в высоту объекта.
Выкладываю код прямо сюда. Кому надо - копируйте и сохраняйте с расширением jsx

Код:
var doc = app.activeDocument;
const mm=2.834645669; //convert point to mm
var Color = new CMYKColor();
    Color.cyan = 0;
    Color.magenta = 0;
    Color.yellow = 0;
    Color.black =100;
var ObjSelected = doc.selection
if (ObjSelected!=0) {
    var x =ObjSelected[0].left;
    var y=ObjSelected[0].top;
    var h=ObjSelected[0].height;
    ObjSelected[0].remove()
    }
else {
    x=0;
    y=0;
    h=5*mm;
    }
function EAC (x, y, h) {
    var dH = h/9;
    var lineList = new Array();
    lineList[0] = [[0,0], [0,9*dH], [2*dH,9*dH], [2*dH,8*dH], [1*dH,8*dH], [1*dH,5*dH], [2*dH,5*dH],[2*dH,4*dH],[1*dH,4*dH],[1*dH,1*dH],[2*dH,1*dH],[2*dH,0*dH]];
    lineList[1] = [[3*dH,0*dH], [3*dH,9*dH], [6*dH,9*dH], [6*dH,0*dH], [5*dH,0*dH], [5*dH,4*dH], [4*dH,4*dH],[4*dH,0*dH]];
    lineList[2] = [[4*dH,5*dH], [4*dH,8*dH], [5*dH,8*dH], [5*dH,5*dH]];
    lineList[3] = [[7*dH,0*dH], [7*dH,9*dH], [9*dH,9*dH], [9*dH,8*dH], [8*dH,8*dH], [8*dH,1*dH], [9*dH,1*dH],[9*dH,0*dH]];
    newCompoundPath = doc.activeLayer.compoundPathItems.add();
    newPath = newCompoundPath.pathItems.add();
    newPath.setEntirePath(lineList[0]);
    newPath.closed = true;
    newPath = newCompoundPath.pathItems.add();
    newPath.setEntirePath(lineList[1]);
    newPath.closed = true;
    newPath = newCompoundPath.pathItems.add();
    newPath.setEntirePath(lineList[2]);
    newPath.closed = true;
    newPath.evenodd = true;
    newPath = newCompoundPath.pathItems.add();
    newPath.setEntirePath(lineList[3]);
    newPath.closed = true;
    newCompoundPath.position = [x, y];
    newPath.stroked = false;
    newPath.filled = true;
    newPath.fillColor = Color;
    }
var eac = EAC (x,y,h)
 
  • Спасибо
Реакции: ~RA~
ЕАК просто рисовать. Лучше скрипт для значка РСТ напишите.
 
  • Спасибо
Реакции: vovansky
Лучше скрипт для значка РСТ напишите.
Не совсем понимаю сакральной необходимости писать скрипты хоть для того хоть для другого. Оба значка прекрасно вставляются из векторного файла, полагаю, топикстартер потратил определенное количество своего свободного времени, вычисляя координаты узлов EAC, чисто тренируясь в основах скриптинга.
Хотя, насколько я помню, вроде даже был готовый скрипт, который по готовому контуру массив координат строил.
 
Я тоже не понимаю, но если человеку хочется, то почему бы и нет?
 
Разжиться этими значками в векторном виде - не вопрос.
 
Зачем нужна зажигалка, если огонь можно добыть трением или спичками...
Через меня в день проходят сотни макетов этикеток, и хорошо если в трети из них этот значок нарисован правильно
так что я просто скромно надеюсь, что вдруг, количество правильных значков в макетах увеличится
скрипт и впрямь был написан в качестве небольшой тренировки уже давно

Лучше скрипт для значка РСТ напишите
Хотя, насколько я помню, вроде даже был готовый скрипт, который по готовому контуру массив координат строил.
был такой скрипт, вот так назывался TRACE_VECTOR_TO_SCRIPT, тестил его, как раз таки на значке РСТ :). Так что можете сами потренироваться.
 
А не 7 ли мм требует каноничность? )
 
Да не все ли равно, в скрипте по любому какие то странные единицы длины используются ;)
 
Да не все ли равно, в скрипте по любому какие то странные единицы длины используются
если вы хоть раз пытались написать собственный скрипт для Иллюстратора, то должны знать, что там единицами измерения считаются типографские пункты. Это число, которое так вас веселит - всего навсего множитель для перевода из пунктов в мм. Если же я не прав, и вы знаете, как задать по дефолту миллиметры, буду очень благодарен, если поделитесь этим знанием.
 
Последнее редактирование модератором:
1/(25.4/72) - хоть понятней откуда ноги растут.