[AI CS4-CS6] (версия не важна) как выделить все объекты под замкнутым контуром?

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

AskMan

переносы
Топикстартер
12 лет на форуме
Сообщения
36
Реакции
1
Здравствуйте. Набросано много мелких объектов. Сверху на них лежит замкнутый контур сложной формы. Можно ли выделить только те объекты, которые хотя бы частично перекрываются с контуром (т.е. пересекаются контуром или лежат полностью внутри контура)? Как будто быстро лассо по этому контуру пройтись.

Мне это нужно, чтобы скрыть объекты, которые не перекрываются с контуром. Не точно скрыть по контуру, как при обтравочной маске, а скрыть только несоприкасающиеся.

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

"выделить все что нужно" -- ну вот я и спрашиваю: как за пару секунд выделить кучу мелких объектов, используя верхний контур как критерий выбора?
 
Так взять мышкой и с shift'ом обвести по контуру, если контур не километровой длинны, то пары секунд хватит.
 
Так взять мышкой и с shift'ом обвести по контуру, если контур не километровой длинны, то пары секунд хватит.
Вы, кажется, не совсем внимательно прочитали. "Используя верхний контур как критерий выбора". Надеюсь, понятно, что меня интересует не ручное выделение.
Грубо говоря, у меня сложный контур, штук 300 объектов под ним и не под ним, пара секунд и не больше двух кликов и протягиваний мышкой. Выделяем контур ... и?
 
@AskMan, за время потраченное на поиски волшебной кнопки можно выделить тысячи объектов мышкой. Я не понимаю, какая проблема обвести мышкой нужный контур? При этом захватятся все объекты над ним и под ним.
 
такая, например, проблема
Screenshot 2016-05-14 17.50.42.png
 
  • Спасибо
Реакции: Az-Azool
@Skvoznyak, да, тут непросто обвести. Но-таки возможно. Можно использовать lasso. Вопрос минуты.
 
Если это задача на один раз, то однозначно руками.
Вложение 1 – выделил за 4 минуты. Изначальное количество объектов 1200.
Если это нужно повторять постоянно, то лучше завести себе CorelDraw, там функция есть isonshape. Правда раньше, на сложных объектах, она работала некорректно. Как сейчас, проверять лень.
Вложение 2.
Оформить функцию можно, например, так:
Код:
Sub IsOnShapeColor()
Dim s As Shape
Dim x As Double, y As Double
Dim mySh As Shape

ActiveDocument.ReferencePoint = cdrCenter

Set mySh = ActiveShape
For Each s In ActivePage.Shapes
  s.GetPosition x, y
  If mySh.IsOnShape(x, y, 0.05) Then
     s.Fill.UniformColor.CMYKAssign 0, 100, 0, 0
  End If
  mySh.RemoveFromSelection
Next s
End Sub
 

Вложения

  • rukami.gif
    rukami.gif
    61.9 КБ · Просм.: 698
  • isonshape.gif
    isonshape.gif
    87.1 КБ · Просм.: 858
  • Спасибо
Реакции: _MBK_
Спасибо, попробую с кореловской isonshape
 
Последнее редактирование модератором:
Статус
Закрыто для дальнейших ответов.