LiraAPI, быстрый старт

Страницы:1
LiraAPI, быстрый старт
 

   Пошагово рассмотрим последовательность действий для создания простого плагина, который будет выводить на экран количество выбранных в модели объектов. В данном посте будет разработан плагин с использованием библиотек .Net, а именно языка С#, но также возможна разработка с использованием С++, подробный синтаксис доступных команд описан в документе "C:\Program Files\Lira Soft\Lira10.12\LiraAPI\LiraAPIHelp.pdf".

   Для добавления расширения ПК ЛИРА 10.12 потребуется выполнить два действия:

а. Разработать расширение dll, опираясь на возможности API ПК Лира.

б. Зарегистрировать разработанное расширение в среде ПК ЛИРА 10.12.

   а. Разработка пользовательского расширения

   Создаем новый проект в SharpDevelop (или любой другой среде, например, в Microsoft Visual Studio) – библиотека классов C#, .NET Framework 4.5. В свойствах проекта указываем работу с 64-разрядными системами.

   Для корректной работы плагина в проект необходимо добавить минимальный набор ссылок: System, System.Data, System.Windows.Forms и библиотеки Лира "..\Lira Soft\Lira10.12\bin64\FEModel.dll", "..\Lira Soft\Lira10.12\bin64\LiraAPI.dll".


   Реализуем в проекте класс TestClass наследованный от интерфейса ILiraAPI, который описан в LiraAPI.dll. Внутри данного класса мы  выстраиваем основную логику программы. Далее будет приведен код программы с необходимыми комментариями.

Код
public class ClassStress : ILiraAPI //класс наследованный от ILiraAPI
{
LiraAPI.ReturnCodes LiraAPI.ILiraAPI.ExecuteProgram_Result(IResultLiraAPI result, int nodesCount, int elemCount, List<List<FEModel.Results_Key>> allLoadCases, FEModel.Results_Key loadCase)
{
//nodesCount и elemCount – количество узлов и элементов в расчетной схеме
//loadCase - информация о текущем загружении
//allLoadCases - информация обо всех доступных в задаче загружениях
//result - объект, позволяющий получить таблицы результатов расчета
List<int> elementArray = new List<int>(); //массив индексов узлов или элементов (начиная от 0)
for (int i = 0; i < elemCount; i++) {elementArray.Add(i);}
List<FEModel.Results_Key> pKeyArr = new List<Results_Key>(); //объект, описывающий загружение
pKeyArr.Add(loadCase);
FEModel.e_Results_ColumnType[] pColumnArr = null; //имена столбцов таблицы результатов
string[] pNameColumns = null; //названия столбцов таблицы результатов
//получение таблицы результатов allElements, в данном случае RTT_ELEMENTS, которая содержит информацию об элементах, номер, тип,
сечение и т.д. Подробную информацию о доступных типах таблиц вы можете найти в файле LiraAPIHelp.pdf, который копируется на
жесткий диск в папку [INSTALLDIR] + "\\LiraAPI" в момент установки ПК ЛИРА 10.12
System.Data.DataTable allElements = result.get_TableResult(e_Results_TableType.RTT_ELEMENTS, elementArray, pKeyArr, ref pColumnArr, ref pNameColumns);
int count=0; //счетчик отмеченных элементов
//перебираем элементы в полученной таблице результатов allElements
foreach (System.Data.DataRow currentElement in allElements.Rows)
{
//проверка – является ли текущий элемент отмеченным. Информацию по названию столбцов в
текущей таблице результатов вы можете просмотреть в режиме отладки, например,
для таблицы элементов на иллюстрации:
Код
if ((bool)currentElement[16] == true){
count++; //если текущий элемент является выбранным, то увеличиваем значение счетчика
}
}
MessageBox.Show("Отмечено
элементов: "+count.ToString()); //выводим сообщение
return ReturnCodes.RC_OK;
} }

Запускаем проект на выполнение, в результате чего в папке проекта будет скомпилирована библиотека test.dll – пользовательское расширение. Размещаем библиотеку по следующему пути "C:\Users\User1\AppData\Roaming\Lira Soft\Lira10.12\Addins\test.dll".

   б. Регистрация пользовательского расширения

   На следующем этапе нам необходимо зарегистрировать созданное нами расширение в ПК Лира, чтобы его можно было запустить на выполнение.

   При первом запуске ЛИРА 10.12 создает файл с глобальными настройками:

[ApplicationData]+"\\Lira Soft\\Lira10.12\\VariableEnvironment_x86.xml"

[ApplicationData]+"\\Lira Soft\\Lira10.12\\VariableEnvironment_x64.xml"

   Среди прочих настроек в этом файле есть параметр AddinsPath, содержащий путь к папке, в которой должны находиться xml-файлы регистрации расширений. По умолчанию это [ApplicationData]+"\\Lira Soft\\Lira10.12\\Addins".

   На примере нашего расширения файл регистрации расширения ([ApplicationData]+"\\Lira Soft\\Lira10.12\\Addins\\test.xml") должен иметь следующую структуру:

Код
<?xml version="1.0"
encoding="utf-8"?>
<LiraAddIns>
<AddIn Type="PROLONGATION">
<AssemblyPath>"C:\Users\User1\AppData\Roaming\Lira Soft\Lira10.12\Addins\test.dll"</AssemblyPath>
<CommandName>Количество выбранных</CommandName>
<CommandDescription>Выводит количество отмеченных элементов</CommandDescription>
<ImagePath> </ImagePath>
<Vendor>ЛИРА Софт</Vendor>
<VendorDescription> ЛИРА Софт </VendorDescription>
</AddIn>
</LiraAddIns>

