An open API service indexing awesome lists of open source software.

https://github.com/maximk247/cadtesttask


https://github.com/maximk247/cadtesttask

express nodejs react react-three-fiber react-typescript threejs

Last synced: 4 months ago
JSON representation

Awesome Lists containing this project

README

        

# 3D Box

## Инструкция запуска

```bash
git clone https://github.com/maximk247/CADTestTask.git
```

```bash
cd CADTestTask
```

```bash
npm i
```

```bash
npm run start
```

```bash
npm run dev
```

## Описание

**3D Box** — это веб-приложение, которое позволяет пользователям создавать и настраивать 3D модели коробок с возможностью изменения размеров в реальном времени. Приложение построено на React и Three.js для визуализации и манипуляции с 3D объектами. Пользователи могут ввести длину, ширину и высоту коробки и получить обновленную 3D модель. Также имеется возможность переключаться между тёмной и светлой темами интерфейса.

## Функциональность

- Динамическое создание 3D моделей коробок.
- Визуализация изменений в реальном времени при вводе новых параметров.
- Управление камерой с возможностью вращения и изменения масштаба модели.
- Переключение между светлой и тёмной темами.
- Взаимодействие с серверной частью на Express.js для расчета вершин и индексов модели.

## Технологии

- **React** — библиотека для создания пользовательских интерфейсов.
- **Three.js** — для работы с 3D графикой в браузере.
- **React Three Fiber** — обертка для интеграции Three.js с React.
- **Ant Design** — библиотека компонентов пользовательского интерфейса.
- **Express.js** — для обработки серверных запросов и API.

## Структура проекта

- **components/** — содержит React-компоненты для отображения формы, переключателя тем, и 3D бокса.
- **api/** — серверная часть для обработки запросов, таких как расчеты вершин и индексов..
- **src/** — основная часть исходного кода приложения.
- **utils/** — вспомогательные функции для параметров приложения.
- **interfaces/** — определение интерфейсов для компонентов.
- **enums/** — определения перечисляемых свойств.

## Как использовать

1. Введите значения для длины, ширины и высоты коробки в поля формы.
2. Нажмите кнопку для обновления 3D модели на экране.
3. Переключите тему с тёмной на светлую с помощью переключателя темы.
4. Управляйте 3D моделью с помощью мыши — вращайте и приближайте вид.

## API

Приложение включает серверную часть на Express.js, которая обрабатывает запросы на расчет 3D геометрии. Клиент отправляет запрос с параметрами коробки, а сервер возвращает данные о вершинах и индексации для 3D модели.