Почему-то в последние пару лет я упорно не замечал, что Autodesk ушел из России (шутка), но постоянно обновлял свой любимый Fusion 360 через боль и страдания. Параллельно со мной страдали некоторые мои товарищи, практически все мои обучающиеся, да и много кто ещё. Дополнительной проблемой стал перевод пары учебных аудитории на Ubuntu, а Fusion 360 существует исключительно для Windows, и костыли через wine работают криво. Даже младшие классы пострадали, т.к. разрабатывали у нас модели в Tinkercad. Единственная бюджетная (бесплатная) альтернатива, это FreeCAD, но интерфейс у него не самый дружелюбный, особенно для школьников.
Идея появилась совершенно случайно, за разговором с коллегами. А почему бы на коленке не набросать простенький 3D-редактор для моделирования под 3D-печать. С простым интерфейсом и работой прямо в браузере. Естественно, это будет не полноценный САПР, но для обучения и простенького проектирования функционала должно хватать.
Целился я в нечто среднее между Tinkercad и Fusion360. Одной из задач было обойтись без сервера, т.е. работа на стороне клиента. В качестве основы я выбрал популярную библиотеку 3D графики Three.js.
Первым делом накидал интерфейс и добавление примитивов.

Изначально примитивы были в панели инструментов, но потом мне пришла идея сделать также, как и в Tinkercad — список сбоку с возможностью перетаскивания. Туда же я закинул и встроенные stl-модели. Также добавил импорт stl.

И тут заметил неприятный нюанс. В Three.js ось Y смотрит вверх, тогда как обычно в САПР вверх смотрит ось Z.
Недолго думая повернул мировую систему координат, сетку и ориентацию камеры (спойлер: это оказалось очень тупым решением).

Дальше занялся операциями трансформации. Сделал перемещение, и тут оказалось, что оси перепутаны (кто бы знал :) ).

Потом изменение размера. Но в Three это операция масштабирования (в процентах), мне же нужно было редактирование размеров в мм. С использованием некоторой математики получилось решить этот вопрос). Оси, естественно, тоже были перепутаны.
С поворотом уже известная проблема с осями, и бонусом — перепутанное направление поворота из-за положения камеры.

На самом деле вылезло ещё куча косяков из-за поворота мировых осей, поэтому я решил забить на их правильное направление и вернуть все как было. А чтобы модели смотрели в правильную сторону, просто поворачивать их при импорте и экспорте.
Самое важное в подобном редакторе — это бинарные операции. Без операции объединения и вычитания не обойтись. Для этого используется довольно крутая библиотека three-bvh-csg.

Дальше добавил рабочие плоскости и скетчи. Скетч — это главное преимущество этого редактора. К счастью, Three.js поддерживает 2D геометрию в 3D пространстве. Поэтому режим чертежей у меня работает практически также, как и во Fusion 360.

Также добавил операцию extrude (тут как раз пригодилась библиотека three-bvh-csg, для операций «объединить» и «вырезать»). С этим пришлось повозиться, вытянуть обычную замкнутую фигуру не сложно, а вот если фигуры вложены или пересекаются, уже начинаются проблемы.

Я долго бился над этой задачей, и в итоге нашёл библиотеку clipper.js (которая как раз используется в большинстве CAD).
Все это я накидал за три дня :D (кроме интеграции clipper.js), а на четвертый уже залил на github pages. Постоянно удивляюсь, насколько ИИ позволяет экономить время.

Естественно, все работало криво-косо, с кучей багов, не работала история (а это уже недостатки использования ИИ), но все равно мой ученик смог собрать самую первую модельку, которая до сих пол лежит в библиотеке.

К концу новогодних выходных я гордо объявил, что выпускаю beta-версию :D. Хотя режим чертежей и вытягивание ещё были максимально сырые, но самые неприятные баги я поправил. Логика моя была проста: редактор обеспечивает базовый функционал, ориентировочно близкий к Tinkercad, остальное добавлю позже.

