Вводный урок по программированию макросов. Объектная модель

Урок опубликован на boosty, поэтому здесь даю только ссылку на него:

Небольшой лайфхак при работе с объёмными фигурам в Конструкторе шкатулок. Двух-шиповые прямые стенки

Кто не в курсе, есть у меня своя группа в соцсети Вконтакте. Там иногда бывают некоторые обсуждения, и я получаю обратную связь от своих пользователей. Посмотрел ленту новостей, и увидел изделие шкатулку от Михаил Киселев в виде восьмиконечной звезды. И вспомнил, что давно хотел описать способ, который позволяет создавать в макросе «Конструктор шкатулок» в объёмных фигурах прямолинейные стенки с двумя шипами по краям, а не с одной — по центру. Снял видео, с пояснением как это делать, и прилагаю получившийся чертёж под 4 мм фанеру и для лазера с диаметром в 0.4мм

Подготовка сложных контуров, для корректной работы макроса Конструктор шкатулок, при создании объемных фигур произвольной формы

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

Автоматическое спрямление кривых при создании объёмных фигур. Обновление 1.30

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

Соответственно, появляется дополнительная вкладка «Варианты».


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

Видно что разные алгоритмы по разному изменяют конечный внешний вид!Чекбокс «Только стенки» позволяет оставить в конечном чертеже исходный контур фигуры (без спрямления). Пользоваться этой настройкой следует с осторожностью, так как из-за спрямления, прямые стенки могут начать выступать за пределы исходного контура!
«Число узлов» показывает сколько узлов используется в начальном разбиении. Для пропорционального варианта, этот параметр равен всегда исходному значению! А вот для равномерного разбиения, можно варьировать это число, но, если фигура имеет внутренние контуры (например в буквах) , то надо очень аккуратно использовать это поле, а лучше поставить чекбокс «Узлы кривой» и тогда в расчётах будет использоваться число узлов для каждой (!) из кривых.
«Множитель разбиения» позволяет производить дополнительное разбиение исходного числа узлов (а значит и участков) в указанное число раз. В частности на верхнем рисунке применяется множитель 2.
Так же хочу отметить, что любое изменение в этих полях приводит к перерисовке контура, а значит к задержкам в работе. Поэтому надо дождаться окончания этих расчётов и тогда во вкладке «Контур» можно оценить результат работы алгоритма (если не установлен чекбокс «Только стенки»), и внести правки, если требуется, без необходимости генерации всего чертежа и возврата в настройки, для внесения правок!


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

Ну, и прикрепляю файлы к данным урокам, которые содержат варианты для лазерной и фрезерной резки:

Урок по созданию своего дизайна к 14 февраля.

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

Рендер получившейся шкатулки

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

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

Вторая часть. Создание дизайна обрамления крышки и стенок.

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

Новое изделие «Лист гибкой стенки». Обновление 1.19

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

Делаем подарочную коробочку к 8 марта. Обновления макроса Конструктор бумажных коробок 0.39

После волнительного для меня падения моего хостера, в результате которого этот сайт был недоступен с 2 по 5 марта, я продолжил работу над маросами, и сделал небольшое добавление к макросу «Конструктор бумажных коробок». Заключается оно в добавлении простой, но довольно популярной коробки для поздравлений, с крышкой и откидными стенками. Я до этого вручную уже несколько раз делал такие коробки по самым разным случаям, но решил в итоге, что это будет достаточно неплохим добавлением в коллекцию проектируемых изделий макроса для бумажных форм. Тем более, я давно ничего туда не добавлял. Ну а заодно, покажу как можно комбинировать работу этого макроса, с моим новым макросом «Конструктор узоров» (версия 0.51).
Сразу покажу, что получится в итоге:
Внешне неказисто, поскольку я не готовился особо к этому  уроку, и вырезал не из скрап бумаги, а из того что было — плотных листов желтого и розового цветов размера А4. Но если использовать именно хорошо оформленную бумагу, да ещё добавить что-нибудь в стиле скрапбукинга или декупажа, то получится конечно совсем другое дело! Но это уже вне интересов этого блога.

Итак, преступим. Перво-наперво, открываем в кореле макрос «Конструктор бумажных коробок» версии 0.39 и в разделе «Декоративные коробки» выбираем новый тип коробок:

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

Так же, задаём высоту крышки в 20 мм. Это оказалось довольно много , но это я понял уже после сборки. Но вообще, чем больше, тем надёжнее будут фиксироваться клапаны стенок в собранном состоянии!
Делаем чертёж:

В целом всё просто, и если есть красивая скрап бумага в тему подарка, или же будут делаться наклейки на клапаны коробки и крышку, то на этом можно было бы и закончить с чертежами. Но у меня под рукой только обычная плотная цветная бумага, поэтому призову в помощь свой второй макрос  «Конструктор узоров»
Я хочу создать накладную розетку из сердечек на крышку, и такую же прорезку, (в инверсном виде), для стенок.
Замеряю размер крышки и стенок, и записываю что ширина крышки 82 мм а стенок- 80мм (крышка больше, так как должна вместить внутри после склейки толщину клапанов вклейки и сами стенки коробки).
Захожу в макрос узоров, выбираю радиальные узоры. Сразу ставлю размер по размеру стенок (проще так, чем дважды подбирать ещё и для крышки, тем более что разница в размерах не такая и большая) и выбираю элементом узора сердечко. Размер сердечка и число элементов по окружности и вдоль радиуса придётся подобрать вручную, с учётом того, что слишком мелкие элементы плоттер не сможет вырезать а просто помнёт и порвёт стенки.

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

Получше, но внутренний ряд не соединяется. Можно исправить либо задав другой коэффициент уменьшения элементов вдоль радиуса, либо изменив коэффициент изменения шага. Но внешние две окружности узоров меня вполне устраивают, а при изменении коэффициентов они неизбежно изменятся. Поэтому применю трюк с отрицательным смещением вдоль радиуса. Поставлю для начала -1мм:
Смотрю:

Ближе к цели, но всё равно мало! Значит поставлю -3 (с запасом!) и этого должно хватить, поэтому сразу сделаю и объединение в один узор:

То что надо! Но я получил узор только для разетки на крышку, а я хочу аналогичные добавить и на стенки! Значит, надо задать параметр присоединенной стенки, и задать отступ  в 3 мм (узор сместился от исходного размера  на -3мм  для получения слитности внутреннего ряда, и  значит надо компенсировать это смещение) :

Снова делаю чертёж:

То что он имеет такие большие границы — не важно, это специальная фича, дабы учитывать возможный разброс при вариациях, но это не про сейчас, поэтому просто не обращаем внимание! Тем более, я выделил чекбокс «копировать в буфер обмена» и нужный мне внутренний рисунок уже скопирован туда! Значит,я могу  перейти в исходный чертёж коробки и просто сделать вставку:

Дальше рутинно ровняю, дублирую 3 раза и снова  ровняю. Пока не выходит такой вот чертёж:
Дальше я начал по-детально переносить в программу с которой работает мой плоттер и как раз только тут понял, что я ошибся с размерами! Можно конечно по новой всё прогнать через макросы, но зачем? Я знаю, что мне надо получить размер детали с клапанами не более 200 мм. А у меня вышло 240. Значит, я могу изменить на какой то процент (благо Корел это позволяет), а затем этот процент применить ко всем остальным деталям. В итоге, я пропорционально уменьшу исходный чертёж. Попробовал 80% и получил 192 мм. Отлично! Хоть коробка и стала меньше на 20%, но в принципе для урока это не критично!
Дальше последовала резка и склейка:

А итог  я показал в начале!

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

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