[AI CC-CC2022] Задать минимальное расстояние между точками одного объекта

  • Автор темы Автор темы ъьы
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

ъьы

Участник
Топикстартер
Сообщения
34
Реакции
2
Привет! Может быть здесь, кто-то сможет мне чем-то помочь?

Условия:
В макете присутствует множество однотипных по своей сути объектов, состоящих из простых закрытых и не закрытых путей, с опорными точками в кол-ве от двух, до... Ммм, не знаю до скольки, но по-моему это не важно.

Задача:
В пределах каждого объекта нужно удалить точки с одинаковыми координатами или разнести их на расстояние 0,1 мм (доподлинно неизвестно есть ли такие, скорее всего нет, но на всякий случай). А так же задать минимальное расстояние между точками одного объекта 0,1 мм, ну или просто удалить одну из двух точек, если они находятся на расстоянии меньше чем 0,1 мм друг от друга. То есть если у двух и более объектов будут совпадать координаты каких-то точек -- то это нормально. Но в пределах одного объекта не должно быть точек, расположенных на расстоянии ближе чем 0,1 мм друг от друга.

Вопрос:
Есть ли какие-то готовые решения для такой задачи? Я никогда не писал скрипты, если готовых решений нет, то навскидку, как вам кажется, сложно ли такой скрипт написать новичку? А может быть это вообще можно решить как-то без скриптов?
 
Готовых нет, и сразу предупреждаю, что задача достаточно нетривиальная. Дело в том, что удаление точки (даже бесконечно близко расположенной к другой) может серьезно изуродовать форму объекта. И манипуляции с сохранением этой формы - весьма взрослый матан.
 
Как вариант - использовать встроенные иллюстраторовские функции упрощения контура. Но это немного не то что вы хотите.
 
Совсем недавно вышел вот такой плагин: VectorFirstAid - Astute Graphics
Насколько понимаю задачу -- именно то, что требуется. Плюс некоторое количество дополнительных плюшек.
 
  • Спасибо
Реакции: ъьы
Спасибо за ответы. Углы в объектах простые, грубо говоря это прямые соединённые линии, так что при удалении таких точек их форма пострадать не должна. Попробовать использовать минимальное значение Simplify это хорошая идея.

Совсем недавно вышел вот такой плагин: VectorFirstAid - Astute Graphics
Насколько понимаю задачу -- именно то, что требуется. Плюс некоторое количество дополнительных плюшек.
Спасибо, похоже на то что нужно, надеюсь там есть триал.
 
Спасибо за ответы. Углы в объектах простые, грубо говоря это прямые соединённые линии, так что при удалении таких точек их форма пострадать не должна.
Если так, то скрипт будет совсем простецкий, буквально несколько строк. Можно даже проверять, нулевые хинты с обеих сторон узла и если да, то смело удалять узел.То есть, даже не так - нулевые ли хинты на удаляемом и прилегающих к нему узлах.
 
  • Спасибо
Реакции: ъьы
Спасибо, с помощью плагина получилось то что нужно.

Есть скрипт 'Merge Overlapped Anchors.jsx' от Hiroyuki Sato
s.h's page : Scripts for Adobe Illustrator CS
Дааа, спасибо, это тоже помогло и не нужно платить 50 фунтов.

В общем всё получилось, спасибо!
 
Статус
Закрыто для дальнейших ответов.