В первый же день на работе посадил детей моделировать за этот редактор. И оказалось, что им нужен как раз режим чертежей, ну кто бы мог подумать...
Пофиксить большинство багов и доработать этот режим получилось обновлением первого дня. В чертеже появились привязки к особым точкам (центры окружностей, центры и края линий и т.д). Добавил вытягивание фигур из линий (да, до этого можно было вытянуть только из готовой фигуры). Но пока оставались проблемы с объединением нескольких фигур при вытягивании, и определением пересечений. Clipper.js я внедрил позже.

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

Ещё спустя пару недель я в итоге добавил привязки к границам фигур, к 90 и 180 градусам в чертежах, внедрил clipper.js, появилось определение вложенных фигур, пересечений и т.д. (хотя это ещё допиливаю). Кроме операции «extrude» появилась «revolve», 3d текст, вставка изображений и куча других изменений.

Я все ещё активно занят допиливанием этого редактора, а пока небольшой обзор:
Встречает нас 3D режим. Интерфейс и управление приближены к Tinkercad.
Сверху расположена панель инструментов. По умолчанию активирован инструмент выделения. В этом инструменте можно таскать объекты указателем мыши (как в Tinkercad), при каждом перемещении появляется линия перемещения и поле для ввода дистанции перемещения.

Справа расположены основные меню работы с редактором. Первая вкладка — библиотека объектов (опять же, прям как в Tinkercad). Вторая вкладка — это свойства объекта и текущего инструмента. При выделении объекта можно поменять его цвет и прозрачность, а при выборе инструмента появляются его персональные свойства.

Следующая вкладка — это список объектов. Здесь можно управлять видимостью объектов, удалять их и открывать чертежи на редактирование (это уже подсмотрено у fusion). При двойном клике камера наводится на объект.

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

Не буду описывать работу всех инструментов (хотя их пока не очень много), пройдусь по основным:
Бинарный операции (объединения, вычитание, пересечение) работают для выделенных объектов. Вычитание вычитает из первой выделенной модели пересечение со второй моделью (наверное, надо будет сделать предпросмотр и выбор из чего что вычитать).
Пересечение оставляет только общую часть двух моделей (честно говоря не знаю, где её использовать, но пусть будет).
Рабочая плоскость:
Она нужна для операции разрезания и отражения. А также для построения на ней чертежа.
Рабочую плоскость можно построить на любой грани объекта или на 3х базовых плоскостях (XY, XZ, ZY).

Для построения чертежа, как я уже сказал, нужна рабочая плоскость. Он создается просто на выделенной плоскости (возможно логику ещё доработаю).
В режиме чертежа у нас изменяется панель инструментов. И появляется доступ к базовым геометрическим фигурам.

Фигуры пока только самые основные, но большинство задач они закрывают (напомню, это не профессиональный САПР, а простой online-редактор).
Для имеющихся чертежей можно применить операции выдавливания и вращения.

Вращение поддерживает в качестве оси вращения глобальные оси и линии на чертеже.

Операции трансформации (перемещение, поворот, масштабирование) в целом вышли неплохие.

Также есть пара генераторов, симметрия и разрезание.

Редактор доступен online у меня на сайте: https://www.контрбагтех.рф/контрбагcad (ссылка именно на сайт, потому что редактор не вечно будет на GitHub pages лежать).
Проект очень молодой, ещё куча мест, куда надо приложить руки. Несмотря на небольшой срок разработки, человеко-часов я в него вложил немало (меня девушка уже из дома хотела выгнать :D).
Как я уже написал, мои обучающие в нем уже работают, и активно тестируют :)
На мой взгляд получилась отличная штука для несложного проектирования под 3D-печать и обучения твердотельному моделированию, этот редактор проще и понятнее, чем fusion, но при этом намного функциональнее чем Tinkercad. А учитывая, что все это работает без установки, прямо в браузере, аналогов я не припомню.
Обратите внимание! Редактор находится на стадии активной разработки, не все функции работают в полной мере. Но ваше тестирование поможет улучшить его работу. Буду благодарен за рекламку, обратную связь, сообщения об ошибках и предложения по развитию :)
Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud — в нашем Telegram-канале ↩

Комментарии (44)

