Серия «Макросы для CorelDraw»

3

Обновление макроса 2-2b. Проверка на пересечение

Серия Макросы для CorelDraw

Правки относительно 2-2a

- исправлена сборка страниц. В формуле расчёта формирования отступов была ошибка.

- попытка исправить кракозябры. на формах поиска однотипных и сортировки страниц теперь вроде норм.

- в окне "сборка" заменил BMP на JPEG потому что ну нихрена ж не видно. Увеличены размеры картинок на форме.

Сборка

- Добавлена возможность включить проверку на пересечение - кнопка AlmostNest. Старая процедура оставлена просто потому что работает сильно быстрее.

- Добавлен прогрессбар с опцией отмены. Если скрипт совсем завис, не факт, что поможет, но шансы есть.

- Внутри теперь есть таймер. Применялся для замеров оптимизации. Он выключен, но если кому то зачем то надо, его можно включить.

AlmostNest

Рабочее название, перетрахаю на нормальное позже.

- В качестве эксперимента, добавлен шаг со смещением для кругов. При его включении, соблюдение отступов пока выходит из чата.

Результат со смещением рядов

Результат со смещением рядов

Для примера, при раскладке квадратами на картинке, 181мм против 162 при смещении рядов. Но если ряды после печати надо будет нарезать, то нафиг такую экономию.

Раскладка прямоугольниками

Раскладка прямоугольниками

Собрать

Работает без проверок на пересечение, зато быстро. Подходит для сюжетов с одинаковыми размерами. Так же добавлено смещение строк для кругов. Без переменных размеров, ессно работает.

Дальнейшее развитие пока не понятно. Что бы оно работало лучше, видимо придётся переделывать полностью сам алгоритм.

Ссылка на макрос - тут

Ссылка на ТГ автора тут -Токсичная печатня.

Показать полностью 4
5

Обновление макроса 2-2a. Сборка на блоки

Серия Макросы для CorelDraw

Не пытайтесь понять номер, это продолжение этого поста.

Что поменялось:

Группировку по размеру

Переместил на отдельную форму. В логике работы ничего не поменялось.

Вообще я пришёл к выводу, что функции должны разъехаться по своим углам в соответствии своему назначению.

Получилось так

Получилось так

Сортировка страниц

"Раскидать постранично" - без изменений.

Добавлена приколюха собрать страницы обратно в одностраничник. Задаём количество строк и столбцов, форма выводит ожидаемый размер блока. Макрос вдохновлён макросом MonStr, а вернее тем, что на определённой высоте блока он ломается вероятно в силу каких то ограничений корела.

Экспериментальная функция "Сборка"

Сейчас это выглядит так. Выделяем N объектов на слое.

Форма создаёт временные BMP картинки и напихивает их в форму.

Массив выделенных объектов сортируется по размеру, так что бы сначала раскидывать большие, потом мелкие.

В соответсвии картинке раскидываем количество индивидуально. Получаем что то такое:

Макрос умеет менять высоту строки и подстраивается под желаемую ширину и высоту.

НО!

Пока в некоторых случаях творит дичь. Проверок на пересечения пока не предусмотрено.

Продолжаю колупать этот момент

Ссылка на макрос - тут

Ссылка на ТГ автора тут -Токсичная печатня.

Показать полностью 5
3

Макрос группировки по размеру

Серия Макросы для CorelDraw

К своему макросу для колорбаров добавил прикольную штуку. В случаях, когда в работу приходит массив несгруппированных объектов с ними не очень удобно работать. Компановка таких штук вручную на рулон или лист таки занимает прилично времени, а тот факт, что при выделении можно легко зацепить какие то элементы соседних фигур напрягает.

Изначально, я планировал проверять все объекты на предмет пересечения, но в процессе выяснилось, что если в макете объектов скажем так тысяч 10, то такая конструкция просто ломает процессору весь энтузиазм и вообще желание этим заниматься. Поэтому, принцип работы был переиначен на такой:

  1. Макрос берёт размер выделенной области

  2. Поиск объектов по заданным параметрам (каким - будет ниже)

  3. Создание выделения над каждым найденным объектом так как если бы мы делали это мышкой

И в целом, как будто бы даже рабочая схема, но имеем в виду, что тестирование было коротким, и при работе с непрямоугольными формами могут возникнуть проблемы. Лично по моему мнению, этот косяк был признан несущественным.

Теперь по меню

Допуск поиска - искать группы +- допуск на случай, если группы будут +- N мм

Вылет выделения - выделение создаётся с расчётом, что какие то элементы могут чутка выходить за пределы рамки.

Тип поиска - больше, меньше или примерно равно выделенной области

Частичное пересечение - при включении галочки в группу будет добавляться всё, что хоть как то касается области. При выключенной - только то, что полностью находится внутри.

Раскидать постранично

Ниже присовокупил мой старый макрос который раскидывает группы постранично. С активной галочкой, размер страниц будет задан в соответствии с её содержимым.

Он прекрасно работает в связке с MonStr, хотя на сосисках длинной 10 метров он у меня ломается. В ближайших планах видимо придётся делать какое то своё переосмысление.

Дополнительно

