[CDR 2017-2021] Макрос для поиска одинаковых объектов по размеру

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

fjord

Участник
Топикстартер
Сообщения
21
Реакции
0
Здравствуйте, есть задача обработки чертежей (PDF сделанных, вероятно, в какой-то архитектурной программе) и импортированных в CorelDraw для дальнейшего использования в рекламе. Для этого их надо очистить от множества мелких штрихов, коротких линий.

Вопрос: существует ли макрос для CorelDraw 2020, который может находить и выделять все линии исходя из их длины?

Стандартный поиск Find and Replace / From selection выделяет все линии данного типа, основываясь на цвете, толщине и количестве узлов, а вот параметра "длина" там нет.
 
Посмотрите "Панель макросов от Деревяшкина". Здесь на форуме.
Или как вариант: открыть pdf в Иллюстраторе, а там - плагин Astute FindReplace.
 
  • Спасибо
Реакции: fjord
Посмотрите "Панель макросов от Деревяшкина". Здесь на форуме.
Или как вариант: открыть pdf в Иллюстраторе, а там - плагин Astute FindReplace.
Cпасибо за ответ. Быстро просмотрев описание функций "Панель макросов от Деревяшкина" не удалось найти подобной функции, но возможно она как-то по-другому обозначена/названа.

А пока удалось найти макрос "SelectSame", там есть опция Size (Select all similar), макрос даже запустился в версии 2020, но вылетает с ошибкой и невозможно понять, подходит макрос под эту задачу или нет. К сожалению, в макросах (да и в "программировании" вообще) ничего не понимаю, поэтому описание ошибки (приложен скриншот) для меня тёмный лес...
select_same.png
 
Последнее редактирование:
Попробуйте убрать фрагмент кода, на который ругается (напротив него справа стоит текст комментария)
 
  • Спасибо
Реакции: fjord
множества мелких штрихов, коротких линий
ЛайфХак от 'Shelby Moore'
Ищет объекты - в т.ч. в группах ( но не в PoweClip) размером 1,5смх15,5см
Код:
Sub DeleteSmallShapes()
    Dim srSelection As ShapeRange, s As Shape
 
    'Break apart the active selection
    Set srSelection = ActiveSelectionRange.BreakApartEx
 
    'Delete all shapes that are smaller than 1.5cm
    srSelection.Shapes.FindShapes(Query:="@width < {1.5cm} and @height < {1.5cm}").Delete
 
    'Combine back to a single shape
    Set s = srSelection.Combine
    'Select the combined shape
    s.CreateSelection
End Sub
Размер - на ваше усмотрение - корректируйте

как варианты - поиск по площади или только по длине
Код:
'Delete by Area
srSelection.Shapes.FindShapes(Query:="@com.DisplayCurve.Area < {1cm^0}").Delete

'Delete by Length
srSelection.Shapes.FindShapes(Query:="@com.DisplayCurve.Length < {1.5cm^0}").Delete
 
Последнее редактирование:
  • Спасибо
Реакции: fjord
ЛЯ запала .. ;]] поправил
 
Спасибо всем ответившим, будем экспериментировать :)
 
У меня нет сейчас возможности проверить панель от Деревяшкина. Но скриншот выглядит похоже на то, что вам требуется.
1694982047736.png
 
Попробовал панель Деревяшкина. Ищет!
Голубая кривая - образец размера. Будем искать кривые больше или меньше этого образца.
Выделяем все объекты, среди которых ищем. Потом с Шифтом выделяем голубой объект-образец.
В панели выбираем "больше" или "меньще" и затем - "выделить".
Для наглядности после поиска покрасил найденные объекты. Те. что больше образца - в красный, те, что меньше - в желтый.

 
Последнее редактирование:
  • Спасибо
Реакции: fjord
Попробовал панель Деревяшкина. Ищет!
Голубая кривая - образец размера. Будем искать кривые больше или меньше этого образца.
Выделяем все объекты, среди которых ищем. Потом с Шифтом выделяем голубой объект-образец.
В панели выбираем "больше" или "меньще" и затем - "выделить".
Для наглядности после поиска покрасил найденные объекты. Те. что больше образца - в красный, те, что меньше - в желтый.

Посмотреть вложение 160848
Cупер, спасибо! Надо разобраться как приобрести эту панель - там вроде только через обращение к автору по e-mail :)
 
Ещё удалось найти макрос "Jeff's select Same 3" на Macromonster, скачали, он там не в виде файла GMS а в виде EXE - скачали версию JH_SelectSame_2020.exe , запустили, Windows 11 гордо объявил что предотвратил запуск потенциально опасной программы, но там есть опция в пункте "Детали", "Всё равно запустить". Запустили, поставили все галочки, пошла установка, "Установка прошла успешно" и... нигде этого макроса не появилось :) Искали и в самом CorelDraw, и в файловом менеджере, и просто через поиск по всему компьютеру :) Пробовали несколько раз и каждый раз говорит что установился, но на самом деле нет :)
 
Распакуйте JH_SelectSame_2020.exe. Там будет JH_SelectSame.gms.
Закиньте его в c:\Program Files\Corel\CorelDRAW Graphics Suite 20**\Draw\GMS\
Перегрузите Корел и ищите JH_SelectSame в панели макросов.
Но этот макрос ищет только объекты того же размера, но не меньшего.
 
  • Спасибо
Реакции: fjord
Распакуйте JH_SelectSame_2020.exe. Там будет JH_SelectSame.gms.
Закиньте его в c:\Program Files\Corel\CorelDRAW Graphics Suite 20**\Draw\GMS\
Перегрузите Корел и ищите JH_SelectSame в панели макросов.
Но этот макрос ищет только объекты того же размера, но не меньшего.
У Вас CorelDraw 2020 и макрос работает? Распаковали, получился GMS весом 84 Кб, поместили в папку, запустили, открылся НО выдаёт ошибку:
 

Вложения

  • jh_select_same_3.jpg
    jh_select_same_3.jpg
    46.7 КБ · Просм.: 93
Корел 2022. Макрос работает. Вот этот. Он не из JH_SelectSame_2020.exe, а из JH_SelectSame_ver3_X5-2019.exe. Но все равно работает.
 

Вложения

  • Спасибо
Реакции: fjord
А вот gms из JH_SelectSame_2020.exe у меня тоже не работает с такой же ошибкой.
 
У меня нет сейчас возможности проверить панель от Деревяшкина. Но скриншот выглядит похоже на то, что вам требуется.
Посмотреть вложение 160842
ой какая старая версия )
я тут на днях обновил. там крутой сканер.
Cупер, спасибо! Надо разобраться как приобрести эту панель - там вроде только через обращение к автору по e-mail :)
ну и да. по размеру образа ищет больше меньше или равно.
так же есть функция удаления (выбора) дублей объекта с учетом "зазора" т.е. дубли плюс минус могут отличаться или совсем не отличаться. и могут как накладываться друг на друга так и быть в разных местах. там много вариантов действия :)

тестовую версию можно скачать тут на форуме в ресурсах.
 
  • Спасибо
Реакции: fjord