Умные коллеги найдут способ заниматься на работе чем угодно, кроме самой работы!
(Подсмотрено в "Трудовыебудни" - с юмором про работу и жизнь)
P.S. и советую заценить подарочный набор миллиардера с настоящим миллиардом долларов!
(Подсмотрено в "Трудовыебудни" - с юмором про работу и жизнь)
P.S. и советую заценить подарочный набор миллиардера с настоящим миллиардом долларов!
- исправлена сборка страниц. В формуле расчёта формирования отступов была ошибка.
- попытка исправить кракозябры. на формах поиска однотипных и сортировки страниц теперь вроде норм.
- в окне "сборка" заменил BMP на JPEG потому что ну нихрена ж не видно. Увеличены размеры картинок на форме.
- Добавлена возможность включить проверку на пересечение - кнопка AlmostNest. Старая процедура оставлена просто потому что работает сильно быстрее.
- Добавлен прогрессбар с опцией отмены. Если скрипт совсем завис, не факт, что поможет, но шансы есть.
- Внутри теперь есть таймер. Применялся для замеров оптимизации. Он выключен, но если кому то зачем то надо, его можно включить.
Рабочее название, перетрахаю на нормальное позже.
- В качестве эксперимента, добавлен шаг со смещением для кругов. При его включении, соблюдение отступов пока выходит из чата.
Для примера, при раскладке квадратами на картинке, 181мм против 162 при смещении рядов. Но если ряды после печати надо будет нарезать, то нафиг такую экономию.
Работает без проверок на пересечение, зато быстро. Подходит для сюжетов с одинаковыми размерами. Так же добавлено смещение строк для кругов. Без переменных размеров, ессно работает.
Дальнейшее развитие пока не понятно. Что бы оно работало лучше, видимо придётся переделывать полностью сам алгоритм.
Ссылка на макрос - тут
Ссылка на ТГ автора тут -Токсичная печатня.
Не пытайтесь понять номер, это продолжение этого поста.
Что поменялось:
Переместил на отдельную форму. В логике работы ничего не поменялось.
Вообще я пришёл к выводу, что функции должны разъехаться по своим углам в соответствии своему назначению.
"Раскидать постранично" - без изменений.
Добавлена приколюха собрать страницы обратно в одностраничник. Задаём количество строк и столбцов, форма выводит ожидаемый размер блока. Макрос вдохновлён макросом MonStr, а вернее тем, что на определённой высоте блока он ломается вероятно в силу каких то ограничений корела.
Сейчас это выглядит так. Выделяем N объектов на слое.
Форма создаёт временные BMP картинки и напихивает их в форму.
Массив выделенных объектов сортируется по размеру, так что бы сначала раскидывать большие, потом мелкие.
В соответсвии картинке раскидываем количество индивидуально. Получаем что то такое:
Макрос умеет менять высоту строки и подстраивается под желаемую ширину и высоту.
НО!
Пока в некоторых случаях творит дичь. Проверок на пересечения пока не предусмотрено.
Продолжаю колупать этот момент
Ссылка на макрос - тут
Ссылка на ТГ автора тут -Токсичная печатня.
К своему макросу для колорбаров добавил прикольную штуку. В случаях, когда в работу приходит массив несгруппированных объектов с ними не очень удобно работать. Компановка таких штук вручную на рулон или лист таки занимает прилично времени, а тот факт, что при выделении можно легко зацепить какие то элементы соседних фигур напрягает.
Изначально, я планировал проверять все объекты на предмет пересечения, но в процессе выяснилось, что если в макете объектов скажем так тысяч 10, то такая конструкция просто ломает процессору весь энтузиазм и вообще желание этим заниматься. Поэтому, принцип работы был переиначен на такой:
Макрос берёт размер выделенной области
Поиск объектов по заданным параметрам (каким - будет ниже)
Создание выделения над каждым найденным объектом так как если бы мы делали это мышкой
И в целом, как будто бы даже рабочая схема, но имеем в виду, что тестирование было коротким, и при работе с непрямоугольными формами могут возникнуть проблемы. Лично по моему мнению, этот косяк был признан несущественным.
Допуск поиска - искать группы +- допуск на случай, если группы будут +- N мм
Вылет выделения - выделение создаётся с расчётом, что какие то элементы могут чутка выходить за пределы рамки.
Тип поиска - больше, меньше или примерно равно выделенной области
Частичное пересечение - при включении галочки в группу будет добавляться всё, что хоть как то касается области. При выключенной - только то, что полностью находится внутри.
Раскидать постранично
Ниже присовокупил мой старый макрос который раскидывает группы постранично. С активной галочкой, размер страниц будет задан в соответствии с её содержимым.
Он прекрасно работает в связке с MonStr, хотя на сосисках длинной 10 метров он у меня ломается. В ближайших планах видимо придётся делать какое то своё переосмысление.
В состав была включена заготовка процедуры растрирования страниц в документе. Её можно вызвать из докера "Макросы"
Нормальный вызов с формы будет добавлен позднее. Но если очень хочется, можно задать параметры вручную. Есть нюансы по использованию.
Например, Corel из VBA предлагает растрировать в спот или Lab. И действительно растрирует, но потом не понимает что же он в итоге сотворил. Сама картинка по итогу не ломается, но как спот не работает и экспортируется как CMYK или RGB. В общем предмет требует некоторого изучения.
Не совсем понятно, что именно делает дизеринг в данном конкретном случае.
Обнаружил для себя обработчик ошибок в VBA. Да, этим надо было заняться с самого начала. Ну, хорошо, что он есть и им можно пользоваться.
CQL. Он же Corel Query Language. На картинке выше запросы на поиск объектов в зависимости от размера. Одной строчкой каждый запрос. Классно. Очень сильно упрощает процесс написания макросов.
Колорбар - это техническая полоса из цветных квадратов или шкал, печатаемая за пределами обрезного формата тиража. Он необходим для контроля качества печати: проверки плотности красок, цветопередачи, растискивания и баланса серого, гарантируя соответствие оттиска заданным стандартам.
В процессе работы с разными принтерами я столкнулся с проблемой необходимости рисования колорбаров. При чём рисования не автоматического, при помощи софта, а именно в кореле. Да, в большинстве случаев, штатных средств более чем достаточно, но вот обнаружились такие исключения:
В некоторых принтерах просто кривая прошивка/драйвер. Если не прокинуть колорбары именно из корела - возникает проблема "внезапных китайских полос". Природа возникновения этих полос мною так и не была изучена, но колорбары исключили их появление.
У некоторых машин, например 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. Так что технически это бэта.
Ссылка на ТГ автора тут - Токсичная печатня. Всем добра и хороших выходных.
Иначе вы получите галлюцинации отсель.
Ну или как-то так.
Если прозой, то я сглупил, оплатив на него подписку в 30у.е. Думал он мне ща-ас как накатает хороший макрос...
А он сука гальюнит. Пишет, я вставляю в ВБ Экселя, и ошибки. Скриню ему его же код, и он такой: "Да тут полно ошибок, малых и больших! Какой дибил это писал?!". И так продолжается вечно.
Ушёл к ЧатГопоте, заплатил всего 5у.е. (со стран Азии, Индии или Узбекистана можно платить всего лишь столько).
И вуаля! Она сразу написала мне здравый код, потом дальше мы с ней подправили - и никаких ошибок!
Отаке...
пи.эс.: Хотя справедливости ради, надо сказать - что в последнее время именно ЧГП сильнее галлюцинирует в простых вопросах, а Грок в простых - гораздо разумнее.
Товарищчи, такая проблема, достался ноутбук HP Omen, а на нем на клавишах ctrl стоит макрос на сочетание клавиш (ctrl +R+6+7+8+9+0) как выключить эту хрень? установил HP Gaming Hub - там макросов нет.
Помогите найти программу, которая может на фоне воспроизводить записанные действия (С простым интерфейсом). Она должна воспроизводить действия в отдельном окне, чтобы я мог в другом окне заниматься своими делами (смотреть что-то и т. д.). По-другому говоря, мне нужна программа, которая сможет записать и воспроизвести макрос в отдельном окне, пока я занимаюсь чем-либо в другом