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

Зная объектную модель ЛИРА-САПФИР API – а она описана ниже – можно легко составить программу на Java Script. Однако более удобными могут оказаться компилируемые языки наподобие C# в силу того, что они позволяют просматривать информацию о типах объектов ЛИРА-САПФИР API.
Создание геометрии П-образной рамы длиной 6 и высотой 3 м, на языке Visual Basic
При выполнении этого примера создастся точно такая же рама, как и в предыдущем примере, написанном на Java Script. Для разработки программы на Visual Basic for Applications в этом примере мы будем использовать Microsoft Excel.
Запустите Microsoft Excel.
Нажмите Alt+F11, чтобы открыть VBA.
В меню выберите команду Tools > References.
В появивишемся окне References отметьте галочкой LIRA-SAPPHIRE 2025 Type Library и нажмите OK. Теперь вы можете использовать объекты ЛИРА-САПФИР API и просматривать их свойства и методы в окне Object Browser (команда View > Object Browser).
Сделайте двойной щелчок на Лист1 в окне Project.
В открывшемся окне введите следующую функцию и запустите ее на выполнение клавишей 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.
Запустите Visual Studio.
Создание нового проекта.
Выберите пункт меню File > New > Project, выберите тип проекта Visual C# Console App. В качестве имени Name проекта укажите LiraSapphireApiTest, а в качестве расположения Location укажите ваш рабочий стол и нажмите ОК.

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

Если вы не видите строки LIRA-SAPPHIRE Type Library в списке, значит библиотека типов ЛИРА-САПФИР API не зарегистрирована. Выполните переустановку LIRA-SAPPHIRE или запустите LS.exe с ключом /register от имени администратора.
Добавление тела программы.
Откройте файл 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
Запуск программы.
Выберите пункт меню 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. Перед программным заполнением содержимого таблиц ввода рекомендуется исследовать их заполнение вручную, из пользовательского интерфейса, выбрав на вкладке Расширенное редактирование, панель Инструменты команду Таблицы ввода.