В состав была включена заготовка процедуры растрирования страниц в документе. Её можно вызвать из докера "Макросы"

Инструменты/Сценарии/Выполнить сценарий

Инструменты/Сценарии/Выполнить сценарий

Нормальный вызов с формы будет добавлен позднее. Но если очень хочется, можно задать параметры вручную. Есть нюансы по использованию.

На картинке список цветовых моделей доступных для растрирования

На картинке список цветовых моделей доступных для растрирования

Например, Corel из VBA предлагает растрировать в спот или Lab. И действительно растрирует, но потом не понимает что же он в итоге сотворил. Сама картинка по итогу не ломается, но как спот не работает и экспортируется как CMYK или RGB. В общем предмет требует некоторого изучения.

Не совсем понятно, что именно делает дизеринг в данном конкретном случае.

Личные открытия

Обнаружил для себя обработчик ошибок в VBA. Да, этим надо было заняться с самого начала. Ну, хорошо, что он есть и им можно пользоваться.

CQL. Он же Corel Query Language. На картинке выше запросы на поиск объектов в зависимости от размера. Одной строчкой каждый запрос. Классно. Очень сильно упрощает процесс написания макросов.

Ссылка на макрос V2-1b

Автор канала живёт тут

Показать полностью 6
4

Макрос для колорбаров

Серия Макросы для CorelDraw

Колорбар - это техническая полоса из цветных квадратов или шкал, печатаемая за пределами обрезного формата тиража. Он необходим для контроля качества печати: проверки плотности красок, цветопередачи, растискивания и баланса серого, гарантируя соответствие оттиска заданным стандартам.

В процессе работы с разными принтерами я столкнулся с проблемой необходимости рисования колорбаров. При чём рисования не автоматического, при помощи софта, а именно в кореле. Да, в большинстве случаев, штатных средств более чем достаточно, но вот обнаружились такие исключения:

  • В некоторых принтерах просто кривая прошивка/драйвер. Если не прокинуть колорбары именно из корела - возникает проблема "внезапных китайских полос". Природа возникновения этих полос мною так и не была изучена, но колорбары исключили их появление.

  • У некоторых машин, например Mimaki TX300 Mk2, UJF Mk2, возможность прокидывать колорбары просто отключена. Видимо производитель решил, что оно нам не надо.

Иногда хочется сделать жирную широкую полосу, например именно мадженты, а жёлтый и чёрный вообще не интересны. Штатные средства не обладают таким функционалом. Такое желание может возникнуть на макетах с большими областями без какого то цвета. Когда мы достаточно долго гоняем ПГ над материалом, но она не печатает, иногда она "засыпает". Природа возникновения проблемы не ясна, но колорбар в таких случаях помогает.

Такие печали бывают и на мимаки

Такие печали бывают и на мимаки

И вот, когда я понял, что заколебался рисовать эти полоски руками, при помощи нейросетей и чьей то матери таки наваял такое вот поделие.

Немножко описания

Количество полос - ни разу не внезапно за, что отвечает, но я постарался исключить варианты ввода чего то кроме значений от 1 до 8. Я не разобрался как динамически рисовать кнопки, поэтому просто ограничил количество. Но сюжетов когда нужно больше 8 в моей голове не возникло.

Отступ - как оказалось, CDR хранит размеры и координаты в типе данных Long. Это целочисленный тип. Однако если переключиться на всеми любимые миллиметры, то окажется, что нам нужны запятые в числах. В общем, мой не программистский ум тут чутка поломался. В общем, в этом поле я проявил фантазию и не только ограничил количество запятых, но и оформил подмену точки на запятую, на случай, если вы как и я вечно промахиваетесь по кнопке.

Сохранить - сохраняет пресет в ini файл. Если хочется создать новый пресет, название вводим в выпадающий список. Тут поле ввода ничем не ограничено.

Дальше по форме вроде всё и так понятно. НО! В процессе вскрылось, что в кореле 19 цветовых моделей. И каждая хочет, что бы с ней работали разными методами. Поэтому, пока поддерживаются цветовые модели RGB, CMYK, споты и Lab с нюансами. Для колорбаров и так больше чем надо.

Запуск

Ставиться макрос не в "Program Files\Corel" а в "C:\Имярек\RAD\AppData\Roaming\Corel\CorelDRAW Graphics Suite какая то версия\Draw\GMS" потому, что в Programm Files может не хватить прав на создание ini файла.

Тута запускаем

Тута запускаем

В запуске будет сгруппировано всё выделенное и колорбар нарисуется по высоте, с отступом который был введён.

Если ничего не было выделено - выдаст оповещение

Известные проблемы

  • Если ini файла нет, то скрипт его создаст. Но вот если он есть, но по каким то причинам пустой то макрос крашится. Мне пока лень с этим колупаться.

  • При выборе чёрного цвета, чёрный текст немножко тяжело читается.

  • Надо бы почистить от нерабочих кусков кода и привести в порядок эти макароны.

Скорее всего есть какие то ещё сюжеты, подробного тестирования не было. Запускался в CDR 2024. Так что технически это бэта.

Ссылка на макрос

Ссылка на ТГ автора тут - Токсичная печатня. Всем добра и хороших выходных.

Показать полностью 4
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества