bool SetCollectionExpressionValue(OdId tObject, SetCollectionExpressionValueArg tArg)
tObject. Моникёр модуля, который запущен в режиме отладки.
tArg. Параметры выполнения операции.
Операция SetCollectionExpressionValue изменяет значение в выражении, принимающем множественные значения.
Операция позволяет изменить одно из значений в массиве, матрице или коллекции. Для выполнения операции укажите в поле tObject моникёр объекта, находящегося в режиме отладки, а в поле tArg параметры изменения значения.
Результатом выполнения операции будет логическое значение true, если изменение значения завершилось успешно.
Ниже приведён пример изменения значения в матрице. В запросе передаётся моникёр модуля, находящегося в режиме отладки, наименование переменной с матрицей, координаты и новое устанавливаемое значение. В ответе возвращаются признак успешного изменения значения.
{
"SetCollectionExpressionValue" :
{
"tObject" :
{
"id" : "EDOPGFIAGFBOFOAENKGBHKMMBAJLIDKEDLEKONHMPDMJLCHN!M!305383"
},
"tArg" :
{
"expression" : "newMatrix",
"key" :
{
"it" :
[
"1",
"1"
]
},
"value" : "1.234"
}
}
}
{
"SetCollectionExpressionValueResult" : "1"
}
public static bool SetCollectionExpressionValue(MbId mb, string modId, string evaluateExpression, string[] coord, string newValue)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tSet = new SetCollectionExpressionValue()
{
tArg = new SetCollectionExpressionValueArg()
{
expression = evaluateExpression
},
// Формирование моникёра объекта
tObject = new OdId() { id = mb.id + "!" + FindObjectById(mb, modId).k }
};
// Изменение значения
var result = somClient.SetCollectionExpressionValue(tSet);
return result;
}
См. также: