Я — Типографыч, печатный робот, знаток бумаги, краски и тонких шрифтовых материй.
Добро пожаловать в мой уголок — сообщество о полиграфии, печати, дизайне и всём, что шуршит, клеится, режется и радует глаз. Тут будет:
🖨 История печати — от гутенбергов до ризографов 📚 Легенды и байки из типографий 🎨 Советы по дизайну, шрифтам, цветам 🤖 Современные технологии — что такое офсет, цифра, УФ-печать и зачем нужен ламинат 🧠 А ещё мемы, тесты, опросы и просто приятные разговоры с запахом свежей бумаги
💬 Подписывайся, не стесняйся — здесь можно задавать вопросы, делиться опытом и просто кайфовать от того, что типография — это не скука, а настоящее искусство, технологии и немного магии.
📎 Если вы когда-либо нюхали краску с флаера — вам сюда.
С уважением, Типографыч™ Робот, который знает, как сделать красиво
Цикл был бы не полным без отдельного поста про сублимацию, на которую я угробил лучшие годы своей жизни.
Так вот. Сам процесс сублимационной печати несколько более особенный чем остальные. Из самого названия можно догадаться, что мы берём жидкие чернила и печатаем ими по бумаге, подсушиваем и отправляем в термопресс где происходит взгонка/сублимация.
Взгонка— переход вещества из твёрдого состояния сразу в парообразное, минуя стадию плавления (перехода в жидкое состояние) и кипения.
То есть чернила совершают небольшое путешествие от бумаги до конечного носителя в виде газа. И бумага тут является промежуточным носителем, а печать получается трансфероной. Существует вид сублимации без использования бумаги, но мы оставим пока эти дебри.
Кароче говоря, относительно других видов печати у нас тут возникает пара дополнительных участников напрямую влияющих на результат.
Для ЛЛ - бумага бывает с покрытием или без, и если очень хочется то ещё и липкая. Разумеется разной плотности.
Суть качества бумаги - максимально накапливать и максимально отдавать чернила.
Бумага без покрытия может впитать в себя довольно много чернил, но отдаёт сравнительно мало. Плюс из за более волокнистой структуры чернила рандомно растекаются а нам это не надо.
Бумага с покрытием впитывает меньше, но и отдаёт больше поэтому результат лучше, а значит результат ярче потому что меньше чернил после переноса остаётся внутри бумаги. Плюс, раз уж чернила на такой бумаге "хранятся" больше на поверхности чем в глубине, то и форму она будет держать лучше. Сплошные плюсы кроме ценника. Хотя определённую часть можно сэкономить на более эффективном использовании чернил.
Плотность бумаги
Тут проще. В среднем по больнице дела обстоят так:
45г - наружка, флаги, лёгкие ткани которые просто не могут впитать в себя много чернил. Типа шифона, флажной сетки или таффеты
70г - универсальное решение под любые задачи
90+ - я фиг знает, лично мне именно в рулонной сублимации под каландер плотная бумажка не нравится. Но под сувенирку с большим количеством мелких деталей или на термопресс очень годная
Коробление
Ну мы же все знаем как выглядит мокрая бумажка. Сублимационная не исключение.
При таких приколах приходится поднимать голову выше. Для сублимации нормальная картина зазора 3мм или даже больше. Но проблема не только в зазоре.
Очевидно в двунаправленной печати при таком раскладе адекватно настроить бидирект просто невозможно, а значит это явление нужно свести к минимуму.
Акклиматизация/Влажность бумаги
В теории, проблема то даже не из за самого факта наличия влаги в бумаге, а её неравномерности. Что бы наша бумажка была ровной "из коробки", некоторые производители рекомендуют акклиматизировать её, то есть подержать в условиях где будет происходить печать. Суть процесса - привести влажность в самой бумаги к условиям цеха но не слишком резко. Но это если по уму. В реальности по жизненному циклу бумаги, её минимум дважды ждёт резкий перепад влажности и влияние акклиматизации тут как по мне не то что бы сильно велико.
Компоновка
Отдельный прикол, что нужно учитывать равномерность заливки именно на этапе компоновки. В листовой печати на каком ни будь Epson L1800 максимум, что мы можем сделать это оставить отступы так, что бы печать происходила только когда бумажка зафиксирована под обоими рядами роликов. В рулонной уже можно приколоться например с раскладкой "валетом" в случаях резкого перепада заливки по краям.
Равномерность заливки на примере триколоров
И вот если этого не сделать, то длина рулона со стороны где заливки нет и там где её много будет разная. Это приведёт к тому, что рулон будет наматываться конусом и с каждым метром смещаться в сторону, а значит ПГ довольно быстро встретиться с бумагой.
Натяжение
Сублимаха ещё характерна тем, что печатнику очень хочется что бы бумага шла внатяг что бы хотя бы как то расправить волну в зоне печати, ну или на худой конец, что бы она высохла в более-менее ровном виде. Делается это всё за тем же - ровный рулон. Отвечает за этот процесс в принтере система подачи/намотки.
Стандартная
На сольвентных или УФ принтерах такая система вполне достаточна, но вот в сублимации мы работаем на максимально возможном натяге ради борьбы с короблением и красивых рулонов. И система эта держит рулон в двух точках по краям. То есть, если туба кривая или хлипкая, то центральная часть намотки будет болтаться, а значит и итоговая рулька будет не плотная. При чём на каландере проблема будет стоять гораздо более остро.
На что поглядеть если есть из чего выбирать:
Варианты
Один мотор - при хорошем натяге сложнее поймать баланс. Особенно если туба подуставшая. В теории у нас момент натяга ближе к мотору всегда будет больше чем напротив.
Два мотора всегда лучше чем один. Без комментариев
Внутренняя часть тубы, довольно гладкая штука. А когда мы одеваем гладкое на гладкое - происходит скользкое
В итоге китайцы присрали на эти ролики металлические ножи. И это хорошо.
На принтерах более тяжёлого класса такой проблемы нет. Туба одевается на железную палку целиком и как будто проблема решена. Правда придётся пожертвовать совместимостью ведь рулоны бывают на тубах разного диаметра. И даже если туба технически должна подходить по размерам, могут возникнуть чисто бытовые проблемы если туба кривая, стенки тубы для надёжности решили сделать более толстыми или типа того. Возникают перфомансы по впихиванию невпихуемого под музычку с оранжевого ютуба. Но результат всё равно того стоит.
Сушка
В описании к оборудованию часто можно встретить фразы наподобие "приспособлен к печати на тонкой бумаге". Я за все годы работы в сублимации не видел ни одного рулонника котрый не мог бы работать с бумагой 40г. Да, с ней могут возникнуть сложности на первых метрах, но это вопрос к прямоте рук и инклимитам но не к конструкции принтера. А вот реальные проблемы начинаются когда вы захотите навалить жира ради яркости. А вам захочется яркости, потому что специфика заказов в сублимации требует именно жирного кислотного цвета, желательно с прокрасом максимально вглубь материала. Разумеется на бумажке плотнее 40г.
И вот что происходит в погоне за экономией.
У этого мимаки выдрали все нагреватели. Совсем. Вообще ни одного не оставили. И казалось бы можно же навалить внешний,. Но во первых - это колхоз, а мимаки люди берут не ради колхоза. А во вторых - его волшебные головы Brother (по заявлению некоторых сервисников) плохо реагируют на сухой горячий климат. Поэтому принято говорить что "принтер очень хорошо приспособен печатать на лёгких быстросохнущих бумагах". Пара пара пам. Фьють.
А вот что бы реально хотелось так это жирных плашек и плотных рулек. Комплекс мероприятий для этого дела довольно стандартный:
В зоне печати должна быть комнатная температура, потому что влажная бумажка "внезапно" проще выравнивается под натяжением и её меньше коробит без нагрева. Саму ПГ с сублимационными чернилами греть тоже решительно не рекомендуется.
Бумагу всё таки сушить нужно, но не перегревать. А значит длина сушки должна быть максимальной.
Рама. Без комментариев
Милфы которые нам не нужны
Маятник
Совершенно необходимая штука если вы работаете с рулоном ткани, но с бумагой оно исключительно мешает. В теории его задача - обеспечить равномерный натяг на всём рулоне и "сгладить" рывки между проходами. Но что бы эта фигня нормально работала в бумажной сублимации, она должна весить как по мне килограмм 15 наверное.
История знает пример с Mimaki TS300. Когда этот безусловно великолепный принтер снимали с производства, его отдавали за смешные деньги в полном фарше включая маятник. В итоге, по стране мы имеем кучу систем AMF в девственном состоянии, потому что в работе с бумагой эта штука не обеспечивает достаточного натяжения, и реально проще её отключить. Иронично, но когда маятник стоит сзади принтера в нём сильно больше смысла, но такое встречается разве что на тяжёлых корпусах в скоростных принтерах.
Последние тренды мимаковцев. Ничто не мешает провернуть этот фокус с обычными ножницами, так что мы попробовали. Рулон действительно лучше центруется по краям, но страдает плотность намотки. Возможно, если бы подмотка была на валах, а не стандартная фокус бы сработал, но на стандартной подмотке крепить рулон за самую вялую часть тубы я бы мог рекомендовать только если вы прям не уверены в своих силах. Иначе говоря - результат получается более предсказуемый, но предсказуемо "не очень"
В сувенирной УФ печати довольно типичная задача - печать по готовым изделиям. Ручки, флешки, ежедневники и вот это вот всё подарочное, наградное и прочий ширпотреб с маркетплейсов. У каждого изделия своя площадь нанесения и координаты этой площади, и нам как то нужно туда попасть. Желательно ровно.
Условия при которых будет продолжаться повествование
Принтер: Mimaki UJF 6042Mk2
Рабочее поле 60х42см
Хайдроп по паспорту 4,5мм
Углекислотный ЧПУ лазер
Софт: КорольДров какой-то версии
Пара культей, лучше не задумываться откуда они растут
Немного отваги
Стандартный метод - печать шаблона
Нет более очевидного решения чем напечатать сетку прямо на столе принтера. Конкретно в цеху где я работаю у меня есть доступ к неограниченному запасу бесхозной бумаги, так что я не обременяю себя необходимостью каждый раз отмывать стол. Но тут как повезёт. Да и стол УФ принтера всё таки обычно делается с учётом, что краска от него должна легко очищаться. По ситуации скребком для стеклокерамических плит или тупо тряпкой в изопропиле/ацетоне.
Данный метод прекрасен в своей простоте, но совершенно не пригоден для работы с изделиями которые не хотят лежать так как нам хочется. Вот мы сейчас и рассмотрим такую задачу. В нашем случае это будут кружки.
Примерно такие
Проблем тут сходу целых две:
Оно не плоское и не будет просто так лежать спокойно и ждать пока мы всё сделаем.
Оно даже не цилиндр. Диаметр переменный.
А теперь пошагово.
Шаг 1 - Измеряем
Берём какой ни будь штандартенциркуль и замеряем предмет во всех интересующих нас измерениях. Если циркуля нет даже обычного, то идём в магазин рейхсканцелярских товаров и покупаем. Рисуем в короле дров условный чертёж на основе измерений.
Чертёж типа
Нам не интересна форма ручки и точность изгибов, поэтому рисуем условно.
Шаг 2 - зона печати
Условный чертёж есть, теперь определимся а де мы вообще напечатать можем. Тут важно знать на каком максимальном зазоре принтер способен печатать с приемлемым качеством.
Если максимальная величина зазора неизвестна, можно упороться и провести тест печати на наклонной поверхности. На свой страх и риск конечно же, и учётом техники безопасности. Ну или посмотреть описание той же вейвформы, там может быть прямо в названии указано.
В нашем случае это 4.5мм. Опускаем направляющую от верхнего квадранта на 4,5 и замеряем какая ширина у нас получилась. По другой оси, от верха до изменения диаметра я намерил 135мм.
Вот и получается что у нас кружка большая, а напечатать мы можем максимум 39х135мм
Шаг 3 - База
Как это часто бывает, нам нужно какое-то днище на котором всё будет держаться. Собирать я это буду на шипы и пазы.
В моём случае нашлась доска размером 50х30см. Это не оптимально для стола размером 60х42, но в пределах нашего изделия больше четырёх штук всё равно не поместиться, так что вполне нормально.
Берём наш чертёж кружки (обозначено синим) и раскидываем по полю любым удобным для нас образом. То есть сеткой. Так как у нас предмет условно цилиндрической формы, мы не можем расположить кружки скруглённой частью к лампе из за риска переотражения излучения от лампы на печатающую голову. Поэтому поворачиваем их настолько безопасно насколько можно. Ну то есть способ размещения у нас по факту только один, ну да.
Определяемся с местом где будут расположены пазы опор (обозначено красным). Делать больше двух на изделие я не вижу никакого смысла ибо третья будет только мешать. Меньше - тоже не рекомендую. Тут можно было поступить умнее и расположить одну из опор в месте где меняется диаметр для более удобного позиционирования, но тогда пришлось бы делать опоры разного диаметра а значит, форма потеряла бы в универсальности.
Зелёным обозначены места пазов доп креплений опор. Потому как доска ХДФ в 3мм пазу решительно отказывается сохранять хоть какое то подобие жёсткости.
Смотрим что бы крепления не мешали кружке спокойно лежать.
Шаг 4 - опоры и крепления
Получилась такая вот фигня. Поясню за размеры:
300мм - размер базы
90мм - диаметр кружки
57мм - расстояние между кружками с учётом, что в этот промежуток должна поместиться её ручка (42мм по замерам) + некоторый зазор что бы она поместилась туда не впритык
37,3мм - высота опоры. 90/2 (середина кружки) - 12,7(половина ширины ручки) = 37,3 - таким образом когда мы положим ручку на опору, кружка будет правильно центрована по своей оси.
18,65 - Высота пазов доп креплений опор. Чисто для симметрии поделил высоту опоры пополам.
5мм - Отступ от низа до кружки для сохранения целостности опоры
3мм - шип высотой ровно в толщину материала из которого всё это безобразие будет изготовлено
Теперь при помощи инструментов формирования приводим это к виду макета детали. Задние минус передние, слияние и вот это вот всё.
Вот эти
В итоге должно получиться вот это
Теперь доп крепления
Тут все размеры взялись либо с основной опоры, и шипы в соответствии с пазами на днище.
Дублим детали в нужном количестве, компонуем, режем.
Важно что бы границы опоры были именно вырезаны, так как по этим границам мы будем выставлять форму в нулевую позицию принтера
Собираем. На выходе у меня получилось вот это.
В случаях, когда провафлили размеры и шипы болтаются в пазах как сопли по ветру холодным питерским вечером можно использовать клей. В особо запущенных случаях неплохо работает клеевой пистолет.
Кусочек цивилизованного мира
В теории мимаки предлагает нам надёжный метод крепления прям на болты, но зачем если можно всю эту радость присрать обрезками оракала и радоваться. Вопрос скорее к рациональности трудозатрат. Делать что то по уму ради 10 штук тиража и 10000 мотивация очевидно разная. Весь прикол во фразе "позиция отверстий может быть изменена без предупреждения" и таки по ходу в зависимости от года выпуска она реально разная. Так что придётся измерять. В китайском оборудовании, таких приколюх я не замечал.
Наивные японцы предлагают сделать по уму
Шаг 5 позиционирование в рипе
Тут я допустил ошибку с довольно дебильной величиной отступов первой позиции 46,34мм по вертикали и 9,17 по горизонтали. Надо было обратить внимание на этот момент в начале. В RL6 нет варианта указать расстояния между объектами в сотых, поэтому, если бы изделий в высоту было бы не 2, а 20, с такой погрешностью в шаге это было бы проблемой.
Безопасность
Тут частично рассмотрена тема обратной засветки, но я всё-таки дополню в контексте текущей темы.
По идее тут нужна крышка. То есть нужно было продлить высоту опоры до верхней точки кружки - 4,5мм зона нашей печати - 3мм толщина материала. В моём случае тираж был откровенно не большой и чё уж там я ленивая жопа отказался городить эту конструкцию с учётом обхода ручек кружки.
Примерно так бы выглядел чертёж кабы я бы делал с крышкой
Другой, ещё более кошерный путь - мягкий наполнитель. Берём поролон и нарезаем по форме так что бы торчала только зона печати. Не обязательно что бы оно облегало изделие прям полностью, нас интересует исключительно верхняя плоскость, которая находится в контакте с УФ излучением.
Но это ещё дольше и если делать лазером, торцы поролонки на белых поверхностях могут оставлять следы. Как минимум есть шанс что это придётся оттирать. Но материал типа чёрного поролона сразу решил бы и проблему отражений (это всё потому, что он чёрный ага) и проблема чернильной пыли тоже бы частично решилась.
Отдельная категория - прозрачный ПЭТ и синие поверхности. Тут нужно быть особо внимательным. Потому что:
С ПЭТ довольно сложно удалить статику. А статика = чернильная пыль = борода на ПГ.
Куда полетит УФ излучение от лампы в таком раскладе фиг его знает.
Поэтому на синих, прозрачных и отражающих поверхностях нужно быть предельно внимательным. Что касается прозрачных бутылок, то ничего умнее чем натолкать внутрь чёрного оракала я не придумал. Это помогло, но прям на корню проблемы не решило. Поэтому лучше всё таки использовать крышку или поролон.
Фотка конечно шакальная, но суть думаю понятна
Вместо итога
В целом, таким образом можно хоть лампочку в пространстве зафиксировать. Было бы желание
Довольно старый прикол, что если тыкнуть в зону отмеченную зелёным окна мастера цветового профиля, приложение попросит ввести пароль. В стоке кусок числа пи - 3.14159 через точку.
И флекси пустит нас в Engineering Dialog. Тут довольно много магии, на которую у стандартного пользователя тупо не хватит маны. Профили в этом окне можно открыть вроде как только фотопринтовские, так что шибко не разгуляешься.
View Lin показывает кривые открытого профиля. Тут даже можно ручками что то понатыкать, но кнопки сохранить не наблюдается, так что не очень понятно зачем кроме как посмотреть.
А вот по в окне "Обновить свойства" уже интересней. Можно переписать устройство для которого предназначен профиль. То есть теоретически, можно взять профиль вообще другого производителя и если ПГ такая же, есть шансы на успешное донорство. Вот эта возможность выглядит интересно.
На параметры растрирования маны не хватило уже мне. Параметры звучат очень интересно, но чего и насколько они могут поменять в жизни принтера мне не понятно. Продолжаю вести наблюдение.
Данный текст не является инструкцией. Основная цель написания - поделиться вещами с которыми сталкивается человек, в чьи цепкие лапки попадает подобный прибор. И вот примерно такие ощущения у меня произошли при первых попытках его использования по назначению.
Так вот. Волею Великого Макаронного Монстра в левой руке у меня оказался спектрик, а в правой принтер на чернилах одного производителя, но с ICC профилем от совершенно других чернил. Искра, буря, безумие открываем профилировщик SAI Flexi и видим такое.
Уже на стартовом экране есть над чем подумать. В небольшой ступор вводит выбор "Сглаживание цветовых переходов". Ну или короче - дизеринг. Их довольно много видов, на том же сайте SAI есть описание актуальных для этого рипа. И вроде как между ними даже есть какая то значительная разница, но я довольно тупой, поэтому просто как все тыкаю Enhanced Stochastic 2 и не выделываюсь. Хотя, эмпирически установлено, что Error Diffusion 2 вроде как ничуть не хуже.
Замечено, что диффузия ошибки значительно дольше рипуется и по загадочным причинам именно на ней каретка принтера гонят только над областями печати, то есть пропускает пустые участки. При использовании стохастики почему то пустые области принтер пропускать не хочет. Возможно это прикол конкретной машины. Доподлинно неизвестно.
Есть интересные галочки балванса серого и профиля переменной точки, но потыркавшись в них я не нашёл знакомых букв и решил, что для начала я туда вообще лезть не буду.
Обзываем как ни будь профиль и попадаем в настройку линеаризации.
С одной стороны, тут вроде бы всё просто. Софтина печатает нам набор патчей, а мы их считываем прибором. С другой, как я понял, запороть данный этап тоже довольно просто. Из вебинара SAI Flexi, лично я сделал вывод, что в линеаризации мы должны стремиться примерно вот к этому
Если краска растекается - режем лимиты
Если цвет перестаёт меняться - режем лимиты
Стремимся минимально порезать лимиты
Вот такими противоречивыми вещами приходится заниматься. В теории, мы ещё должны добиться перцептивно однородного градиента. То есть визуальная разница между C10 и C20 должна быть такая же как между C90 и C100. Но вроде как этим должен заниматься спектрик.
Способы запороть линеаризацию/характеризацию
Промахнутся по патчу. Это довольно сложно, но можно.
Если печатать на не отъюстированном, с загаженной ПГ или ктулху его знает ещё каком принтере толку от калибровки будет мало. Иначе говоря, принтак должен быть в образцово-показательном состоянии.
Очень хочется взять материал из непригодных обрезков. Я так и сделал. Потом выкинул этот покоцанный ораджет, потому что печатать на кусках материала который где то, сколько то лежал в пыли, грязи и безызвестности можно, но результат будет явно не стабилен.
Вот что бы всякого не случилось я заглянул в графики которые я насканировал.
Насколько я понимаю, подобный график вроде как не совсем шляпа, но по хорошему повод задуматься а нормально ли я тут насканировал. Но опять же, я пока довольно тупой, и ленивый, поэтому забил и просто поехал дальше.
На следующем этапе мы ручками правим лимиты смесовых цветов. Провафлил скрин, но там ничего инересного.
А вот дальше был сюрприз.
Насколько я понял, конкретно эта версия флекси, в силу своей практически легальной, лицензионной природы просто не позволяет построить профиль до конца. По другому объяснить такое поведение я не могу. Вероятно, в йо-хо-хо версиях таких приколов нет, но свободное время кончалось и я пошёл другой путёй.
i1 Profiler помог мне таки доделать профиль. В интернетах, умные люди подсказывают, что можно взять плашки из этой софтины, там же отсканировать и запихать обратно во Flexi. Так я и поступил.
Тут некоторую загадочность представляют режимы сканирования.
М3 - Режим поляризации для бликующих поверхностей типа лака или металлика. Недоступен для ES 2000. Оно есть в i1 Pro 3 Plus, но это что то на богатом.
И вот вроде даже есть определения, и даже вроде бы слова знакомые, но всё равно понятно слабо. В целом, если мы обратимся к книге Абхай Шармы "Управление цветом", то он пишет, что
М0 обладает высокой воспроизводимостью результатов, но не обязательно высокой точностью
Вот понимайте как хотите. Однако же, рекомендует режим М1.
Впрочем с иллюстрации даже я понял, что он имеет в виду
Долго и вдумчиво читаем плашки, определяемся с источником освещения, создаём ICM профиль и пихаем обратно в рип. Там ещё был этап формирования серого цвета, но я его дропнул, потому что за один день для меня и так получилось дофига впечатлений. Иначе говоря, мне ничё не помешало оставить настройки дефолтными. Хотя, чует моя печень, там как раз довольно важные кнопки.
Итого
К чему я это всё вообще. Данный эксперимент показал, что даже таки откровенно обезьяньим подходом, можно получить какой то профиль просто имея на руках спектрик. Я не испытываю никаких иллюзий насчёт качества проделанной работы и даже вижу, что серый по CMY выглядит доволно странно, лимиты фуллсмик чёрного надо резать сильней и т.д. и т.п. Да даже по фото.
Однако же, изучение данной науки не выглядит непреодолимым препятствием, да и даже так на выходе мы имеем нечто, что более чем способно конкурировать со стоковыми профилями, которые идут в комплекте с оборудованием. Обычно довольно посредственные.
PS
Знатоки профилирования, не бейте пожалуста. Если вам кажется, что в тексте я творю какую то дичь, то скорее всего так оно и есть.
- исправлена сборка страниц. В формуле расчёта формирования отступов была ошибка.
- попытка исправить кракозябры. на формах поиска однотипных и сортировки страниц теперь вроде норм.
- в окне "сборка" заменил BMP на JPEG потому что ну нихрена ж не видно. Увеличены размеры картинок на форме.
Сборка
- Добавлена возможность включить проверку на пересечение - кнопка AlmostNest. Старая процедура оставлена просто потому что работает сильно быстрее.
- Добавлен прогрессбар с опцией отмены. Если скрипт совсем завис, не факт, что поможет, но шансы есть.
- Внутри теперь есть таймер. Применялся для замеров оптимизации. Он выключен, но если кому то зачем то надо, его можно включить.
AlmostNest
Рабочее название, перетрахаю на нормальное позже.
- В качестве эксперимента, добавлен шаг со смещением для кругов. При его включении, соблюдение отступов пока выходит из чата.
Результат со смещением рядов
Для примера, при раскладке квадратами на картинке, 181мм против 162 при смещении рядов. Но если ряды после печати надо будет нарезать, то нафиг такую экономию.
Раскладка прямоугольниками
Собрать
Работает без проверок на пересечение, зато быстро. Подходит для сюжетов с одинаковыми размерами. Так же добавлено смещение строк для кругов. Без переменных размеров, ессно работает.
Дальнейшее развитие пока не понятно. Что бы оно работало лучше, видимо придётся переделывать полностью сам алгоритм.
Не пытайтесь понять номер, это продолжение этого поста.
Что поменялось:
Группировку по размеру
Переместил на отдельную форму. В логике работы ничего не поменялось.
Вообще я пришёл к выводу, что функции должны разъехаться по своим углам в соответствии своему назначению.
Получилось так
Сортировка страниц
"Раскидать постранично" - без изменений.
Добавлена приколюха собрать страницы обратно в одностраничник. Задаём количество строк и столбцов, форма выводит ожидаемый размер блока. Макрос вдохновлён макросом MonStr, а вернее тем, что на определённой высоте блока он ломается вероятно в силу каких то ограничений корела.
Экспериментальная функция "Сборка"
Сейчас это выглядит так. Выделяем N объектов на слое.
Форма создаёт временные BMP картинки и напихивает их в форму.
Массив выделенных объектов сортируется по размеру, так что бы сначала раскидывать большие, потом мелкие.
В соответсвии картинке раскидываем количество индивидуально. Получаем что то такое:
Макрос умеет менять высоту строки и подстраивается под желаемую ширину и высоту.
НО!
Пока в некоторых случаях творит дичь. Проверок на пересечения пока не предусмотрено.
К своему макросу для колорбаров добавил прикольную штуку. В случаях, когда в работу приходит массив несгруппированных объектов с ними не очень удобно работать. Компановка таких штук вручную на рулон или лист таки занимает прилично времени, а тот факт, что при выделении можно легко зацепить какие то элементы соседних фигур напрягает.
Изначально, я планировал проверять все объекты на предмет пересечения, но в процессе выяснилось, что если в макете объектов скажем так тысяч 10, то такая конструкция просто ломает процессору весь энтузиазм и вообще желание этим заниматься. Поэтому, принцип работы был переиначен на такой:
Макрос берёт размер выделенной области
Поиск объектов по заданным параметрам (каким - будет ниже)
Создание выделения над каждым найденным объектом так как если бы мы делали это мышкой
И в целом, как будто бы даже рабочая схема, но имеем в виду, что тестирование было коротким, и при работе с непрямоугольными формами могут возникнуть проблемы. Лично по моему мнению, этот косяк был признан несущественным.
Теперь по меню
Допуск поиска - искать группы +- допуск на случай, если группы будут +- N мм
Вылет выделения - выделение создаётся с расчётом, что какие то элементы могут чутка выходить за пределы рамки.
Тип поиска - больше, меньше или примерно равно выделенной области
Частичное пересечение - при включении галочки в группу будет добавляться всё, что хоть как то касается области. При выключенной - только то, что полностью находится внутри.
Раскидать постранично
Ниже присовокупил мой старый макрос который раскидывает группы постранично. С активной галочкой, размер страниц будет задан в соответствии с её содержимым.
Он прекрасно работает в связке с MonStr, хотя на сосисках длинной 10 метров он у меня ломается. В ближайших планах видимо придётся делать какое то своё переосмысление.
Дополнительно
В состав была включена заготовка процедуры растрирования страниц в документе. Её можно вызвать из докера "Макросы"
Инструменты/Сценарии/Выполнить сценарий
Нормальный вызов с формы будет добавлен позднее. Но если очень хочется, можно задать параметры вручную. Есть нюансы по использованию.
На картинке список цветовых моделей доступных для растрирования
Например, Corel из VBA предлагает растрировать в спот или Lab. И действительно растрирует, но потом не понимает что же он в итоге сотворил. Сама картинка по итогу не ломается, но как спот не работает и экспортируется как CMYK или RGB. В общем предмет требует некоторого изучения.
Не совсем понятно, что именно делает дизеринг в данном конкретном случае.
Личные открытия
Обнаружил для себя обработчик ошибок в VBA. Да, этим надо было заняться с самого начала. Ну, хорошо, что он есть и им можно пользоваться.
CQL. Он же Corel Query Language. На картинке выше запросы на поиск объектов в зависимости от размера. Одной строчкой каждый запрос. Классно. Очень сильно упрощает процесс написания макросов.