КонтрCAD получил ноые продвинутые инструменты! Sweep, Loft, 3D массивы и многое другое...
Приветствую сообщество! Давно не было новостей, но работа над КонтрCAD никогда не останавливается. За это время произошло много интересного: получена государственная регистрация, полноценно запущено облако. Но главным достижением я считаю начало использования КонтрCAD в школах и центрах доп. образования.
На платформе зарегистрировано более 2000 активных пользователей. Не менее 30 учреждений уже применяют редактор в своей работе (скорее всего, гораздо больше, т.к. про всех я банально не знаю), причём это кейсы, где программу реально используют, или даже запустили курс/учебную программу на её базе. Коллеги из Ангарска запустили несколько программ, и уже даже пилят обучающие ролики!
В основном мое внимание сейчас сконцентрировано на устранении багов и повышении UX. Но, разумеется, не обошлось без добавления новых, я бы сказал долгожданных, инструментов. А именно Sweep и Loft!
Ну, начнем обзор по порядку, от самого важного:
Кэширование операций
Это одно из самых важных обновлений, которое повышает удобство работы в редакторе в разы.
После перехода на параметрическое ядро (ещё в обновлении 0.9.0) возникла серьёзная архитектурная проблема: если требуется откатиться назад, даже на один шаг, приходится заново выполнять все операции, которые привели к построению модели. Нетрудно догадаться, что на сложных проектах простое действие Ctrl+z приводило к затормаживанию программы. Причём иногда достаточно длительному. И так при каждом откате или перемещении по истории.
Проблема эта решилась вполне логично. Достаточно просто кэшировать результаты предыдущих операций. Из-за сложности внедрения я тянул с этим обновлением до версии 0.9.63, но результат превзошёл все ожидания. Перестроения стали моментальными.
Построение по сечениям, или Loft
Особенностью этого инструмента стало то, что он написан практически полностью с нуля. В manifold нет этой операции. Тело фигуры строится по собственному алгоритму, используя точки выделенных сечений. И только крышки делаются при помощи manifold.
Инструмент поддерживает сечения любой формы, соединения граней 3D-объектов, объектов и чертежей или просто чертежей. Даже сечения с отверстиями, но количество отверстий должно совпадать.
Выдавливание по траектории, или Sweep
С выдавливанием по траектории пришлось повозиться. Главная причина в том, что полноценно этой операции в manifold тоже нет. Но есть обычное выдавливание и изгибание по траектории. Комбинацией этих функций получилось добиться нужного результата.
Но не всё так просто. Пришлось решить много проблем. Для получения правильной траектории нужно было постараться. Также пришлось устранить проблемы с самопересечением на резких изгибах и сделать правильное соединение на замкнутых путях.
В итоге вышел очень интересный инструмент с кучей дополнительных функций. Например, есть скручивание и масштабирование.
Чертеж
В чертеже появилось полноценное проектирование геометрии (при доработке STL очень удобно). Два типа выделения рамкой: по пересечению или по перекрытию (справа-налево и слева-направо соответственно). Доработана вспомогательная геометрия, появились ножницы, скругления и многое другое.
Фаска/скругление
Скругление наконец научилось поддерживать многогранные углы. Изменилась форма на более правильную, а также сам алгоритм стал гораздо надежнее и стабильнее. Главное: добавлена спайка построенных точек призмы. Теперь фаска строится единым телом, а не набором сегментов (это даже на предпросмотре видно).
Но врать не буду, некоторые артефакты ещё встречаются.
Массивы
В последнем обновлении были добавлены круговой и кубический массивы - инструменты, позволяющие размножить 3D по соответствующему паттерну (кубическая сетка или окружность).
А также массив по траектории!
Интерфейс
Для большинства функций добавлена более наглядная подсказка.
Сам интерфейс получил более современный и красивый дизайн. Появилось сворачивание кнопок в меню на маленьких экранах.
Режим обучения
Одна из самых топовых функций для педагогов, да и просто для начинающих. Напомню, проекты в КонтрКАД - это просто список операций с параметрами, и грех было этим не воспользоваться в образовательных целях. В обучении есть два режима: просмотр и практика.
В режиме "Просмотр" можно просмотреть все операции проекта, при этом каждая операция будет с понятным описанием и подсветкой кнопки инструмента. А педагоги могут изменить это описание (оно хранится в самом проекте), после чего дать этот проект детям на обучение.
Режим "Практика" ещё более интересен. В этом режиме вам предлагается самостоятельно выполнить все операции проекта, при этом каждое следующее действие будет отображаться в виде фантома. Генерация описания тут немного меняется. Но отредактированное описание для обоих режимов общее.
Главная фишка - это, конечно, возможность запустить режим обучения на любом проекте. Прямо сейчас вы можете открыть любой проект из библиотеки или из файла, и посмотреть по шагам, как он был сделан.
Редактирование операций
Давно просили это добавить. В истории появилась дополнительная кнопка, позволяющая открыть редактор параметров операций. 
Пока ещё не все операции поддерживают редактирование, но постепенно этот список расширяется.
Многое было сделано по запросам сообщества
Прилипание объектов библиотеки. Теперь, если переносить объекты из библиотеки, они кладутся не только на стол, но и на другие объекты (как в Tinkercad). На стол тоже можно положить, зажав shift.
Фиксирование осей. В режиме свободного перемещения теперь можно зажать shift, и ось, по которой происходило перемещение, зафиксируется.
Смещения при копировании: теперь при дублировании смещение отсутствует, а при копировании равно половине объекта (опять же, по просьбам пользователей Tinkercad). И по просьбам пользователей более продвинутых сапр, в настройки графики была добавлена опция отключения инерции камеры.
Устранено множество багов, сделано много технических доработок
Последние пару месяцев я в основном работал над доработкой имеющегося функционала. В большинство полей добавлена поддержка вычисления математических выражений, а также подтверждение при нажатии enter. Добавлены новые утилиты, менеджеры и многое другое для унификации и упрощения кода.
У многих пользователей возникла проблема со свежей версией three.js, точнее с отсутствием поддержки web-GL 2.0. Поэтому для них была выпущена специальная версия редактора (ссылка есть на странице Не работает КонтрCAD?)
Итог
Редактор стал заметно быстрее, а также получил новые продвинутые инструменты, которые все ждали. Главное - стало меньше багов и мелких неудобств, которые мешали в ежедневной работе. А функционал редактора по-прежнему бесплатен и без ограничений.
Облачная часть редактора тоже претерпела значительные изменения, появилась совместная работа над проектами, режим класса, портфолио и многое другое. Я решил не смешивать инструменты моделирования и сетевые функции в один пост, поэтому про эту часть выйдет отдельная статья через пару дней.
Искренне благодарю сообщество за помощь и поддержку!
Без вас проект не развивался бы так быстро и не стал таким крутым!
Редактор все также доступен online, без регистрации и совершенно бесплатно: https://www.kontrcad.ru/
Новости об обновлениях в основном выходят в Telegram и ВК. Буду благодарен за медийную поддержку, обратную связь, сообщения об ошибках и предложения по развитию :)
Еще больше интересных статей
Втулка и не только по размерам без CAD
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Зачем хранить проект, если STL уже есть
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
3D моделирование в SolidWorks 2014. Часть 1.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Последнее время очень много было статей (и о, боже, даже книг)...

















Комментарии и вопросы
Благодарю!
Круто. Желаю Вам продолжать ра...
Не уверен что лучше. Но проще....
Здравствуйте, нужен совет. В 3...
Здравствуйте. Подскажите пожал...
Подскажите чем или как можно р...
Добрый день! Подскажите, нужно...