Главная / API / Примеры кода на API / Объект документа T-FLEX CAD / Базовый класс объекта 2D модели / Фрагмент


Фрагмент

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

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

public class FragmVarClass
{

public static FragmentVariableValue GetFrTextVariable(Document document, Fragment fr, string fr_varname)
{

//получение текстовой переменной фрагмента по имени

//Пример вызова функции:
//FragmentVariableValue fr_var = F.FrVar.GetFrTextVariable(document, fr, string fr_varname);

//перебираем переменные фрагмента
foreach (FragmentVariableValue fr_var in fr.VariableValues)

if (fr_var.Name == fr_varname && fr_var.IsText)

return fr_var;//возвращает найденную переменную

//Создается диагностическое сообщение
Diagnostics diagnos = document.Diagnostics;
diagnos.Add(new DiagnosticsMessage(DiagnosticsMessageType.Information,
"Переменная " + fr_varname + " не была найдена во фрагменте " + fr.FilePath));

return null;//возвращает null, если текстовая переменная с именем
//fr_varname не существует

}

}

*****************************************************************************************************************************
public static FragmentVariableValue GetFrRealVariable(Document document, Fragment fr, string fr_varname)
{

//получение вещественной переменной фрагмента по имени

//FragmentVariableValue fr_var = F.FrVar.GetFrRealVariable(document, fr, string fr_varname);

foreach (FragmentVariableValue fr_var in fr.VariableValues)
if (fr_var.Name == fr_varname && !fr_var.IsText)
return fr_var;

Diagnostics diagnos = document.Diagnostics;
diagnos.Add(new DiagnosticsMessage(DiagnosticsMessageType.Information,
"Переменная " + fr_varname + " не была найдена во фрагменте " + fr.FilePath));

return null;

}