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

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


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

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

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

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

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

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

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

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

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

Добавление выбора вида замков в шкатулке-книжке (обновление 0.95.9)

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

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

Крышка при закрытии просто фиксируется на шипах и потом легко снимается, при этом не болтаясь когда она закрыта.

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