LIRA‑FEM API позволяет управлять системой ВИЗОР из других программ, например из Microsoft Excel, с использованием языков программирования, поддерживающих технологию ActiveX или COM, таких как Visual Basic Script, JavaScript, C#, Java, Visual Basic, Visual Basic.NET, C++, Delphi и др.
- Быстрый старт: пример использования LIRA-FEM API на языке JavaScript
- Создание геометрии П-образной рамы длиной 6 и высотой 3 м на языке Visual Basic
- Создание геометрии П-образной рамы длиной 6 и высотой 3 м на языке C#
- Объектная модель LIRA-FEM API
- Получение информации о свойствах и методах каждого объекта LIRA-FEM API
Для использования LIRA-FEM API не требуется никаких специальных программ, кроме текстового редактора. Проиллюстрируем это пошаговой инструкцией.
Вставьте в него следующий текст:
//Функция создания П-образной рамы 6х3 м function CreatePortalFrame6x3m() { //Запускаем ВИЗОР var App = new ActiveXObject("LiraFem.Application"); //Создаём в нём новую расчётную схему: var Doc = App.CreateNewDocument(); //Создаём и заполняем таблицу координат узлов: var kNodesTable = 2; var Nodes = Doc.AllTables.CreateNewItem(kNodesTable); var NodeCoords = [[1, 0.0, 0.0, 0.0], [2, 6.0, 0.0, 0.0], [3, 0.0, 0.0, 3.0], [4, 6.0, 0.0, 3.0]]; Nodes.SetContents(NodeCoords); //Создаём и заполняем таблицу элементов: var kElsTable = 3; var Els = Doc.AllTables.CreateNewItem(kElsTable); var ElTypeNodes = [[1, 10, "1, 3"], [2, 10, "2, 4"], [3, 10, "3, 4"]]; Els.SetContents(ElTypeNodes); //Переносим таблицы в расчётную схему var strErrors1; var strErrors2; Nodes.Apply(strErrors1); Els.Apply(strErrors2); } //Вызываем функцию CreatePortalFrame6x3m();
LiraFemApiTest.js.LiraFemApiTest.js, только что сохранённому программой Блокнот.При выполнении файла запустится LIRA-FEM, и в нём будет создана новая расчётная схема, состоящая из 4 узлов и 3 элементов:
Зная объектную модель LIRA-FEM API (её описание приведено ниже), можно легко написать программу на JavaScript. Однако более удобными могут оказаться компилируемые языки, такие как C#, поскольку они позволяют просматривать информацию о типах объектов LIRA-FEM API.
При выполнении этого примера будет создана такая же рама, как и в предыдущем примере, написанном на JavaScript. Для разработки программы на Visual Basic for Applications в этом примере мы будем использовать Microsoft Excel.
Alt+F11, чтобы открыть VBA.F5.' Функция создания П-образной рамы 6х3 м Sub CreatePortalFrame6x3m() ' Запускаем ВИЗОР Dim App As LiraApplication Set App = New LiraApplication ' Создаём в нём новую расчётную схему: Dim Doc As LiraDocument Set Doc = App.CreateNewDocument() ' Создаём и заполняем таблицу координат узлов ' (для примера таблицу формируем как табулированный текст): Dim Nodes As LiraTable Set Nodes = Doc.AllTables.CreateNewItem(LiraTableEnum.kLiraTable_Nodes_Coordinates) Dim NodeCoords As String NodeCoords = _ "1" & vbTab & "0" & vbTab & "0" & vbTab & "0" & vbCrLf & _ "2" & vbTab & "6" & vbTab & "0" & vbTab & "0" & vbCrLf & _ "3" & vbTab & "0" & vbTab & "0" & vbTab & "3" & vbCrLf & _ "4" & vbTab & "6" & vbTab & "0" & vbTab & "3" Nodes.SetContents (NodeCoords) ' Создаём и заполняем таблицу элементов ' (для примера таблицу формируем как табулированный текст): Dim Els As LiraTable Set Els = Doc.AllTables.CreateNewItem(LiraTableEnum.kLiraTable_Elements_TypeAndNumbersOfNodes) Dim ElTypeNodes As String ElTypeNodes = _ "1" & vbTab & "10" & vbTab & "1, 3" & vbCrLf & _ "2" & vbTab & "10" & vbTab & "2, 4" & vbCrLf & _ "3" & vbTab & "10" & vbTab & "3, 4" Els.SetContents (ElTypeNodes) ' Переносим таблицы в расчётную схему Dim Errs1 As String Nodes.Apply (Errs1) Dim Errs2 As String Els.Apply (Errs2) End Sub
При выполнении этого примера будет создана такая же рама, как и в предыдущем примере, написанном на JavaScript. Для разработки программы на C# в этом примере мы будем использовать Microsoft Visual Studio. Её бесплатную версию, Microsoft Visual Studio Community Edition, можно загрузить с веб-сайта microsoft.com.
Создание нового проекта.
Выберите пункт меню File --> New --> Project, выберите тип проекта Visual C# Console App. В поле Name укажите LiraFemApiTest, в поле Location – рабочий стол и нажмите OK.
Добавление ссылки на библиотеку типов LIRA-FEM API.
Перейдите в окно Solution Explorer и щёлкните правой кнопкой мыши на элементе References. В открывшемся контекстном меню выберите пункт Add Reference... На вкладке COM выберите строку LIRA-FEM и нажмите OK.
Если вы не видите строки LIRA-FEM в списке, значит библиотека типов LIRA-FEM API не зарегистрирована. Переустановите LIRA-FEM или запустите x64\LiraFEM.exe с ключом /register от имени администратора.
Добавление тела программы.
Откройте файл Program.cs и замените его содержимое следующим:
using LiraFem; namespace LiraFemApiTest { class Program { static void CreatePortalFrame6x3m() { // Запускаем ВИЗОР LiraApplication App = new LiraApplication(); // Создаём в нём новую расчётную схему: LiraDocument Doc = App.CreateNewDocument(); // Создаём и заполняем таблицу координат узлов: LiraTable Nodes = Doc.AllTables.CreateNewItem(LiraTableEnum.kLiraTable_Nodes_Coordinates) as LiraTable; object NodeCoords = new object[4, 4] { { 1, 0.0, 0.0, 0.0 }, { 2, 6.0, 0.0, 0.0 }, { 3, 0.0, 0.0, 3.0 }, { 4, 6.0, 0.0, 3.0 } }; Nodes.SetContents(NodeCoords); // Создаём и заполняем таблицу элементов: LiraTable Els = Doc.AllTables.CreateNewItem(LiraTableEnum.kLiraTable_Elements_TypeAndNumbersOfNodes) as LiraTable; object ElTypeNodes = new object[3, 3] { { 1, 10, "1, 3" }, { 2, 10, "2, 4" }, { 3, 10, "3, 4" } }; Els.SetContents(ElTypeNodes); // Переносим таблицы в расчётную схему Nodes.Apply(out string strErrors1); Els.Apply(out string strErrors2); } static void Main(string[] args) { // Вызываем функцию создания рамы CreatePortalFrame6x3m(); } } }
Компиляция программы.
Выберите пункт меню Build --> Build Solution
Запуск программы.
Выберите пункт меню Debug --> Start Debugging.
При выполнении этого примера запустится LIRA-FEM, и в нём будет создана новая расчётная схема, состоящая из 4 узлов и 3 элементов, такая же, как и в примере с кодом JavaScript из предыдущего раздела.
Данная версия API представлена пятью объектами: программа, документ, таблица ввода, группа таблиц ввода и единицы измерения. Объект программы соответствует главному окну системы ВИЗОР, документ – расчётной схеме ВИЗОР (*.lir-файлу), таблица ввода и группа таблиц ввода соответствуют одноимённым объектам пользовательского интерфейса. Диаграмма вложенности объектов представлена ниже:
LiraApplication Объект программы ¦ ¦--LiraDocument Документ или расчётная схема ¦ ¦ ¦ '--LiraTables Группа таблиц ввода, включая все таблицы ввода документа ¦ ¦ ¦ ¦--LiraTableGroup Группа таблиц ввода документа ¦ ¦ ¦ ¦ '----'--LiraTable Таблица ввода документа ¦ '--LiraMeasurementUnits Управление единицами измерения
Получение информации о свойствах и методах каждого объекта LIRA-FEM API возможно в Visual Studio с помощью инструмента Object Browser.
Object Browser содержит описание каждого свойства и метода объектов LIRA-FEM API. Перед программным заполнением содержимого таблиц ввода рекомендуется изучить их заполнение вручную через пользовательский интерфейс, выбрав на вкладке Расширенное редактирование, панель Инструменты команду Таблицы ввода.
Заметили ошибку? Выделите ее и нажмите Ctrl+Enter, чтобы сообщить нам.
Комментарии