anoldman25
19.02.2026 15:13А чем вам freecad не понравился? Он вроде на всем работает, linux, mac, windows?
>>> FreeCAD, но интерфейс у него не самый дружелюбный, особенно для школьников.
И это все?
Но он имеет много достоинств: он мой (ну он работает и находится физически на моей машине), то есть если все провалится в тартарары, он останется работоспособным! Его нельзя заблокировать! Он достаточно продвинутый. Хотя не без недостатков.
А дети сейчас достаточно продвинутые. Мой внук научился править оценки в электронном дневнике! Ужас!
Все равно лайк, безумству храбрых поем мы песню.
Есть неплохая, но немного устаревшая книга про начала FreeCAD. Но основные моменты тут описаны отлично! Может кому пригодится.
https://blog.freecad.org/2022/10/05/new-book-freecad-for-makers/

AllFiction
19.02.2026 15:13Я аж не поленился создать акк что бы вам написать, настолько вы не правы)
FreeCAD очень относительно работает на линуксе. Точнее за столько времени я успел сменить два компа и он не смог нормально работать ни на одном (он, по-моему, даже тупо запустится смог только на одном из трех).
Вообще в целом для 3Д на линуксе все печально. Есть или блендер где все чертовски сложно и непонятно, или всякие *CAD где все еще хуже.
Я сам уже лет 6 точно юзаю для себя tinkercad он браузерный. Он хоть и излишне простой, но он стабильный и понятный. Последний год начали делать обновы что приятно, сделали бы еще что б не было ограничений на импортируемое и форматов для импорта побольше и вообще идеальным бы стал.
Автору как по мне нужно сохранять то самое "гитхаб-отношение" что бы пользователи могли себе утянуть, собрать например PWA и локально пользоваться. Как раз всякие автодеск-онлайн и прочие решения (есть куча браузерных крутых 3Д редакторов) режутся тем что они закрытые, платные или требуют уйму приседаний что бы начать ими пользоваться.

anoldman25
19.02.2026 15:13Отвечаю на оба поста.
Я не буду спорить. Каждый человек кузнец своего счастья. Он выбирает то, что ему подходит.
Про линукс. Я перешел на линукс где-то в начале 2000. Мне не понравилось, что там не было компилятора с "C". Перешел на Fedora. Мне не понравилось, что там очень быстро меняются релизы. Через год пропадает поддержка. Тогда я перешел на debian и теперь абсолютно счастлив. Я правда не играю в игры. Не знаю как там с играми.
Про FreeCAD. Он требует какого-то времени на освоение и не интуитивен. Согласен. И самое плохое, что каждое движение требует изучения документации и нет книг, где последовательно изложено как в нем работать. Это большой минус. Но к счастью мне попалась книга, которую я привел в предыдущем посте. Там очень многое изложено понятным языком (английским). Еще раз рекомендую скачать ее и прочитать хотя бы оглавление. Еще в недрах интернета нашел лекцию про скетчи. Называется где-то "A Sketcher Lecture Christoph Blaue" или около того. Где очень доходчиво изложены идея и работа со скетчами. Очень рекомендую. Эти две книги объяснили мне как работать со FreeCAD.
Я задал искусственному интеллекту вопрос "tinkercad или freecad" и получил ответ
Выбирайте сами. Как говорил рыцарь из "Индиана Джонс": choose wisely"
https://www.youtube.com/watch?v=oF2UrYSDb3k
FreeCAD требует работы мозгом. Но мне это нравится!

AllFiction
19.02.2026 15:13отвечу на ваши ответы:
1 - мне прямо стало интересно что это за линукс такой где не было компилятора Си, и где федора и дебиан это вообще уже "третье" (мне реально интересно что вы линуксом тогда считаете).
2 - не знаю где вы видели претензию к сложности, моя главная претензия (и людей после меня) что FreeCAD лаганое кривое говно которое даже не запускается особо, а даже запустившись оно остается кривым лаганым говном, в котором невозможно работать
я понимаю что посыл вашего комментария - как широки мои лапищи!, но можно тот же искусственный интеллект озадачивать проверкой соответстветсвия вопросов и ответа.
да и не сложный FreeCAD, обычный я бы сказал. вы явно блендер даже не открывали что бы считать FreeCAD сложным.

