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

Статус
Закрыто для дальнейших ответов.

ъьы

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

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

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

Вопрос:
Есть ли какие-то готовые решения для такой задачи? Я никогда не писал скрипты, если готовых решений нет, то навскидку, как вам кажется, сложно ли такой скрипт написать новичку? А может быть это вообще можно решить как-то без скриптов?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 185
Реакции
10 844
Готовых нет, и сразу предупреждаю, что задача достаточно нетривиальная. Дело в том, что удаление точки (даже бесконечно близко расположенной к другой) может серьезно изуродовать форму объекта. И манипуляции с сохранением этой формы - весьма взрослый матан.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 185
Реакции
10 844
Как вариант - использовать встроенные иллюстраторовские функции упрощения контура. Но это немного не то что вы хотите.
 

Gadalka

R.I.P.
Сообщения
2 530
Реакции
868
Совсем недавно вышел вот такой плагин: VectorFirstAid - Astute Graphics
Насколько понимаю задачу -- именно то, что требуется. Плюс некоторое количество дополнительных плюшек.
 
  • Спасибо
Реакции: ъьы

ъьы

Участник
Топикстартер
Сообщения
34
Реакции
2
Спасибо за ответы. Углы в объектах простые, грубо говоря это прямые соединённые линии, так что при удалении таких точек их форма пострадать не должна. Попробовать использовать минимальное значение Simplify это хорошая идея.

Совсем недавно вышел вот такой плагин: VectorFirstAid - Astute Graphics
Насколько понимаю задачу -- именно то, что требуется. Плюс некоторое количество дополнительных плюшек.
Спасибо, похоже на то что нужно, надеюсь там есть триал.
 

_MBK_

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

ъьы

Участник
Топикстартер
Сообщения
34
Реакции
2
Спасибо, с помощью плагина получилось то что нужно.

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

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