[AI CC-CC2022] как скруглить только острые углы?

  • Автор темы Автор темы Удалённый пользователь 10719
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
Fog_patcher post: 885219 сказал(а):
То, что не должен правильный пацанский Offset path отрезать острые углы, не по понятиям это
 
@_MBK_, Там есть настройки. Хочешь отрезаешь, хочешь не отрезаешь. Я предложил не отрезать! У меня "отрезает" сама обводка при икспенде. Кривая остаётся на своем месте с точностью, которую дает программа. Углы, которые меньше скольки-то градусов (это можно тонко настроить) обрезаются на заданную глубину. Глубина задаётся толщиной обводки.
 
Плагин Xtream Path Вам в помощь.
 
Последнее редактирование:
  • Спасибо
Реакции: NecroZoider и Slx1
Xtream Path лютый плуг, но в былые дни он не мог скруглять вот такие углы:
upload_2016-10-9_14-5-48.png

а свежие версии иллюстратора – без проблем. Как сейчас – не знаю.
Ну и ценничек у него нехилый.
 
"ищите, и найдете; стучите, и отворят вам" :))
 

Вложения

  • Xtreampath.png
    Xtreampath.png
    73.6 КБ · Просм.: 851
Гм, меня терзают смутные сомнения, что после скругления кривая превращается в пресловутый Plugin object со всеми вытекающими ништяками? 'hmmm'
 
Действительно интересный плагин.
И действительно решает поставленную задачу.

Только вот правильно ли поставлена задача -- не знаю. В своё время (путём некоторых нехитрых манипуляций) ухитрялись резать 12 пунктовый текст на отнюдь не новом плоттере. И проблему острых углов решали НЕ скруглением (на самом деле острый угол вырезать проще, чем скруглённый).
 
Действительно интересный плагин.
И действительно решает поставленную задачу.

Только вот правильно ли поставлена задача -- не знаю. В своё время (путём некоторых нехитрых манипуляций) ухитрялись резать 12 пунктовый текст на отнюдь не новом плоттере. И проблему острых углов решали НЕ скруглением (на самом деле острый угол вырезать проще, чем скруглённый).
мне не уточнили всех тонкостей, просто попросили сделать острые углы круглыми. Там фреза или нож, я не знаю точно, режут тонкий пластик. На острых углах получался брак.
 
Чтобы доказать Анечке, что я добрый и пушистый, демонстрирую аттракцион невиданной щедрости:
Код:
if ( app.documents.length > 0 ) {
 
 if ((!app.selection.length) || (app.selection[0].typename!="PathItem"))
 {
   alert("No path selected!");
 } else
  {
     var pi=app.selection[0];
     for (var i=0;i<pi.pathPoints.length;i++)
     {
       pi.pathPoints[i].selected=PathPointSelection.NOSELECTION;;
      }
   
     for (var i=0;i<pi.pathPoints.length;i++)
     {
       var pp=pi.pathPoints[i];
     
       var xa=pp.anchor[0];
       var ya=pp.anchor[1];
       var xb=pp.leftDirection[0];
       var yb=pp.leftDirection[1];
       if ((xa==xb) && (ya==yb))
       {
         if (i>0)
         {
           xb=pi.pathPoints[i-1].anchor[0];
           yb=pi.pathPoints[i-1].anchor[1];
         } else
         {
           xb=pi.pathPoints[pi.pathPoints.length-1].anchor[0];
           yb=pi.pathPoints[pi.pathPoints.length-1].anchor[1];
         }

       }
       var xc=pp.rightDirection[0];
       var yc=pp.rightDirection[1];
       if ((xa==xc) && (ya==yc))
       {
         if (i<pi.pathPoints.length-1)
         {
           xc=pi.pathPoints[i+1].anchor[0];
           yc=pi.pathPoints[i+1].anchor[1];
         } else
         {
           xc=pi.pathPoints[0].anchor[0];
           yc=pi.pathPoints[0].anchor[1];
         }

       }
       var cosalpha=Math.abs(((xb-xa)*(xc-xa)+(yb-ya)*(yc-ya))/
 (Math.sqrt(((xb-xa)*(xb-xa)+(yb-ya)*(yb-ya))*((xc-xa)*(xc-xa)+(yc-ya)*(yc-ya)))));
      // alert(cosalpha);
       if (cosalpha>0.93969262)  // cos (20 grad)
       {
         pp.selected=PathPointSelection.ANCHORPOINT;
       } else
       {
 //        pp.selected=PathPointSelection.NOSELECTION;
       }

     }
  }
} else alert("No document!");
Данный скрипт выделяет все черезчур острые углы выделенного объекта (острее 20 градусов, константу можно переставить на свое усмотрение)
Скруглить выделенные данным скриптом углы можно, например, вот этим скриптом.
 
Статус
Закрыто для дальнейших ответов.