170+ IT-специалистов в штате

Создание CAD системы

Клиент
NDA
Срок работы
6 месяцев
Задача
В качестве основной задачи стояла реализация математического аппарата для построения конструктора оконных рам (рама может состоять из прямых и дуг).
Основным инструментом решения задачи является js-библиотека Euclid.js / Mathigon. Для достижения поставленных целей обозначенная библиотека была расширена и дополнена собственными методами и утилитами. Из-за особенностей Euclid.js / Mathigon - библиотека не умеет работать с полигонами, ребрами которого могут быть дуги. Множество свойств не подходит для реализации необходимого функционала, из-за чего основная базовая логика была написана без какой-либо основы на сторонний код.
Для упрощения входа в проект данная часть кодовой базы была задокументирована с помощью JSDoc. Весь код, отвечающий за построение математических моделей, был вынесен в отдельный пакет. При желании код можно переиспользовать в других приложениях.
Особенности
Решение
Часы
1100 часов
Технологии
Angular
Euclid.js / Mathigon
KonvaJS
JSDoc
Решение
На текущий момент реализован базовый конструктор построения окон. Выполнены основные задачи.
Построение внешнего фрейма окна:
Построение внутренних делителей:
Определение получившихся областей в результате построения делителя
Очищение разделителей
Удаление разделителя
Очищать внешний фрейм
Изменять местоположение ребра фрейма

Рисовать оконную раму по клику на канве
Изменять местоположение вершины фрейма
Изменять степень кривизны ребра

Рисование внутренних делителей в скелете и с учетом мяса
Изменять степень кривизны делителя
Отзывы
В 2022 году мы приняли решение о создании своего сервиса 2D-моделирования инженерных систем. Так как ранее мы уже пользовались услугами компании Костафф по привлечению математика, мы вновь обратились уже за помощью в программировании данного сервиса. За 6 месяцев нам полностью удалось с 0 создать свой сервис, который мы теперь можем использовать как для своих задач, так и для задач своих клиентов.