   AddIn содержит атрибут Type, который может принимать одно из трех значений: PRIME, PROLONGATION или ALL. Этот атрибут указывает, в каком режиме будет доступна команда этого расширения: в режиме редактирования исходных данных, в режиме анализа результатов расчета или в обоих режимах. В текущей версии доступно только значение PROLONGATION.

AssemblyPath — абсолютный путь к файлу расширения *.dll.

ImagePath — абсолютный путь к файлу, содержащему изображение для иконки в меню

(стандартный размер Width=24, Height=20).

CommandName — имя команды в меню ЛИРА 10.12.

Vendor и VendorDescription — информация о разработчике расширения.

   При запуске ЛИРА 10.12 добавляет пункт меню для каждого найденного и удачно прочитанного xml-файла регистрации расширений.


   Для тестирования разработанного расширения мы выбираем один элемент в расчетной схеме и запускаем наш плагин на вкладке «Расширения», запуск необходимо выполнять в режиме просмотра результатов. В результате работы получим на экране сообщение о том, что в схеме отмечен 1 элемент.

Изменено: - 07.06.2022 12:20:03
Страницы:1

Новый релиз ПК ЛИРА 10 версия 2024 R3.2
Вышел новый релиз ПК ЛИРА 10 версия 2024 R3.2. В обновлении устранены выявленные ранее ошибки, а также реализован ряд улучшений, направленных на повышение стабильности и эффективности работы программного комплекса.
30 апреля 2026
EURO-ASIAN FORUM «SEISMO-2026»: ЛИРА софт выступит в Иркутске

10–12 марта 2026 года в Иркутске пройдет EURO-ASIAN FORUM «SEISMO-2026» — XVII Российская национальная конференция по сейсмической безопасности и снижению рисков бедствий. Форум объединит экспертов в области инженерной сейсмологии, проектирования и расчета конструкций в сейсмоопасных районах.

18 февраля 2026
Новый релиз ПК ЛИРА 10 версия 2024 R3.1
В преддверии Нового года мы подготовили для пользователей программного комплекса ЛИРА 10 подарок — новый релиз ПК ЛИРА 10 версия 2024 R3.1. Обновление уже доступно и станет хорошим завершением рабочего года, а для кого-то — удобной отправной точкой для проектов 2026 года.
30 декабря 2025
Поздравляем вас с наступающим Новым 2026 годом и Рождеством!
Конец года — хороший повод зафиксировать результаты и посмотреть, каким он был на самом деле.
25 декабря 2025
Все новости
Информационное моделирование и проектирование многоэтажного жилого здания с использованием российского программного обеспечения
Выполнено формирование информационной модели многоэтажного
жилого здания в BIM-системе Renga. Проведен экспорт модели и расчет конструктивной
системы здания в ПК Лира 10.12. Представлены результаты моделирования и
проектирования.
12 февраля 2024
Реализация модели контактного слоя при расчете адгезионного соединения с использованием метода конечных элементов
В большинстве опытов по испытанию адгезионных соединений измеряется средняя адгезионная прочность. Данная величина вычисляется как отношение разрушающей нагрузки к площади склейки. Подобный подход подразумевает равномерное распределение касательных напряжений. Исследователи давно обнаружили, что средняя адгезионная прочность соединения является сильной функцией геометрических [1] и физико-механических параметров модели и, следовательно, делает малоинформативными и несопоставимыми экспериментальные данные, выполненные на отличающихся образцах. Малочисленные результаты по измерению касательных напряжений по площади склейки с использованием преимущественно поляризационно-оптических методов [2] показывают, что распределение напряжений является нелинейной функцией. При этом наблюдается концентрация напряжений у торцов модели. В связи с этими фактами возникает необходимость детального изучения напряженно-деформированного состояния адгезионных соединений.
06 июня 2019
Оценка точности нелинейного статического метода анализа сейсмостойкости сооружений
В статье рассмотрено практическое применение методики нелинейного статического анализа сейсмостойкости зданий и сооружений. Произведен расчет одноэтажной стальной рамы нелинейным статическим и нелинейным динамическим методами. В результате анализа полученных результатов расчета показана значимость высших форм колебаний и необходимость анализа их влияния на реакцию системы.
06 февраля 2018
Напряженно-деформированное состояние коррозионно - поврежденных железобетонных элементов при динамическом нагружении
С помощью современного программно-вычислительного комплекса  ЛИРА 10.6 выполнена сравнительная оценка напряженно–деформированного состояния  не поврежденного и коррозионно-поврежденного железобетонного элемента при динамическом и статическом нагружении. Проанализировано   влияния ослабленного коррозией бетонного участка сжатой зоны на перераспределение напряжений в сечении.
25 января 2018
Все публикации
Расчет зданий и сооружений на закарстованных территориях в ПК ЛИРА 10
Вы узнаете, как учитывать требования нормативных документов при работе с карстовым основанием, а также как анализировать и корректно оформлять полученные результаты расчетов.
27 апреля 2026
Расчет зданий и сооружений на динамические нагрузки и воздействия в ПК ЛИРА 10
Мы расскажем, какие подходы применяются для анализа динамики оборудования на строительные конструкции, и предоставим практические примеры и инструменты, которые помогут в решении этих задач.
24 апреля 2026
Построение поэтажных планов в ПК ЛИРА 10
Этот видеоролик открывает серию материалов и посвящен построению геометрии расчетной схемы многоэтажного здания в AutoCAD с последующим экспортом модели в ПК ЛИРА 10.
04 марта 2026
Задание нагрузок в ПК ЛИРА 10
Этот видеоролик открывает серию материалов и посвящен построению геометрии расчетной схемы многоэтажного здания в AutoCAD с последующим экспортом модели в ПК ЛИРА 10.
04 марта 2026
Все записи вебинаров