Спецификация ПО для симуляции многозвенного механизма (MBD)

1. Общее описание задачи

Разработать программный продукт, который воспроизводит функциональность инженерного ПО класса Multi Body Dynamics (MBD) применительно к трехмерному кривошипно-шатунному механизму. Вместо традиционных клапанов используется деталь, которая считывает угол поворота кривошипа и совершает перемещения по всем трём координатным осям. Программа должна быть автономной, иметь графический интерфейс и поддерживать полный цикл: ввод данных → импорт моделей → сборка → симуляция → обнаружение коллизий → оптимизация.

2. Основные требования к функционалу

  • Пользовательский интерфейс ввода данных: форма для задания геометрических и кинематических параметров (размеры, массы, начальные углы, жёсткость связей и пр.).
  • Импорт моделей геометрии: поддержка форматов STEP (.stp), JT (.jt), IGES (.igs). Модели должны загружаться и корректно отображаться в 3D‑сцене.
  • Проверка корректности данных: автоматическая валидация физически недопустимых значений (отрицательные длины, перекрёстные синусы и т.п.) с выдачей понятных пользователю сообщений.
  • Автоматическое построение параметризованной модели: пользователь задаёт основные параметры, ПО самостоятельно строит сборку механизма с кинематическими связями.
  • Симуляция и оптимизация: запуск динамического анализа с возможностью покадрового просмотра (time‑stepping) и варьирования ключевых параметров для достижения заданного закона движения выходного звена.
  • Детекция коллизий: проверка самопересечения, пересечения деталей и контакта с окружающей средой.
  • Визуализация результатов: графики изменения координат, скоростей и ускорений во времени; анимация симуляции в 3D‑окне.
  • Экспорт результатов: выгрузка графиков, данных в формате CSV/PDF, анимации в видеофайл.

3. Входные данные и среда

Исходный механизм заказчика моделируется в корпоративном решении на базе MADYMO/Simpack (конкретные бренды не упоминаются). Валидация разрабатываемого ПО должна показать расхождение не более 5% по траектории выходного звена относительно эталонной симуляции. Тестовая 3D‑модель (сборка) будет предоставлена заказчиком.

4. Технические требования к реализации

  • Желательный стек: C++/Python с использованием библиотек физического анализа (ODE, Bullet, PyDy) и 3D‑визуализации (OpenSceneGraph, VTK или аналоги).
  • Кроссплатформенность или поддержка Windows 10/11.
  • Графический интерфейс должен быть интуитивным, на русском или английском языке (по согласованию).

5. Этапность сдачи

  1. Прототип: реализация ввода параметров, импорт STEP‑моделей, сборка механизма (базовая кинематика класического кривошипно-шатунного типа).
  2. Симуляция и валидация: выполнение первого тестового прогона, сверка выходных данных с эталоном через общие метрики.
  3. Детекция коллизий + оптимизация: добавление в анализ зазоров и барьерной логики, интегрирование простого параметрического оптимизатора.
  4. Финальная версия: полноценный верифицированный продукт с документацией, экспортом и пользовательскими инструкциями.

6. Желаемый срок и формат сдачи

Сроки уточняются с фрилансером, предпочтительно в течение 4-6 недель. Готовый исходный код, исполняемые файлы, тестовая документация и примеры моделей передаются через Git‑репозиторий либо архивом.

Доработка парсеров: CoinMarketCap и Discord

Требуется опытный программист для доработки и стабилизации двух парсеров. Первый - для сбора данных с платформ CoinMarketCap и Nansen/Arkham на Python + Selenium. Второй - для извлечения веток из Discord с последующим AI-переводом и отправкой в Telegram, написан на TypeScript/Bun.