JewelBoxCAD. Добавляем выбор деталей мышкой! (версия 0.1.4.0)

Довольно активно продолжаю работать над новым проектом, лёгкой CAD системы ориентированной на изготовление чертежей для разных CNC станков. На сей раз я озадачился как можно на более ранних сроках определиться с полноценной работой мышкой над 3d моделью в реальном режиме времени. Надо сказать — задача оказалась не из самых лёгких. Пришлось подключать даже разработчиков фреймворка Cinder, который я взял за основу (правда, всё равно пришлось идти другим путём)! Но, вроде бы получилось! Конечно, до полноценного взаимодействия ещё далеко, но результаты есть!

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

Важное исправление по перегородкам и своя форма выбора цвета линий (обновление 0.95.8)

  1. Добавил свою форму выбора цвета. В Windows 8 и 10, перестал работать стандартный диалог выбора цвета, и поэтому были некоторые неудобства с выбором цвета. В итоге, заменил на свою пусть и простую, но в целом работающую форму:
    2. Как всегда пользователи мне активно помогают с поиском багов в макросах. Вот обнаружилась проблема с перегородками. Если толщина материала стенок перегородки отличается от толщины стенок изделия, то чертёж оказывался дефектным. Исправил эту ошибку (а так же ошибку неверного крепления на шипы для поперечных перегородок), а так же по пути в ходе тестирования обнаружил, что вся схема с расчётами просто разваливается в пух и прах для соединений на защелках и соединений стенка на шип в стенку. Пока не найдено решение, я заблокировал возможность создавать перегородки для этих режимов стенок и дна.