EvaluateCollectionExpressionResult EvaluateCollectionExpressions(OdId tObject, EvaluateCollectionExpressionArg tArg)
tObject. Моникёр модуля, который запущен в режиме отладки.
tArg. Параметры выполнения операции.
Операция EvaluateCollectionExpressions вычисляет выражение, результатом которого будет множество значений.
Операция позволяет в режиме отладки вычислить выражение, результатом которого будет массив, матрица или коллекция значений. Для выполнения операции укажите в поле tObject моникёр объекта, находящегося в режиме отладки, а в поле tArg параметры вычисления выражения.
Результатом выполнения операции будет полученное множество значений и информация о измерениях, которые это множество формируют.
Ниже приведён пример вычисления выражения, возвращающего множество значений. В запросе передаётся моникёр модуля, находящегося в режиме отладки, и вычисляемое выражение. В ответе возвращаются полученные значения.
{
"EvaluateCollectionExpressions" :
{
"tObject" :
{
"id" : "EDOPGFIAGFBOFOAENKGBHKMMBAJLIDKEDLEKONHMPDMJLCHN!M!305383"
},
"tArg" :
{
"expression" : "ResultMatrix"
}
}
}
{
"EvaluateCollectionExpressionsResult" :
{
"matrixResult" :
{
"dimensions" :
{
"it" :
[
"3",
"4"
]
},
"keys" :
{
"it" :
[
"0",
"1",
"2",
"0",
"1",
"2",
"3"
]
},
"values" :
{
"it" :
[
"3.220628311244681",
"2.944056423817746",
"2.762968961482369",
"2.652021025262234",
"2.720724827798729",
"2.895596386255474",
"2.907073790668661",
"2.794850570948003",
"2.429964700486113",
"2.572954698507732",
"2.816530059500973",
"3.151924435162425"
]
}
}
}
}
public static EvaluateCollectionExpressionResult EvaluateCollectionExpressions(MbId mb, string modId, string evaluateExpression)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tGet = new EvaluateCollectionExpressions()
{
tArg = new EvaluateCollectionExpressionArg()
{
expression = evaluateExpression
},
// Формирование моникёра объекта
tObject = new OdId() { id = mb.id + "!" + FindObjectById(mb, modId).k }
};
// Вычисление выражения
var result = somClient.EvaluateCollectionExpressions(tGet);
return result;
}
См. также: