LIRA‑FEM API позволяет управлять системой ВИЗОР из других программ, например из Microsoft Excel, с использованием языков программирования, поддерживающих технологию ActiveX или COM, таких как Visual Basic Script, JavaScript, C#, Java, Visual Basic, Visual Basic.NET, C++, Delphi и др.

Содержание


Быстрый старт: пример использования LIRA-FEM API на языке JavaScript


Для использования LIRA-FEM API не требуется никаких специальных программ, кроме текстового редактора. Проиллюстрируем это пошаговой инструкцией.

  1. Откройте программу Блокнот.
  2. Вставьте в него следующий текст:

     //Функция создания П-образной рамы 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();
    
  3. Выберите команду Файл --> Сохранить, тип файла Все файлы (*.*) и сохраните текст на рабочем столе под именем LiraFemApiTest.js.
  4. Выполните двойной щелчок по файлу LiraFemApiTest.js, только что сохранённому программой Блокнот.

При выполнении файла запустится LIRA-FEM, и в нём будет создана новая расчётная схема, состоящая из 4 узлов и 3 элементов:

Рис.1

Рис.1

Зная объектную модель LIRA-FEM API (её описание приведено ниже), можно легко написать программу на JavaScript. Однако более удобными могут оказаться компилируемые языки, такие как C#, поскольку они позволяют просматривать информацию о типах объектов LIRA-FEM API.


Создание геометрии П-образной рамы длиной 6 и высотой 3 м на языке Visual Basic


При выполнении этого примера будет создана такая же рама, как и в предыдущем примере, написанном на JavaScript. Для разработки программы на Visual Basic for Applications в этом примере мы будем использовать Microsoft Excel.

  1. Запустите Microsoft Excel.
  2. Нажмите Alt+F11, чтобы открыть VBA.
  3. В меню выберите команду Tools --> References.
  4. В открывшемся окне References отметьте флажком LIRA-FEM 2026 и нажмите OK. Теперь вы можете использовать объекты LIRA-FEM API и просматривать их свойства и методы в окне Object Browser (команда View --> Object Browser).
  5. Выполните двойной щелчок на Лист1 в окне Project.
  6. В открывшемся окне введите следующую функцию и запустите её на выполнение клавишей 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

Создание геометрии П-образной рамы длиной 6 и высотой 3 м на языке C#


При выполнении этого примера будет создана такая же рама, как и в предыдущем примере, написанном на JavaScript. Для разработки программы на C# в этом примере мы будем использовать Microsoft Visual Studio. Её бесплатную версию, Microsoft Visual Studio Community Edition, можно загрузить с веб-сайта microsoft.com.

  1. Запустите Visual Studio.
  2. Создание нового проекта.

    Выберите пункт меню File --> New --> Project, выберите тип проекта Visual C# Console App. В поле Name укажите LiraFemApiTest, в поле Location – рабочий стол и нажмите OK.

    Рис.1

    Рис.2
  3. Добавление ссылки на библиотеку типов LIRA-FEM API.

    Перейдите в окно Solution Explorer и щёлкните правой кнопкой мыши на элементе References. В открывшемся контекстном меню выберите пункт Add Reference... На вкладке COM выберите строку LIRA-FEM и нажмите OK.

    Рис.3

    Рис.3

    Если вы не видите строки LIRA-FEM в списке, значит библиотека типов LIRA-FEM API не зарегистрирована. Переустановите LIRA-FEM или запустите x64\LiraFEM.exe с ключом /register от имени администратора.

  4. Добавление тела программы.

    Откройте файл 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

  5. Запуск программы.

    Выберите пункт меню Debug --> Start Debugging.

    При выполнении этого примера запустится LIRA-FEM, и в нём будет создана новая расчётная схема, состоящая из 4 узлов и 3 элементов, такая же, как и в примере с кодом JavaScript из предыдущего раздела.


Объектная модель LIRA-FEM API


Данная версия API представлена пятью объектами: программа, документ, таблица ввода, группа таблиц ввода и единицы измерения. Объект программы соответствует главному окну системы ВИЗОР, документ – расчётной схеме ВИЗОР (*.lir-файлу), таблица ввода и группа таблиц ввода соответствуют одноимённым объектам пользовательского интерфейса. Диаграмма вложенности объектов представлена ниже:

LiraApplication	Объект программы
  ¦
  ¦--LiraDocument	Документ или расчётная схема
  ¦    ¦                                                
  ¦    '--LiraTables	Группа таблиц ввода, включая все таблицы ввода документа
  ¦         ¦                                               
  ¦         ¦--LiraTableGroup	Группа таблиц ввода документа
  ¦         ¦    ¦
  ¦         '----'--LiraTable	Таблица ввода документа
  ¦
  '--LiraMeasurementUnits	Управление единицами измерения

Получение информации о свойствах и методах каждого объекта LIRA-FEM API


Получение информации о свойствах и методах каждого объекта LIRA-FEM API возможно в Visual Studio с помощью инструмента Object Browser.

Рис.1

Рис.4

Object Browser содержит описание каждого свойства и метода объектов LIRA-FEM API. Перед программным заполнением содержимого таблиц ввода рекомендуется изучить их заполнение вручную через пользовательский интерфейс, выбрав на вкладке Расширенное редактирование, панель Инструменты команду Таблицы ввода.

Заметили ошибку? Выделите ее и нажмите Ctrl+Enter, чтобы сообщить нам.

  • 23
Поделиться публикацией:


Комментарии

Написать