Доброго времени суток. Пытаюсь рекурсивно вытащить все спецификации из сборки. Получился следующий код.
Скрытый текст |
---|
[CODE]using System.IO; using TFlex.Model; using TFlex.Model.Model3D; using TFlex.Model.Data.ProductStructure;
namespace Test { public class AsmInfo { private static readonly Document document = TFlex.Application.OpenDocument(@"C:\абв.0.0\абв.0.0 Сборка 0.grb", false, true); private static string path;
public static void Run() { if (document == null) return; ExportProductStructureToExcel(document); }
private static void ExportProductStructureToExcel(Document document) { ProductStructureExcelExportOptions options = new ProductStructureExcelExportOptions(); //options.Silent = true; options.FilePath = document.FileName + @".xlsx"; foreach(Variable v in document.GetVariables()) { if(v.Name == "$Раздел_СП") { if (v.TextValue == "Спецификации\\Сборочные единицы") { foreach (var ps in document.GetProductStructures()) { var scheme = ps.GetScheme(); if (scheme.Name == "Спецификация") { options.FilePath = document.FilePath; ps.ExportToExcel(options); } } } } } foreach (var i in document.GetFragments3D()) { Document fragment = TFlex.Application.OpenFragmentDocument(i.FullFilePath); if (true) ExportProductStructureToExcel(fragment); } } } } [/CODE] |
Сохранение работает, .xlsx (или .xml, если везде в коде заменить "Excel" на "Xml") файлы создаются, но с подтверждением и заданием имени файла. Хотелось бы это все сделать без вывода окна подтверждения.
Разкоментировав строку [CODE] //options.Silent = true;[/CODE]
выходит ошибка (1 картинка ошибка экспорта в Xml, 2 картинка - Excel)
Как можно исправить мой код, или как сделать по другому?
Так же не нашел как экспортировать в файл с расширением .csv, при экспорте через интерфейс программы такое есть.
На всякий случай прикрепляю сборку на которой тестирую.