О чём эта статья

Я занимаюсь разработкой ПО для строительной механики. В процессе работы над одним из проектов возникла потребность в простом инструменте для построения линий влияния в многопролётных шарнирных балках. Готового решения под рукой не оказалось, и я написал свой веб-модуль.

Результатом захотелось поделиться с сообществом — вдруг кому-то тоже пригодится. Под катом — описание того, что получилось, как это работает, и где может быть полезно.

Что такое линии влияния и зачем они нужны

Для тех, кто не в теме: линия влияния — это график, показывающий, как изменяется усилие (поперечная сила, изгибающий момент или реакция опоры) в заданном сечении или опоре при движении единичной нагрузки по конструкции.

В отличие от эпюры, которая фиксирует состояние при статической нагрузке, линия влияния даёт понимание, как конструкция отреагирует на подвижную нагрузку — например, на движение поезда по мосту или автомобиля по балке.

Особенность многопролётных шарнирных балок в том, что они статически определимы, но имеют промежуточные шарниры. Из-за этого линия влияния распадается на участки, и её ручное построение — довольно муторное занятие, особенно когда пролётов больше двух.

Что делает мой инструмент

Это веб-приложение на чистом HTML, CSS и JavaScript (без серверной части, без библиотек). Оно позволяет:

  • Визуализировать линии влияния для:

    • поперечной силы в заданном сечении

    • изгибающего момента в заданном сечении

    • реакции в заданной опоре

  • Интерактивно менять схему балки (количество пролётов, расположение шарниров)

  • Перемещать единичную нагрузку и видеть, как меняются значения

  • Получать численные значения для любого положения груза

Инструмент подходит для:

  • проверки ручных расчётов (студентам и преподавателям)

  • быстрой прикидки при проектировании

  • демонстрации поведения конструкции на лекциях или в учебных курсах

Как это работает: краткий алгоритм

Внимание: здесь я описываю логику, не раскрывая полный код. Если захотите обсудить детали — пишите.

За основу взят классический подход строительной механики для статически определимых многопролётных балок:

  1. Задание схемы — массив объектов с координатами опор и шарниров.

  2. Построение линии влияния — для каждого положения единичного груза строятся линии влияния и вычисляются усилия в заданном сечении или опоре.

  3. Визуализация — линии влияния рисуются на Canvas. Ординаты точек линий влияния пересчитываются из расчётных в экранные, масштаб подбирается автоматически.

  4. Интерактив — пользователь может может задать любое положение опор, шарниров, заделки и приложенных к балке нагрузок: сосредоточенных сил, изгибающих моментов и распределённых нагрузок.

Пример кода (упрощённо): как задаётся балка

javascript

// Пример конфигурации трёхпролётной балки с двумя шарнирами
const beam = {
  spans: [
    { length: 4, leftSupport: 'hinge', rightSupport: 'hinge' },    // левый пролёт
    { length: 3, leftSupport: 'hinge', rightSupport: 'roller' },   // средний пролёт
    { length: 5, leftSupport: 'hinge', rightSupport: 'roller' }     // правый пролёт (консоль? зависит от схемы)
  ],
  hinges: [
    { position: 4.0 },   // шарнир после левого пролёта
    { position: 7.0 }    // шарнир после среднего пролёта
  ]
};

Демонстрация работы

Видео: https://vkvideo.ru/video-233024763_456239019

На видео показано:

  • как строится линия влияния момента для выбранного сечения

  • как меняются значения поперечной силы, изгибающего момента и реакции в опоре при движении груза

  • интерфейс с численным выводом результатов

Для кого это может быть полезно

1. Студентам и преподавателям
Модуль можно интегрировать в учебные курсы по строительной механике. Студент решает задачу ручками — и сразу визуально проверяет ответ. Преподаватель показывает поведение конструкции на лекции без рисования на доске.

2. Разработчикам САПР
Если вы делаете CAD/CAE-систему для расчёта стержневых конструкций — алгоритмы и интерфейс могут стать прототипом встроенного калькулятора линий влияния.

3. Инженерам-проектировщикам
Быстро прикинуть линии влияния для нестандартной балки, не разворачивая тяжёлый софт.

Что дальше? (про сотрудничество — честно)

Я не выкладываю полный исходный код в открытый доступ, но готов к диалогу.

Мои предложения:

  • предоставить демо-версию для оценки

  • адаптировать модуль под конкретную задачу (другой тип конструкции, экспорт в PDF, интеграция с вашим интерфейсом)

  • продать исходный код с правом использования в вашем продукте

  • проконсультировать по интеграции

Если вам это интересно — пишите в личные сообщения на Хабре или оставляйте комментарий под статьёй. Обсудим детали в удобном формате.

Спасибо, что дочитали. Надеюсь, инструмент окажется кому-то полезным.

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