OFrol
19.02.2026 15:13Полностью согласен с прошлым ответом от @AllFiction: слежу за FreeCAD последние лет 10, одно время даже активно пользовался для всяких разных самоделок и могу сказать только одно - это боль и страдания. Даже небольшие проекты на 5 - 10 скетчей с взаимосвязями в какой-то момент начинают тормозить, а FreeCAD начинает падать.
Сохранение после каждой операции - это навык, без которого работать во FreeCAD просто невозможно. За час работы он может вылетать десятки раз. Это неимоверно бесит.
Даже Undo там не всегда работает как ожидается - скетчи ломаются, ломаются привязки и связи. Иногда приходится вручную ходить по всем скетчам и исправлять. А чем больше скетчей, тем больше приходится исправлять.
Иногда и на ровном месте, при неудачном перемещении какого-то отрезка в скетче, ломается вытягивание или joint. Или на соседнем скетче решатель (solver) решает констрейнты пересчитать и, например, начинает отмерять длину не "влево" (условное), а "вправо". В результате всё съезжает настолько, что исправить ничего уже нельзя, потому что все зависимые операции тоже идут по одному месту и исправление съехавшего отрезка не возвращает всё на место (Undo не всегда работает, напоминаю).
Примерно раз в год-два честно пытаюсь дать шанс FreeCAD. Пока за ~10 лет всё что я заметил - это небольшое уменьшение количества крашей. Все остальные проблемы всё там же.
Зато добавляют новые и тасуют старые воркбенчи, да.
В общем, FreeCAD для меня - один из самых удивительных продуктов сейчас: с одной стороны он реально крут для опенсорса и огромное количество мозгов и других ресурсов в него вложено, а с другой - сделать что-то даже для DIY на нём практически невозможно из-за багов.
Со стороны это выглядит как проблема с мотивацией у разработчиков - никто не хочет лезть в старый код решателя и исправлять в нём баги, все хотят только добавлять что-то новое
TheOldGrouch
19.02.2026 15:13так это стандартное отношение к проекту у open source, как в первый раз видите.

OFrol
19.02.2026 15:13Не согласен. Всё же основная часть проектов тратит достаточно времени на багфиксы. Даже с мини-библиотечками, которые часто поддерживаются одним человеком, обычно всё не так. Их скорее забросят совсем, чем будут допиливать только новые фичи, забив на исправление багов.
С другой стороны, быть может сейчас у лидеров проекта приоритет на другие воркбенчи и они осознанно приняли решение забросить Sketcher, который я и использую в основном. Возможно, другие воркбенчи не такие глючные

Hemml
19.02.2026 15:13Я пытался переехать на FreeCAD, но это что-то чужеродное по своей логике работы. Любое (вообще любое!) действие в нем для меня контр-интуитивно (в том же Fusion с нуля таких проблем не было), я пытался приспособиться, смотрел обучающие видео, но в итоге бросил. Как для русалочки, любой шаг был через адскую боль :(
aborouhin
fusion.online.autodesk.com?
На самом деле лайк, конечно, за усилия, но до стадии "я сделал свой Fusion" Вам осталось пройти ещё процентов 99 из 100 :) И что-то я подозреваю, что на этом пути будет немало этапов "переписать всё с нуля".
SaNNy32
Не будет никто ничего переписывать. Ибо поддержка приложения - это отдельная работа и заниматься ей надо полноценно, а не один час в неделю. А когда запал уйдет - и вовсе все будет заброшено.
AllFiction
В итоге все где-то как я и думал - `Autodesk Education or Commercial Account Required`
Можно считать что этой ссылки не существует, потому что функционал этого онлайн-редактора доступен не только лишь всем. Так что усилия автора очень даже актуальны, лишь бы он не скатился как и все подобные проекты в агрессивную монетизацию
EnvalidGamer Автор
А как его из России без средств обхода блокировок (которые практически все уже перестают работать) открыть? Не подскажете?
aborouhin
В России без средств обхода блокировок уже давно невозможно работать в любом случае.
EnvalidGamer Автор
Вообще фишка в том, что fusion online, onshape и возможно SketchUp online, это тонкие клиенты, работа у них на серверах, а пользователю просто картинка отображается.
С одной стороны нет зависимости от железа пользователя, а с другой непонятная политика в области персональных данных, и без сети эти редакторы превращаются в тыкву.