Видео по проблематике макросов

Новые типы паттернов сеточного узора:сдвиг по вертикали и горизонтали.

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

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

Такие патерны могут быть удобны например, при создании узором из шестигранников.

Само собой разумеется, что вариации так же применяются к таким паттернам:
Как итог, можно получать разные и уникальные варианты, которые могут быть весьма интересны в работе

 

 

Конструктор узоров. Работа с цветом, градиентной заливкой. Обрезка по произвольному контуру (версия 0.24)

Очередные нововведения полезны скорее тем, кто будет работать с графическими вариантами узоров, нежели для удобства создания разных узоров для ЧПУ, но тем не менее, считаю что поскольку макрос имеет более широкую направленность чем просто для работы с ЧПУ, то такие возможности с точки зрения универсальности будут полезны.
Итак, сперва как обычно видео, затем пара слов о каждом новом свойстве макроса.

Первое, это более глубокая работа с цветом. Теперь например можно заливать цветом не только контурные элементы (у которых две границы — внутренняя и внешняя) но и обычные линейные. Но главное нововведение это конечно возможность заливать элементы градиентом! Да ещё и во всех 4 вариантах, которые предлагает CorelDraw! На мой взгляд, это весьма украшает получаемые узоры. В дальнейшем я ещё и расширю на них возможность варьировать цвет в зависимости от алгоритма вариации, и должно получиться вообще очень интересно!
Второе нововведение — это настраиваемая толщина линий. Причем, что важно, толщина может варьироваться вместе с масштабированием размера элемента, при вариациях масштаба! Тоже внешне весьма неплохо смотрится.
Третье — это обрезка или подгонка под овальные (на видео не показал, но это банально!) или вообще произвольно заданные замкнутые контуры! Например — под буквы! По мне так очень полезно будет для дизайнеров, так как получаемая заливка сразу векторная, а значит и будет масштабироваться без потери качества под любые размеры! К тому же, можно сразу задавать смещение обрезки узора от внешней границы. Тоже может быть весьма полезным!
Ну и несколько новых примеров напоследок:

Конструктор узоров. Вариации для двух элементов.

Продолжаю краткие обзоры на тему нового макроса «Конструктор узоров»

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

    • Теперь вариации можно применять для узоров из двух элементов, как чередующихся в строках и столбцах, так и в двух сетках.
    • Вариации во втором случае (в двух стеках) как зависимые от параметров двух элементов, так и независимые.
    • Зависимые вариации второго элемента позволяют как использовать параметры вариации первого элемента автоматически к параметрам вариаций второго, так и просто копировать (вместо того чтобы делать это вручную), например для того, чтобы потом можно было слегка изменить рисунок второго элемента.

Вторым важным нововведением, стало добавление возможности делать узор из заданных пользователем элементов.
Ну, и немного примеров:

Новый макрос «Конструктор узоров»

Те, кто следит за моим сайтом, наверное читали заметку несколько недель назад, что я приобрел плоттерный резак. И вроде бы программа в нем ничего (Silhuete Cameo Studio), но как обычно, не без изъянов. Поскольку в плоттере есть возможность рисовать ручками, перед порезкой, я сразу же решил, а ведь крайне удобная штука! И правда, очень удобная (особенно учитывая мою криворукость в плане почерка), но как оказалось, одна вещь этой программе не по зубам. А именно — в ней практически нереально задать мало-мальски интересную геометрическую «заливку». То есть, как постркипт текстуры он внутрь надписей к примеру, добавляет. Но очень криво (они масштабируются по разному в разных буквах)! А вот чтоб элементарно внутри контура буквы даже простую сеточку нарисовать — увы, тут алгоритмы у программы спотыкаются. Правда, есть очень хороший «лаз» для опытного станочника, а не домохозяйки, на которую рассчитан данный агрегат и соответственно программа! Она может импортировать из dfx! Я тут же попробовал сделать задуманное в любимом Corel Draw, и у меня это более менее получилось и нарисовать и напечатать. Почему более менее? Это отдельная тема. не о ней сейчас! Итак, стал вопрос за векторными текстурами. И поскольку, у меня по макросу «Конструктор шкатулок» уже был опыт в создании геометрических узоров, да и давно такая идея у меня витала, я засел за написание отдельного макроса. И вот спустя 2 недели, хочу поделиться некоторыми успехами. Основные моменты описаны в видео.

Сразу оговорюсь, работа только в самом начале и реализовано даже далеко не всё, что уже выведено в виде контролов. Но главное — проверены алгоритмы!
А вот примеры которые я наваял наверное минут за 10-15, пока готовил материалы:

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

Я уверен, что по мере готовности этот макрос найдёт своих пользователей!

