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


Замена полных путей форматок в документе на относительные пути

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

public class FormatkaPathClass//Замена полных путей форматок в документе на относительные пути
{

public static void ReplaceFormatkaPath()
{

Document document = TFlex.Application.ActiveDocument;
document.BeginChanges("замена путей");

bool path_was_replaced = false;//флаг - "произведено изменение путей"
string path;

foreach (Fragment fr in document.Fragments)
{

path = fr.FilePath;
//Следующее условие отсекает все, что не относится к форматкам,
//а также форматки с относительными путями

if (path.IndexOf("Форматки") != -1 && path.IndexOf("<Форматки>") == -1)
{

//удаляем из строки все что находится до последного вхождения
//подстроки "Форматки"

path = path.Substring(path.LastIndexOf("Форматки"));


//Меняем подстроку "Форматки\" на подстроку "<Форматки>"
path = path.Replace("Форматки\\", "<Форматки>");
fr.FilePath = path;//изменяем путь
path_was_replaced = true;

}

}

if (!path_was_replaced)//если ни одного переименования не произведено
document.CancelChanges();
document.EndChanges();

}

}