Я разработал свой собственный Fusion 360. Обзор моей онлайн-САПР «КонтрБагCAD»
Приветствую сообщество! Почему-то в последние пару лет я упорно не замечал, что Autodesk ушел из России (шутка), но постоянно обновлял свой любимый Fusion 360 через боль и страдания.Параллельно со мной страдали некоторые мои товарищи, практически все мои обучающиеся, да и думаю много кто ещё. Дополнительной проблемой стал перевод пары учебных аудитории на Ubuntu, а Fusion 360 существует исключительно для Windows, и костыли через wine работают криво. Единственная бюджетная (бесплатная) альтернатива, это FreeCAD, но интерфейс у него не самый дружелюбный, особенно для школьников.
Идея появилась совершенно случайно, за разговором с коллегами.А почему бы не написать простенький 3D-редактор для моделирования под 3D-печать. С простым интерфейсом и работой прямо в браузере. Естественно, это будет не полноценный САПР, но для обучения и простенького проектирования функционала должно хватать.
Целился я в нечто среднее между Tinkercad и Fusion360. Одной из задач было обойтись без сервера, т.е. работа на стороне клиента. В качестве основы я выбрал популярную библиотеку 3D графики Three.js.
Итак, что у меня получилось (кстати, всего за месяц, но разработка ещё продолжается):
Главная фишка – простой интерфейс, возможность работать с 2D чертежами (как в полноценных САПР) и редактировать STL-модели непосредственно в браузере, что делает редактор удобным для обучения, быстрого прототипирования и доработки существующих моделей.
Встречает нас 3D режим. Интерфейс и управление приближены к Tinkercad. Сверху расположена панель инструментов. По умолчанию активирован инструмент выделения. В этом инструменте можно таскать объекты указателем мыши (как в Tinkercad), при каждом перемещении появляется линия перемещения и поле для ввода дистанции перемещения.
Справа расположены основные меню работы с редактором. Первая вкладка - библиотека объектов. Опять же, почти как в Tinkercad, но немного другого формата, и с возможностью подписать автора модели, т.к. планирую туда добавлять модели предложенные сообществом.
Вторая вкладка - это свойства объекта и текущего инструмента. При выделении объекта можно поменять его цвет и прозрачность, а при выборе инструмента появляются его персональные свойства (на картинке свойства нескольких инструментов).
Следующая вкладка - это список объектов. Здесь можно управлять видимостью объектов, удалять их и открывать чертежи на редактирование (это уже подсмотрено у fusion). При двойном клике камера наводится на объект.
Последняя вкладка - история, можно посмотреть последние действия, и перемещаться по ним.
Прямо над этим меню мы видим строку состояния (тут пишутся подсказки и другая полезная информация), а также настройки внешнего вида.
Тема и окружение настраиваются отдельно. (Пока не придумал как лучше, подстраивать окружение под выбранную тему, или оставить отдельные настройки). Есть автоматический выбор темы из настроек системы, настройка сетки (пока только сетки) и автосохранения. Правда автосохранение пишется в localStorage, и не рассчитано на большие проекты.
Не буду описывать работу всех инструментов (хотя их пока не очень много), пройдусь по основным:
Бинарный операции (объединения, вычитание, пересечение) работают для выделенных объектов. Вычитание вычитает из первой выделенной модели пересечение со второй моделью (наверное, надо будет сделать предпросмотр и выбор из чего что вычитать). Пересечение оставляет только общую часть двух моделей (честно говоря не знаю, где её использовать, но пусть будет).
Рабочая плоскость: Она нужна для операции разрезания и отражения. А также для построения на ней чертежа. Рабочую плоскость можно построить на любой грани объекта или на 3х базовых плоскостях (XY, XZ, ZY).
Для построения чертежа, как я уже сказал, нужна рабочая плоскость. Он создается просто на выделенной плоскости (возможно логику ещё доработаю).В режиме чертежа у нас изменяется панель инструментов. И появляется доступ к базовым геометрическим фигурам.
Но главная фишка (которая появилась совсем недавно), это автоматическая обводка граней, в том числе и для любых STL моделей!
Фигуры пока только самые основные, но большинство задач они закрывают (напомню, это не профессиональный САПР, а простой online-редактор).
Для имеющихся фигур на чертеже можно применить операции выдавливания и вращения.
Можно выделить сразу несколько фигур (пересекающиеся и смежные вытянутся как одна).
Вращение поддерживает в качестве оси вращения глобальные оси и линии на чертеже. Вращение ещё не доработано.
Операции трансформации (перемещение, поворот, масштабирование) в целом вышли неплохие.
Также есть пара генераторов, симметрия и разрезание. Генератор шестерней вышел прям неплохим.
Есть вставка изображения. Например что-бы построить чертеж по фото, или определить угол наклона шестерни.
Редактор доступен для всех online у меня на сайте, без регистрации и совершенно бесплатно: https://www.контрбагтех.рф/контрбагcad
(Ссылка именно на сайт, потому что редактор не вечно будет на GitHub pages лежать)
Проект очень молодой, ещё куча мест, куда надо приложить руки. Например экспорт в STL часто путает направления нормалей (благо это легко чинится в слайсере). Несмотря на небольшой срок разработки, человеко-часов я в него вложил немало (меня девушка уже из дома хотела выгнать :D). Как я уже написал, мои обучающие в нем уже работают, и активно тестируют).
На мой взгляд получилась отличная штука для несложного проектирования под 3D-печать и обучения твердотельному моделированию, этот редактор проще и понятнее, чем полноценные САПР, но при этом намного функциональнее чем Tinkercad. А учитывая что все это работает без установки, прямо в браузере и напрямую с STL моделями, аналогов я не припомню.
Обратите внимание! Редактор находится на стадии активной разработки, не все функции работают в полной мере. Но ваше тестирование поможет улучшить его работу. Буду благодарен за рекламу, обратную связь, сообщения об ошибках и предложения по развитию :)
Еще больше интересных статей
Папа попросил сосалку. (Бонус в конце)
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Дело было вечером, сидели мы с тестем то ли за буты...
Стендовая модель АПЛ проекта 949А в масштабе 1:144
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Идея этого проекта родилась не из...
Книга для конструкторов, проектирующих для FDM
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Хочу представить новую книгу по FDM 3D-печати. Книга может быть полез...






Комментарии и вопросы
аналогично
Ольга, поделись моделью "и так...
Добрый день. Напишите Tyrambar...
Всем здравствуйте. У меня тако...
В общем столкнулся с такой про...
Ребят нужна помощь, пытаюсь пе...
Всем привет. Сразу отвечу всем...