Главная / API / Примеры кода на API / Объект документа T-FLEX CAD / Переменная


Переменная

private void createVariable()//Создать новую переменную с параметрами
{

tfcontrol.Document.BeginChanges("Создать переменную");

Variable newVar = new Variable(tfcontrol.Document, "Имя переменной", 0 /*значение переменной*/, true /*пометка как внешняя*/);

tfcontrol.Document.EndChanges();

}

*****************************************************************************************************************************

private void editVariable()//Редактировать существующую переменную
{

tfcontrol.Document.BeginChanges("Создать переменную");

foreach (Variable existentVar in tfcontrol.Document.Variables)//Цикл, перебирающий переменные документа
{

if (existentVar.Name == "Имя_существующей_переменной")
{

existentVar.Expression = "14";//Задаем значение переменной

existentVar.Comment = "Комментарий";//Записываем комментарий

existentVar.GroupName = "Имя группы переменной";//Назначаем группу для переменной

double expressionRealVar = existentVar.RealValue;//Считываем значение вещественной переменной

string expressionTextVar = existentVar.TextValue;//Считываем значение текстовой переменной

}

}

tfcontrol.Document.EndChanges();

}


//От Роман(Brom25)

/*Функции для работы с переменными, которые в некоторых случаях могут быть полезны.
* Эти функции могут вызываться из любого метода, тем самым во многих случаях сокращая код*/

class VariableClass
{

//в скобках указаны переменные, передаваемые функции как входные данные
public static Variable GetVar(Document document, string var_name)
{

//функция возвращает переменную с заданным именем
//Пример вызова функции:
//Variable = F.Var.GetVar(document, name);

foreach (Variable var in document.Variables)
{

if (var.Name == var_name)
{

return var;

}

}

//если переменная не была найдена, то в окне диагностики появится соответствующее сообщение
Diagnostics diagnos = document.Diagnostics;
diagnos.Add(new DiagnosticsMessage(DiagnosticsMessageType.Information, "Переменная " + var_name + " не была найдена."));
return null;

}

}

*****************************************************************************************************************************

//в скобках указаны переменные, передаваемые функции как входные данные
public static Variable SetVar(Document document, string var_name, string var_exp)
{

//функция создает переменную с указанным выражением или, если переменная
//уже существует, меняет выражение существующей переменной
//Пример вызова функции:
//Variable = F.Var.SetVar(document, name, expression);

Variable var = GetVar(document, var_name);

if (var != null)
{

var.Expression = var_exp;
return var;

}

var = new Variable(document, var_name, var_exp);
return var;

}