Учёт толщины бумаги в сгибах стенок (обновление 0.36)

Новое обновление макроса «Конструктор бумажных коробок» так же чисто технологическое. Добавлено изменение высоты клапана в третьей коробке (с крышкой и двойной  стенкой) для изделий без склейки. Плюс ещё немного переделок по мелочи.

Добавлена возможность показывать линии сгиба соразмерно с задаваемой толщиной бумаги (в виде прямоугольников).  Данный пункт доступен в форме общих настроек макроса. Зачем это нужно? Скорее на всякий случай добавил. Но вообще, если учитывать что макрос может использоваться и для раскроя например из гофракартона, линии сгиба сделанные с прорезкой на толщину материала, должны существенно облегчить удобство последующей сборки.

Обновление 0.95.2, бумажные коробки (обновление 0.35)+новый плоттерный станок.

Собственно, обновления сегодня минимальные.

В «Конструкторе шкатулок», исправлена ошибка которая оказывается была очень давно, но мало кто пользовался режимом проектирования стенок и дна «в торец стенки» (когда грань правой и левой стенки просто приставляется к стыкуемой стенке, с фиксацией на клей или например на шурупы). Но благодаря бдительности пользователей ошибка была исправлена.

В «Бумажных коробках» изменение так же минимально, хотя и требовалось давно. Добавлена форма выбора цвета для линий сгиба строго аналогичная таковой в «Конструкторе шкатулок».
Но в целом, главная новость у меня не в этом!  Я решил расширить парк своих станков, и в довесок к своему самодельному фрезерному станку, двум лазерным (полупроводниковому на 3.5Вт и углекислотному на 40Вт) и 3D принтеру, решил докупить себе режущий плоттер для проверки работы своего макроса по работе с бумажными изделиями! Зачем? Ну, если честно  говоря- моя личная блажь. Вполне можно печатать и резать руками (что я периодически и делал). Но, учитывая мою криворукость — внешний вид моделей был так себе! Посему решил, что пока есть возможность — надо взять! Конечно, были варианты и переделать в простейший планшетный сканер свой минилазерный станок полупроводниковом лазере. Но скажу честно — было лень! Да и времени на это нет.

Итак, после некоторого анализа, что да как на этом рынке, мой взор остановился на моделях фирмы Silhouette America.  А конкретно — на модели Cameo 3. Причина проста — он принимает достаточно широкую бумагу до 30 см шириной, что позволяет резать на нём развертки хоть сколько то большой коробки (на деле этого всё равно конечно мало, но в целом, для проверок — вполне сойдёт!). Да и программа там для работы с плоттером более-менее вменяемая. К тому же хороший выбор ножей и прочего. Режет до 2 мм бумагу и прочее. В общем, за свою стоимость — наверное ему конкурента трудно найти сейчас!
Купить удалось с рук практически новый, с очень хорошей скидкой. Притом девушка, которая продавала, дополнительно отправила бесплатно несколько новеньких кариеров (ковриков для резки) и кучу ножей, в сумме где-то на тысяч 5 сверху (Алёна, хотя ты наверное этого не прочтёшь — но люблю тебя!).
В общем, попробовал сегодня работу своего макроса. Благо, даже в базовой комплектации, программа работы с плоттером вполне себе хорошо понимает dfx формат. Вот результаты работы:

Эти изделия делал чисто ради эксперимента, поэтому судить строго не стоит. Но скажу сразу — вещь! И для тестирования, и для всяких там мелких, но приятных работ, для украшений всего. И к тому же сразу косяки в раскрое нашел! Правда, пока не поправил, но обязательно это сделаю! Всё таки, проверка на натурном макете, это очень здорово!

Там где видна синяя ручка — это я пробовал сперва режим с рисованием линий сгиба (благо в плоттере есть такая возможность — использовать и нож и ручку одновременно). А на другой коробочке попробовал просечку. В принципе конечно надо смотреть по решаемым задачам, но просечка понравилась сильнее!
P.S. Кстати говоря, теперь думаю и о макросе для скрапбукинга. Появилось несколько идей, по существенной автоматизации в некоторых видах изделий.

Корпуса на болтовом соединении (обновление 0.96.1)

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

Пример корпуса, который очень быстро дорабатывается из чертежа, который делает макрос

Причем так популярен этот тип соединений, что на его базе создаются большое количество разных изделий. В частности, например, именно так собран управляющий блок для моего 3D принтера Tronxy.
Однако, вставить такой тип соединения в уже имеющиеся прямоугольные ящики не представляется возможным, так как код в этом виде изделий стал слишком уж громоздким, и по опыту внесения правок в него, вынужден признать, что лучше этого без уж особой надобности не делать, если не хочешь просто погрязть в вылавливании кучи ошибок, которые неизбежно при этом появятся! Решение было очевидным, которым я регулярно использую в работе: выделить такие корпуса в отдельные изделия.
Я решил сделать два варианта крепления стенок, дна и крышки:

  1. С двумя шипами и одним болтом. Такой вариант более удобен при создании маленьких по габаритам корпусов.

