Быстрый старт
В этом руководстве описан процесс клонирования, сборки и первого запуска проекта OpenCS.
Системные требования
- Операционная система: Windows 10 / Windows 11 (для основного WPF-приложения).
- Платформа: .NET 10.0 SDK или новее. Версия .NET для всех проектов решения задаётся одним свойством
OpenCSTargetFrameworkвDirectory.Build.props, версия SDK — вglobal.json. - Среда разработки: Visual Studio 2026 (версия 18.0+ с рабочей нагрузкой .NET Desktop Development), Rider или Visual Studio Code с C# Dev Kit.
- (Опционально) Установленный AutoCAD (кроме LT), nanoCAD или другая САПР с ActiveX API, совместимым с AutoCAD, — для импорта сечений прямо из открытого чертежа (импорт DXF-файлов работает без САПР).
Клонирование репозитория
Склонируйте исходный код проекта с GitHub:
Сборка решения
Собрать решение можно через командную строку .NET CLI:
Либо открыть OpenCS.sln в вашей IDE и нажать ++ctrl+shift+b++.
Запуск приложения
Для запуска графического интерфейса пользователя (WPF):
[!NOTE] Вычислительные библиотеки (
CSmath,CSTriangulation,CScore,CSfea.*) не зависят от Windows Desktop SDK и могут компилироваться и тестироваться на кроссплатформенной основе (Linux, macOS, Windows).
Параметрическое железобетонное сечение
Для типовых железобетонных сечений не обязательно вручную создавать контуры, материальные области и группы арматуры. Параметрический режим объединяет эти действия в одном диалоге и сохраняет исходные параметры, чтобы сечение можно было изменить или пересобрать.
Прямоугольник
Тавр
Двутавр
Круг
Кольцо
Создание сечения
- Подготовьте материалы бетона и продольной арматуры в разделе Материалы. Проверьте, что для нужных типов расчёта у материалов есть характеристики и диаграммы.
- Откройте контекстное меню раздела Поперечные сечения и выберите Параметрическое ЖБ-сечение.
- В группе Исходные данные задайте наименование или тэг, форму и размеры. Поддерживаются Прямоугольник, Тавр, Двутавр, Круг и Кольцо. Размеры вводятся в миллиметрах.
- Выберите бетон и материал продольной арматуры.
- Для прямоугольника, тавра и двутавра настройте нижний и верхний слой: физический слой задаётся количеством стержней, диаметром и защитным отступом; идеализированный слой — площадью
A_s, диаметром для схемы, отступом и направлениемMxилиMy. - Для круга и кольца задайте полярную арматуру: количество стержней, диаметр и радиус размещения.
- При необходимости включите поперечную арматуру и задайте
n(число срезов),Ø_sw, шагs, защитный слойc, материал, зону и направление. В диалоге отображаются предварительныеA_swиq_sw. - Проверьте справа Схему сечения, а внизу — сообщения диагностики. При некорректных или неполных исходных данных сохранение заблокировано.
- Нажмите Сохранить. Сформированное сечение появится в группе Параметрические ЖБ.
Сечения, созданные командой Создать сечения стержней по данным схемы, могут содержать стержни по данным схемы — арматуру из подбора или задания ЛИРЫ/SCAD. Они показываются на схеме и строкой «Стержни по данным схемы: N, ΣAs = …»; кнопка Убрать удаляет их из сечения.
В диалоге показана глобальная ось Y: положительный Mx растягивает грань с Y > 0. Для тавра и двутавра нормальная проверка является справочной и предполагает N ≈ 0 и пролёт при сжатой полке; для остальных случаев используйте НДМ. Для круга и кольца приложение Д ограничено арматурой не выше А400, не поддерживает N > 0 и при проверке сжатия требует длину элемента.
Проверка и изменение
Выберите созданное сечение в группе Параметрические ЖБ. В контекстном меню доступны:
- Открыть сформированное — открыть объект сечения для просмотра и выбора в расчётной задаче;
- Изменить параметры — вернуться к исходному определению, изменить размеры или армирование и сохранить новую сборку;
- Пересобрать — заново сформировать сечение из сохранённых параметров после подтверждения.
Изменяйте параметрическую геометрию и армирование через Изменить параметры. Ручная правка сформированных областей может сделать их отличающимися от сохранённого определения; после обновления такой объект может быть показан среди обычных сечений, пока его не пересоберут или не проверят.
Использование в расчёте и отчёте
После создания откройте сформированное сечение и выберите его при создании расчётной задачи. Дальше расчёт выполняется обычным способом: задайте набор усилий, запустите задачу и проверьте статус, равновесие, знаки моментов и предупреждения.
В поддерживаемых отчётах вместе с исходными данными выводится графическая схема параметрического сечения. Поэтому перед экспортом полезно проверить, что на схеме верно показаны форма, расположение слоёв и направление осей.
Параметрическое стальное сечение
Стальное сечение для проверок по СП 16 удобнее всего задать параметрически: так в расчёт попадает не только контур, но и явный профиль (вид, изготовление, размеры, ориентация).
- Добавьте в разделе Материалы материал «Сталь».
- Откройте контекстное меню Поперечные сечения и выберите Параметрическое МК-сечение.
- Выберите Вид сечения и Изготовление. Если для них есть сортамент, выберите Стандарт и Профиль — размеры заполнятся автоматически; иначе введите размеры в миллиметрах.
- При необходимости задайте ориентацию (Повернуть на 90°, Зеркально), проверьте схему, характеристики и блок Применимость СП 16.
- Нажмите Сохранить. Сечение появится в группе Параметрические МК; выберите его в стальной расчётной задаче.
Подробности — в справочнике интерфейса и в разделе «Профиль сечения».
Первый расчёт сечения
flowchart TD
A[Создать проект] --> B[Создать контур]
B --> C[Добавить материал]
C --> D[Создать MaterialArea]
D --> E[Добавить арматуру]
E --> F[Создать CrossSection]
F --> G[Создать ForceSet]
G --> H[Создать CalcTask]
H --> I[Запустить и открыть результат]
- В дереве проекта создайте внешний контур. Для типового железобетонного сечения вместо ручной сборки можно сразу использовать параметрический режим. Для отверстия используйте внутренний контур области, а не отдельный бетонный материал.
- Создайте бетонный материал и выберите диаграмму для нужного
CalcType. - Создайте материальную область и назначьте ей
Hull, отверстия и материал. - Добавьте группы продольной арматуры как точечные фибры. Проверьте
HostArea. - Создайте
CrossSectionи убедитесь, что все нужные области входят в него. - Создайте набор усилий. Перед запуском сверяйте знак
Mx/Myс расположением растянутой арматуры. - Создайте задачу
strain_stateили пакетную задачу и откройте результат.
Минимальный контроль результата
- статус задачи — не
errorи неnot_converged; - равновесие
N,Mx,Myсоответствует заданным усилиям; - растянутая грань совпадает с ожидаемой;
- карта деформаций не имеет неожиданных скачков;
- для сеточного пути результат устойчив при сгущении;
- отчёт содержит исходные данные, единицы и предупреждения.
После первого запуска полезно повторить расчёт без сеточных фибр и сравнить его с контурным интегрированием.