ЛИРА-САПФИР API

 

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

 

В этом разделе:

Быстрый старт: пример использования ЛИРА-САПФИР API на языке Java Script

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

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

Объектная модель ЛИРА-САПФИР API

Получение информации по свойствам и методам каждого объекта ЛИРА-САПФИР API

 

 

Быстрый старт: пример использования ЛИРА-САПФИР API на языке Java Script

 

Чтобы начать использовать ЛИРА-САПФИР API, не требуются никакие специальные программы, кроме текстового редактора. Проиллюстрируем это пошаговой инструкцией.

 

  1. Запустите программу Блокнот.

  2. Вставьте в него следующий текст:

            //Функция создания П-образной рамы 6х3 м
            function CreatePortalFrame6x3m()
            {
                //Запускаем ВИЗОР
                var App = new ActiveXObject("LiraSapphire.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();
        
  1. Выберите команду Файл > Сохранить, тип файла Все файлы (*.*) и сохраните текст на рабочем столе под именем LiraSapphireApiTest.js.

  2. Выполните двойной щелчок на файле LiraSapphireApiTest.js, только что записанный программой Блокнот.

 

При выполнении файла запустится ЛИРА-САПФИР, и в ней создастся новая расчетная схема, состоящая из 4-х узлов и 3-х элементов:

 

 

Зная объектную модель ЛИРА-САПФИР API – а она описана ниже – можно легко составить программу на Java Script. Однако более удобными могут оказаться компилируемые языки наподобие C# в силу того, что они позволяют просматривать информацию о типах объектов ЛИРА-САПФИР API.

 

 

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

 

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

 

  1. Запустите Microsoft Excel.

  2. Нажмите Alt+F11, чтобы открыть VBA.

  3. В меню выберите команду Tools > References.

  4. В появивишемся окне References отметьте галочкой LIRA-SAPPHIRE 2025 Type Library и нажмите OK. Теперь вы можете использовать объекты ЛИРА-САПФИР 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_TypeAndNodes)
    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 (strErrs2)
End Sub

 

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

 

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

 

  1. Запустите Visual Studio.

  2. Создание нового проекта.

    Выберите пункт меню File > New > Project, выберите тип проекта Visual C# Console App. В качестве имени Name проекта укажите LiraSapphireApiTest, а в качестве расположения Location укажите ваш рабочий стол и нажмите ОК.




  3. Добавление ссылки на библиотеку типов ЛИРА-САПФИР API.

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




    Если вы не видите строки LIRA-SAPPHIRE Type Library в списке, значит библиотека типов ЛИРА-САПФИР API не зарегистрирована. Выполните переустановку LIRA-SAPPHIRE или запустите LS.exe с ключом /register от имени администратора.

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

    Откройте файл Program.cs и замените его содержимое на следующее:

              using LiraSapphire;
    
              namespace LiraSapphireApiTest
              {
                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_TypeAndNodes) 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.
    При выполнении этого примера запустится ЛИРА-САПФИР, и в ней создастся новая расчетная схема, состоящая из 4-х узлов и 3-х элементов, в точности такая же, какая создается кодом Java Script из предыдущего подраздела.

 

 

Объектная модель ЛИРА-САПФИР API

 

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

 

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

 

 

Получение информации по свойствам и методам каждого объекта ЛИРА-САПФИР API

 

Получение информации по свойствам и методам каждого объекта ЛИРА-САПФИР API возможно в Visual Studio при помощи инструмента Object Browser

 

 

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