Прорези под крепёж при этом не пересекаются в горизонтальной и вертикальной плоскости (при использовании достаточно коротких болтов, само собой разумеется!).  Вот пример построения чертежа с такими креплениями (так же используется создание ножек и болтовое крепление крышки)

Ножки при этом — это продолжения передней и задней стенки вниз в виде двух удлиненных шипов по краям.
Параметры самого болтового соединения надеюсь понятны и без особых пояснений. Но хочу отметить, что в чертеже автоматически делается зазор по 0.5мм с каждой стороны, чтобы болт и гайка заходили с небольшим люфтом, поэтому не надо указывать размеры больше истинных. И второй момент  — размеры под крепления одинаковы для любых стенок, дна, или крышки и длина выреза под болт учитывает толщину материала где делается отверстие под него, поэтому надо это иметь ввиду, при подборе болтов.

Второй тип соединения, с двумя болтами и одним центральным шипом, лучше использовать когда требуется более надежная фиксация (особенно дна).

В качества примера представлен чертёж без использования ножек и крышки (можно использовать потайные головки у болтов или шляпки, выступающие на дне, будут служить импровизированными ножками, или можно использовать внешние ножки со сквозным отверстием). Крышка, к слову, может быть и просто накладной (тогда надо убрать галочку  «на болтах») .Так же в этом чертеже убрано смещение левой и правой стенки от краёв.

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

И второе важное изменение в этой версии макроса: убран экспериментальный режим генерации GCode. В рамках этого макроса он избыточен, при том, что являлся сырым (хотя, и вполне рабочим). Может быть когда то, я выделю его в отдельный макрос. Ну а лучше — пользоваться правильными и проверенными CAM программами!

Узорное дно для овальных шкатулок (обновление 0.95.10)

Делал недавно небольшой сувенир для своей знакомой на юбилей. Решил для разнообразия попробовать сделать овальную шкатулку со стенками — вставками.


Поскольку недавно я сделал возможность делать интересный контур по периметру крышки, решил сделать такую же крышку. А вот для дна такой возможности макрос не предоставляет. Недочёт! На тот момент я конечно это всё легко обошел простым редактированием за 5 минут, но решил, что такая функция окажется всё таки не лишней! Сказано — сделано!
На выходе получаем вот такой чертёж для дна:

ЗЫ. На качество особо внимание не обращайте! Потом переделал очень много, правда второпях фото не сделал.

Прототип интерфейса JewelBox(0.2.0.0)

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

На видео я демонстрирую что то наподобие интерфейса с вкладками. Помимо той что было раньше (3D вид+развёрнутый чертёж) я добавил прототип работы с отдельным чертежом в 2d.
По пути приходится решать очень много проблем, в частности с библиотекой интерфейса ImGui, который я на данном этапе использую для построения всех контрольных элементов. Он весьма прост и удобен для пользования, но как оказалось не в варианте программ типа CAD систем. Может быть, увы, но придётся от него отказываться.

JewelBoxCAD Добавление стенок в перехлёст. Автоматический расчёт смещений (версия 0.1.8.8)

Очень много и упорно пришлось поломать голову при программировании казалось бы простейшего действия: смены типа соединений и расчёт автоматических смещений при этом.

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

Во первых, показываю как разом можно сменить тип соединения сразу на всех четырёх угла (был паз, стал перехлёст).
Далее следует демонстрация автоматического смещения места соединения от боковой грани. Причем, возможно как изменение сразу у всех имеющихся граней этого типа (а не только той что выбрана!), так и можно далее осуществлять изменения у каждой из граней по отдельности (хотя я с трудом представляю зачем могут понадобиться разные смещения, но вдруг!).
Третий блок это показывается как на задней стенке сменяется тип соединения с «перехлёст» на шип и дальше стоит отметить, что смещение боковых граней теперь меняет длины задней стенки на требуемую величину!
Ну и в заключении, я показываю что изменения размеров изделия так же корректно учитывается при расчётах заданных соединений.
Вся загвоздка в том, что я хотел получить максимально гибкий механизм. Скажу честно — работы ещё не початый край! Пока ещё есть ошибки  в работе алгоритма. В частности не всегда корректно пока ещё работают смещения, когда сочетаются не одинаковые типы соединения для одной стенки. Но в целом — прогресс есть, и поэтому спешу им поделиться.